-- 作者:fiveight
-- 发布时间:1/6/2010 11:20:00 AM
-- 高校操作系统实验教学解决方案——操作系统集成实验环境OS Lab
http://www.tevation.com 操作系统是高等院校计算机专业的一门重要基础课,也是众所周知的教学难度很大的一门课,其难点主要在于实验教学环节。为了降低操作系统实验教学的难度,北京海西慧学科技有限公司经过三年的潜心研究,成功开发出了操作系统集成实验环境 —— Tevation™ OS Lab™(以下简称 OS Lab)。 OS Lab 很好地解决了高校目前采用的实验方案所遇到的各种问题,可以使学生在有限的时间内深入操作系统内核做真正的操作系统实验,帮助学生加深对操作系统设计原理和算法的理解。 OS Lab 主要包括一个面向教学的开源操作系统 EOS 和一个用于编辑、编译和调试 EOS 的可视化 IDE 环境,下面分别对 EOS 和 IDE 环境的主要特点进行介绍。 •EOS 特点如下: ◦EOS 不仅是一个教学操作系统,还是一个比较贴合实际的操作系统。EOS 融合了 Windows 和 Linux 的设计理念,使用了对象技术,其结构介于微内核和宏内核之间,API 和 Windows 基本一致,可以使学生了解目前实际操作系统的技术。 ◦提供了包括引导程序在内的全部 EOS 源代码,源代码可读性极高。EOS 源代码总数被控制在一万行(通常低于一万行的源代码才认为是可读的),全部由汇编语言和 C 语言编写,包含了大量用于帮助学生理解代码的注释,学生可以在短时间内通读并理解全部源代码。 ◦实验门槛低。EOS 的进程管理、内存管理、IO 管理等模块间的耦合性极低,学生在做各模块的实验时,不必了解其它模块,很容易入门。另外,还提供了 EOS 参考手册,对各个模块进行了详细的介绍。 ◦提供基于 EOS 的实验指导(参见后面的实验内容清单)。每个实验都提供了检验实验结果正确与否的方法,可以有效降低教师验收实验的劳动强度。由于 EOS 的灵活性和可扩充性都很高,教师可以根据学生和教学情况调整实验的难度,还可以设计新的实验题目、课程设计和毕业设计,我们可以提供全面的服务。 •IDE 环境特点如下: ◦安装运行在 Windows 上,用于实验的 PC 无需安装多种操作系统,大大降低了实验室的管理难度。 ◦类似 Visual Studio 的可视化 IDE 环境,易学易用。 ◦一键编译 EOS。修改完 EOS 源代码后,按 F7 即可完成对整个 EOS 的编译和链接,生成 EOS 的引导程序、加载程序和内核程序,同时生成用于开发 EOS 应用程序的 SDK 文件夹。 ◦一键启动调试 EOS。按 F5 即可将编译好的 EOS 引导程序、加载程序和内核程序装入软盘镜像,并启动虚拟机(Virtual PC 或 Bochs),开始对 EOS 的调试执行。OS Lab 支持 C 源码级的 EOS 内核调试,支持反汇编,可在内核中设置断点,可随意查看、修改内核变量和 CPU 寄存器的值。 ◦可以编译和调试 EOS 应用程序。 ◦可以编译和调试 Windows 的 C/C++ 应用程序。 ◦可以统计学生的实验活跃时间,为老师提供准确的实验课考勤依据。 一句话对 OS Lab 的概括:好比组成原理实验箱,OS Lab 就是操作系统实验箱。 希望我们的努力能够帮助您培养出基础知识更扎实的学生。 实验内容清单 一、实验环境的使用 •熟悉操作系统集成实验环境 OS Lab 的基本使用方法。 •练习编译、调试 EOS 操作系统内核以及 EOS 应用程序。 二、操作系统的启动 • 跟踪调试 EOS 在 PC 机上从加电复位到成功启动的全过程,了解操作系统的启动过程。 三、进程的创建 •编程使用 EOS API 函数 CreateProcess 创建一个进程,掌握创建进程的方法,理解进程和程序的区别。 •调试跟踪 CreateProcess 函数的执行过程,了解进程的创建过程,理解进程是资源的分配单位。 四、进程的同步 •使用 EOS 的信号量编程解决生产者—消费者问题,理解进程同步的意义。 •调试跟踪 EOS 的信号量的工作过程,理解进程同步的原理。 •修改 EOS 信号量算法,使之支持等待超时唤醒功能(有限等待),加深理解进程同步的原理。 五、时间片轮转调度 •为 EOS 调度器添加时间片轮转调度算法。 •编写多线程应用,每个线程有相同优先级,验证时间片轮转调度算法。 六、为线程调度增加挂起状态 •为 EOS 中的线程就绪、阻塞状态添加对应的挂起状态。 •添加两个 API 函数 SuspendThread、ResumThread,分别用于将线程挂起和恢复。 七、内存池分配算法 •将内核系统内存池的分配算法由伙伴算法修改为最先适配法。 •分析两种分配算法的优缺点。 八、分页存储器管理 •了解 Intel 80386 处理器的二级页表硬件机制。 •了解 EOS 启动并初始化内存管理后虚拟内存的布局,在 OS Lab 调试器中查看页表和页目录的内容。 •使用 OS Lab 调试器手工建立一个页表并修改相应的页目录项和页表项,分别使用虚拟地址和物理地址对此页表映射的内存进行读写来验证映射的正确性。加深对分页存储器管理原理的理解。 九、设备驱动程序 •调试 EOS 串口驱动程序执行写请求的处理过程,了解驱动程序工作原理和意义,理解中断在设备 I/O 中的重要作用。 •为串口驱动程序增加读请求的处理过程,进一步加深对驱动程序的理解。 十、FAT12 文件系统 •了解软盘 FAT12 文件系统。 •目前 EOS 的 FAT12 文件系统是只读的,为之增加写文件功能,加深理解磁盘存储器管理原理
|