操作系统实验:中断与异常,键盘输入回显及查找模式

需积分: 0 0 下载量 27 浏览量 更新于2024-08-05 收藏 118KB PDF 举报
"本次实验是南京大学软件学院2017年操作系统课程的第三次实验,主要涉及操作系统的中断与异常、I/O操作及其机制,以及实模式和保护模式下的中断异同。实验要求学生在已有的nasm+bochs实验平台上编写一个操作系统级别的I/O程序,实现键盘输入和屏幕回显功能,包括处理大小写切换、退格键、回车键、空格键和Tab键。此外,还需要支持20秒左右自动清屏和Esc键启动的查找模式。实验的评分标准除了基本功能外,还要求对空白符的处理,如连续回车、退格键的特殊行为,以及Tab键的对齐功能。实验过程中,学生需使用makefile进行构建,并确保程序能在保护模式下运行。完成实验需参考《Orange’s》的特定章节。提交材料应包括代码和运行截图,makefile需支持makerun命令以方便启动程序。" 实验详细知识点解析: 1. **中断与异常**:操作系统通过中断和异常来处理硬件事件和错误。中断是由硬件产生的信号,比如键盘输入或定时器到期;异常则通常由软件触发,如执行了非法指令。操作系统需要建立中断处理机制,包括中断向量表和中断服务程序,以响应这些事件。 2. **I/O操作及机制**:实验中的键盘输入和屏幕输出是典型的I/O操作。在实模式和保护模式下,I/O操作的处理方式不同。实模式下,I/O指令直接访问硬件;而在保护模式,通常使用中断或I/O端口映射技术,以增强系统安全性。 3. **实模式与保护模式**:实模式是80x86处理器的初始模式,提供无限制的物理地址访问,但没有内存保护。保护模式引入了内存保护和多任务处理,允许操作系统控制资源访问。 4. **键盘输入处理**:实验要求处理各种键盘输入,包括字母、数字、Shift键、大写锁定、回车键、退格键、空格键和Tab键。这涉及到键盘扫描码的解析,以及状态寄存器的管理,以实现键位转换和组合键识别。 5. **屏幕输出与光标管理**:输出字符到屏幕需要理解显示器的工作原理,如字符映射和视频内存管理。光标位置的更新是关键,以显示输入的位置。 6. **定时器与屏幕清空**:20秒自动清屏需要一个定时器中断,当定时器溢出时触发清屏操作。这涉及到中断服务程序的设计和定时器配置。 7. **查找模式**:实验要求实现一个查找模式,允许用户输入关键字并高亮显示匹配的文本。这涉及到内存搜索算法和颜色编码。 8. **空白符处理**:实验的高级要求涉及空白符(空格和回车)的特殊处理,包括连续回车的删除、退格键的复杂行为和Tab键的对齐功能。这些都反映了实际文本编辑器中的常见功能。 9. **使用makefile**:makefile是自动化构建工具,用于编译、链接和生成可执行文件。实验中要求makefile支持makerun命令,简化了程序的启动流程。 10. **参考资料**:《Orange’s》是一本关于操作系统开发的书籍,学生需要阅读其中的相关章节以获取完成实验所需的知识。 通过这个实验,学生不仅会深入理解操作系统的底层机制,还能提升编程和系统设计能力。