当前位置:首页 >> 教学研究 >>

基于WRK的Windows操作系统原理实验教学探索_图文

基于WRK的Windows操作系统原理实验教学探索 摘 要: 本文介绍了我院根据 WRK 软件对现有教学内容和方式所做的改进, 并介绍了我院设计的一系列实验教学内容,实践证明可提高教学效果与质量,提 高学生在学习过程中的主动性、能动性以及动手实践能力。 关键词:操作系统原理;WRK;实验教学 1 引言 我国的本科生操作系统教学中通常包括两个部分, 一个是介绍操作系统原理 的课程教学, 另一个是课程实验教学。在课程教学中通常讲解操作系统的基本概 念和原理,并通过 Microsoft Windows、UNIX 或者 Linux 作为操作系统的示例。 操作系统原理中包含了很多的概念,如线程、虚拟内存、硬件抽象等等。在 教学中, 能够提供一个展示真实操作系统工作方式的环境是很重要的。但目前普 遍使用的教学平台大多是非真实的、模拟的环境,无法将操作系统的概念付诸实 际,这样就导致学生在学习的过程中,获得的只是一些空洞的知识,对操作系统 的理解也出现偏差。同时,与 UNIX 和 Linux 不同,对于广泛使用的 Microsoft Windows 操作系统, 其源代码和一些内核技术并没有公开, 一直以来无法在教学 中让学生了解更多有关微软操作系统的内核技术和实现。 在基于 Windows 的操作系统原理教学中,我们采用 WRK 作为操作系统课 程的教学实践平台。WRK 的全称是“Windows Research Kernel”,它不是一个商 业产品,而是微软为高校操作系统课程提供的可修改和跟踪的操作系统教学平 台,是微软公司将 Windows Kernel 的核心技术融入到高校的教学和科研中的产 物。它给出了 Windows 这个成功的商业操作系统的大部分内核代码,可以对其 进行修改、编译,并且可以用这个内核启动 Windows 操作系统,可让学生将操 作系统基本原理和商业操作系统内核联系起来, 进一步加深对操作系统整体的理 解。 本文基于 WRK 软件以及随软件配备的 WinDbg 调试工具对现有操作系统原 理本科生教学进行改进,设计一系列实验教学内容来提高 Windows 操作系统原 理教学的效果, 同时大大提高学生在学习过程中的主动性、能动性以及动手实践 能力。 2 WRK 的特点 2.1 可运行在真实的硬件平台 WRK 是建立在真实的 NT 内核基础上的,实现了线程调度、内存管理、I/O 管理、文件系统等操作系统所必需的组成部分,可以将编译出的内核放到装有 Windows 2003 的机器上,通过增加启动项,指定从 WRK 内核启动。通过修改 编译时的选项,可以支持 X86 和 AMD64 两种架构。 当然,我们也可以使用虚拟机运行 WRK。可以防止修改过的代码对真实的 硬件和文件系统产生负面影响;也可以方便地通过串口进行调试。 2.2 包含操作系统中很多概念的具体实现 WRK 中将 Windows 的大部分内核实现都展示出来,包括 CPU、内存管理、 进程和线程调度等机制。 2.3 调试比较方便,随机性使体验更加真实 一般来说,操作系统内核的调试需要两台计算机。一台作为宿主机,运行需 要调试的内核; 另一台作为调试机, 运行调试程序。 两台机器通过串口进行连接, 传送调试指令和调试数据。 因为 WRK 可以运行在虚拟机上, 我们可以通过一个命名管道连接虚拟机和 物理机。将虚拟机作为宿主机,而物理机器作为调试机来进行调试。 不确定性是操作系统所必须具有的特征。WRK 运行在真实的硬件平台上, 各种硬件中断的随机性和不确定性赋予了 WRK 天生的不确定性。当然,这个不 确定性对于我们也是具有两面性的,一方面展示的真实操作系统的特征;另一方 面,对于我们内核的调试也具有不确定性。 图 1 展示了 WRK 软件运行的截图示例。 3 实验教学内容规划 整体的实验教学过程由教师设计实验教学内容和学生完成实验学习两部分 完成。在教学中教师与学生互动共同实现教学内容。主要工作内容如图 2 所示。 首先,由教师完成实验内容设计、实验方案指导和实验材料,并且设计对各 种实验结果进行评测的方法。学生根据实验方案分析内核源代码并修改相关内 容,通过设计好的测试方法测试运行结果,评估修改算法。 教师的工作重点可以归纳为以下几个方面的内容。 3.1 编写有关 Windows 核心分析的教学和实验材料 基于 WRK 以及微软提供的课程材料,例如 CRK、TRK,在 Windows 操作 系统原理学习中加强操作系统内核分析并编写相应的教学和实验材料。 3.2 指导学生建设有关 Windows 内核分析的实验环境 实验环境配置包括以下工作: ●准备实验软件,包括 Windows Server 2003、Visual Studio 2007、Windows Research Kernel、Virtual PC 以及 WinDbg 工具; ●编写用于实验测试的程序; ●安装实验运行环境、Windows Server 2003 虚拟机系统; ●配置网络; ●在 WinXP 操作系统中编译 WRK; ●在 Windows Server 2003 虚拟机中使用 WRK 内核; ●建立 WRK 的 Debug 环境。 3.3 指导学生使用 WRK 分析 Windows 内核 在 WRK 正式在高校中公开使用之前,已在北大、南开等六个高校中开展教 学研究,并开发了四个典型实验示例,打包为教学资源工具集 TRK。基于 WRK 教学工具和这些实验示例,学生可以在实验中分析一些 Windows 操作系统源代 码,加深对其运行机制的理解。学生必须在熟悉 WRK 的基础上实践已有的实验 示例。 3.4 导学生对 Windows 内核进一步的学习 为了加强课程相关内容的教学效果, 需要调动学生在实践了已有的实验示例 之后,继续实践新的实验,包括通过操作系统经典问题程序在 WRK 中的运行状 态跟踪、动手修改 Windows 内核某些代码并测试运行

更多相关标签: