实现监控系统与用户程序交互:实验二操作详解

需积分: 0 0 下载量 154 浏览量 更新于2024-08-05 收藏 947KB PDF 举报
本篇实验报告主要涉及操作系统原理中的一个重要实践环节——监控系统的设计与实现。实验者吴侃,学号14348134,2014级计算机系一班,于2016年3月6日至9日进行了这次实验。 实验的核心目标是创建一个能运行并控制用户程序的监控系统。监控系统作为主引导程序被装载到内存的物理地址7c00h,当机器启动时,通过验证主引导程序的有效性(检查55aa魔数),然后跳转到监控程序的入口地址。 实验的实施分为以下几个关键步骤: 1. **监控系统的实现**:监控系统负责引导和管理整个系统。它位于磁头0、柱面0、扇区1,当机器启动时,通过读取扇区功能(使用中断13H的02H子功能)将监控程序载入内存。 2. **监控程序调用用户程序**:用户程序的加载是通过指定磁头、柱面、扇区位置进行的。实验者将用户程序放置在磁头0、柱面0、扇区2之后,使用中断机制来实现程序的交换和执行。首先,监控程序会将用户程序写入内存,并确保正确定位。 3. **用户程序的编写**:用户程序需要设计成能够响应中断并返回监控系统。用户程序的任务是实现动态字符输出,如让字符‘A’以45度角下斜运动,碰到屏幕边缘后反射并改变方向,同时允许个性化的扩展,比如控制多个运动轨迹或动态变色等功能。此外,还需在屏幕上显示学号和姓名等个人信息。 4. **键盘中断**:为了与用户交互,实验涉及到键盘中断处理,这可能涉及到中断处理程序的编写,以便接收用户的输入并相应地控制程序行为。 5. **中断向量表**:中断向量表是操作系统中用来记录中断处理程序地址的结构,对于正确处理和响应各种硬件中断至关重要。 6. **写入镜像**:这个概念可能指的是将用户程序或监控程序的映像写入磁盘,以便在系统重启时能恢复运行状态。 在整个实验过程中,实验者使用了NASM 2.11.08汇编工具和clang++ 3.7.1 C++编译器,以及ArchLinux 4.4.3-1操作系统和VMware Workstation 12 Pro虚拟机环境,对实验进行了实际操作。 通过这个实验,学生不仅深入理解了操作系统的工作原理,还锻炼了编程技能和系统级编程能力,尤其是在中断处理、内存管理以及用户程序与监控系统交互等方面。