Nachos模拟操作系统的实验教学应用.pdf
《Nachos模拟操作系统的实验教学应用.pdf》由会员分享,可在线阅读,更多相关《Nachos模拟操作系统的实验教学应用.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第l O 卷增刊2 0 1 0 年7 月广东工业大学学报(社会科学版)J o u r n a lo fG u a n g d o n gU n i v e r s i t yo fT e c h n o l o g y(S o c i a lS c i e n c e sE d i t i o n)V 0 1 1 0S u p p l J u l 2 0 1 0N a c h o s 模拟操作系统的实验教学应用钟灵程良伦黄永慧何小敏张钢(广东工业大学自动化学院,广东广州,5 1 0 0 0 6)摘要:为提高学生对操作系统核心功能和机制的理解,介绍了以N a c h o s 为平台的操作系统实验
2、教学方法。文章也提出了一种以S h e l l 程序扩展为基础的N a c h o s 教学方法,最后并给出实验流程和教学重点。关键词:模拟操作平台操作系统N a c h o s 教学应用中图分类号:G6 4 2文献标识码:A操作系统作为计算机、网络工程、信息安全等专业的核心课程之一,一直以来都存在教学的信息量大、难点内容较多、教学与实践脱节的问题。近年来国内操作系统的教材内容层出不穷,但其基础教学方式和结构并未发生重大改变,大部分院校主要以讲授操作系统4 大主要功能和算法原理为内容;与国外的操作系统教学的以实际操作系统(例如M I-N I X)项目的设计与实现为方式的教学模式还存在较大的差距
3、。由于实验课程课时的限制和学生程序实现能力的差距,目前国内高校操作系统实验主要以分离的设计各管理功能仿真试验为主。各实验内容之间的系统联系不够强,学生对各章节知识点的理解不能够融会贯通。针对这一问题,本文介绍了一种以操作系统模拟器为教学方式的实验教学模式,并介绍以S h e l l 程序设计开发基础的N a c h o s 平台的实验教学方法。一、N a c h o s 模拟操作系统教学平台N a c h o s 的全称是“N o tA n o t h e rC o m p l e t e l yH e u r i s t i eO p e r a t i n gS y s t e m”,是由
4、美国加州大学伯克莱分校开发的仿真操作系统。由于N a c h o s 具有以下几个特点:一是采用通用虚拟机面向对象性;二是设计概念现代;三是确定性调试;四是简单而易于扩展;五是面向对象性等。该系统非常适合给学生提供一个可再生的调试环境,也能够使得学生能够理解并做重大的修改。世界上很多大学(包括加州伯克利分校等知名大学)都在使用N a e h o s,并且已经移植到了各种各样的宿主操作系统上。【2JN a c h o s 操作系统的内核和机器模拟器被编译成一个可执行的用户空间程序,当运行的时候只不过是一个在宿主操作系统上的普通进程,所以对源代码的修改不会造成宿主操作系统的崩溃,而且N a c h
5、 o s 没有涉及到底层的硬件操作代码,因此修改里面的代码不会涉及太多硬件的基础。N a c h o s 简单的实现了现代操作系统的大部分重要功能,如进程管理,内存管理,文件系统,I O 管理等,而没有涉及到真正底层硬件操作代码。其代码量也不大,总共只有8 0 多个文件,最大的一个源文件其代码量也不超过5 0 0 行,并且所的源文件都附有详细的注释,这给学生的阅读带来了方便。因此它是一个很好的操作系统教学实验平台。口一1N a c h o s 的整体结构如图l 所示。应f f l 程序层模拟操作系统层模拟硬件层宿主操作系统圈1N a c h o s 的整体结构比较而言,另一广泛使用的操作系统教
6、学平台M I N I X,虽然其也同样具备完整的系统结构。但由于其代码数量较大(超过2 万行),且涉及较为底层的硬件驱动的细节和用户安全系统等。在理论和实践教学集中在一学期的课程而言,无论对教师和学生都有较大的难度和工作量。【5 1收稿日期:2 0 1 0-0 3-0 3本文为广东省“电气与控制广东省实验教学示范中心”实验教改研究项目的论文之一;项日编号:粤高教 2 0 0 6】1 8 1 号。作者简介:钟灵(1 9 7 8-),男,汉族,讲师,博士研究生;主要研究方向:图像处理、光学检测系统。2 3 0万方数据实验与课程设计:N a c h o s 模拟操作系统的实验教学应用二、S h e
7、l l 程序的扩展在N a c h o s 中s h e U 是一个命令解释器,它解释由用户输入的命令并且通过E x e e V 或E x e c 系统调用来运行相关程序。通常,实验中对N a c h o sS h e l l的扩展工作可以包含以下几个内容:一是进程调度;二是内存管理;三是文件系统;四是系统调用;五是应用程序。N a c h o sS h e H 是使用N a c h o s 模拟环境运行以后和用户交互的第一程序。深入地理解S h e l l 程序的流程,不但可以理解在操作系统中应用程序在载入系统空间的流程和与内核交互的方式,还可以理解操作系统在调用各类系统调用满足用户要求的基
8、本模式,比如进程空间,内核空间,地址转换等内容。【6】。可见S h e l l 的扩展不单靠S h e l l 自身应用程序,内核的其他模块的扩展也是必须的,在扩展其他模块的同时,学生可以把书本上的原理应用于其他模块,同时在扩展的过程中,对学生进一步理解程序设计中的数据结构和提高算法设计的技巧也是非常重要。在分析N a c h o sS h e l l 的基本代码后,发现其S h e l l 迭代运行的流程包括以下5 个基本步骤:S t e p l:在S h e U 下等待输入命令,S h e H 对接收到的命令做相应的格式解析,然后调用创建进程的A P I。S t e p 2:S h e l
9、 l 调用创建进程的A P I 后N a c h o s 就陷入到内核模式,根据应用程序名搜索当前目录和r o o t 目录下的应用程序,再把它装入内存,同时初始化应用程序的参数,把新创建的进程加入就绪队列,然后返回到S h e l l。S t e p 3:N a c h o s 回到S h e l l,S h e l l 会把本进程转入睡眠状态,一直等待到应用程序运行完成退出。S t e p 4:应用程序运行过程,在运行过程中,应用程序通过N a c h o s 系统提供的A P I 来完成相应的任务。S t e p 5:当应用程序运行完后再唤醒S h e l l 进程,再重新返回第一步。在
10、实验开始,启动N a c h o s 后,用n a e h o s f 将磁盘格式化,然后把S h e l l 文件和应用程序通过c p参数复制到N a c h o s 的磁盘上。当系统复制完文件后,就会自动启动根目录下的S h e l l 程序。图2 为启动N a c h o s 扩展实现s h u t d o w n 命令后的界面截图。图2N a c h 0 6S h e l l 扩展的命令行界面三、N a c h o s 为平台的实验设计考虑到N a c h o s 系统的复杂程度和工作量,在本专业操作系统实验中,教师设计了以学生小组为单位(2 至4 人左右)的项目小组。单个实验项目题目
11、包括:线程管理模块升级实验(因为N a c h o s 是以线程为调度的基本单位)、内存管理模块升级实验、文件管理模块升级实验、线程的同步互斥(w i n d o w s 平台以实际应用为重),其中各个N a c h o s 模块升级的结构均采用S h e l l 的方式调用。由于理论课程时间较为充足,教师针对学生情况提前分析N a c h o s 的运行机制和S h e l l 程序结构,学生的讨论情况也考虑到理论课程的平时成绩当中。在实验中,将程序设计和分析能力较强的学生任命为组长,由组长决定其他成员在项目中的分工,并结合最后实验结果给其他成员以评价。实验报告内容包括原理分析、代码风格、执
12、行结果等,不能正确运行的程序不能得分。四、结论针对国内操作系统课程重理论轻实践的问题,本文提出了一种以N a c h o s 模拟操作系统为主要平台的实验项目设计方式,其中以S h e l l 程序的升级作为贯穿操作系统各模块子功能的核心方式。教学实践证明,该模式能够较快提升学生对知识难点的掌握和对各子功能模块相互作用的理解。参考文献 1 C H R I S T O P H E RW,P R O C T E RS,A N D E R S O NT T h eN a e h o sI n-s t m c t i o n a lO p e r a t i o nS y s t e m 1 9 9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nachos 模拟 操作系统 实验教学 应用
限制150内