Nachos模拟操作系统的实验教学应用.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:243KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Nachos模拟操作系统的实验教学应用.pdf

Nachos模拟操作系统的实验教学应用.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据Nachos模拟操作系统的实验教学应用钟灵程良伦黄永慧何小敏张钢设计各管理功能仿真试验为主。各实验内容之间的一、Nachos模拟操作系统教学平台分校开发的仿真操作系统。⋯由于Nachos具有以下计概念现代;三是确定性调试;四是简单而易于扩展;五是面向对象性等。该系统非常适合给学生提克利分校等知名大学)都在使用Naehos,并且已经的硬件驱动的细节和用户安全系统等。在理论和实践教学集中在一学期的课程而言,无论对教师和学操作系统作为计算机、网络工程、信息安全等专业的核心课程之一,一直以来都存在教学的信息量大、难点内容较多、教学与实践脱节的问题。近年来国内操作系统的教材内容层出不穷,但其基础教学方式和结构并未发生重大改变,大部分院校主要以讲授操作系统4大主要功能和算法原理为内容;与国外的操作系统教学的以实际操作系统(例如MI-NIX)项目的设计与实现为方式的教学模式还存在较大的差距。由于实验课程课时的限制和学生程序实现能力的差距,目前国内高校操作系统实验主要以分离的系统联系不够强,学生对各章节知识点的理解不能够融会贯通。针对这一问题,本文介绍了一种以操作系统模拟器为教学方式的实验教学模式,并介绍以Shell程序设计开发基础的Nachos平台的实验教学方法。Nachos的全称是“NotSystem”,是由美国加州大学伯克莱几个特点:一是采用通用虚拟机面向对象性;二是设供一个可再生的调试环境,也能够使得学生能够理解并做重大的修改。世界上很多大学(包括加州伯移植到了各种各样的宿主操作系统上。【2Nachos操作系统的内核和机器模拟器被编译成一个可执行的用户空间程序,当运行的时候只不过是一个在宿主操作系统上的普通进程,所以对源代码的修改不会造成宿主操作系统的崩溃,而且Nachos没有涉及到底层的硬件操作代码,因此修改里面的代码不会涉及太多硬件的基础。Nachos简单的实现了现代操作系统的大部分重要功能,如进程管理,内存管理,文件系统,IO管理等,而没有涉及到真正底层硬件操作代码。其代码量也不大,总共只有80多个文件,最大的一个源文件其代码量也不超过500行,并且所的源文件都附有详细的注释,这给学生的阅读带来了方便。因此它是一个很好的操作系统教学实验平台。口一1Nachos的整体结构如图l所示。比较而言,另一广泛使用的操作系统教学平台MINIX,虽然其也同样具备完整的系统结构。但由于其代码数量较大(超过2万行),且涉及较为底层生都有较大的难度和工作量。【51第lO卷增刊广东工业大学学报(社会科学版)(广东工业大学自动化学院,广东广州,510006)摘要:为提高学生对操作系统核心功能和机制的理解,介绍了以Nachos为平台的操作系统实验教学方法。文章也提出了一种以Shell程序扩展为基础的Nachos教学方法,最后并给出实验流程和教学重点。关键词:模拟操作平台操作系统Nachos教学应用中图分类号:G文献标识码:A收稿日期:2010-03-03本文为广东省“电气与控制广东省实验教学示范中心”实验教改研究项目的论文之一;项日编号:粤高教[2006】181号。作者简介:钟灵(1978-),男,汉族,讲师,博士研究生;主要研究方向:图像处理、光学检测系统。2010年7月Technology(SocialEdition)AnotherCompletelyHeu.ristieOperating应ffl程序层模拟操作系统层模拟硬件层宿主操作系统圈1Nachos的整体结构JournalofGuangdongUniversitySciencesV01.10Suppl.Jul.2010642230J万方数据二、Shell程序的扩展和用户交互的第一程序。深入地理解Shell程序的三、Nachos为平台的实验设计四、结论实验与课程设计:在Nachos中sheU是一个命令解释器,它解释由用户输入的命令并且通过ExeeV或Exec系统调用来运行相关程序。通常,实验中对Nachos的扩展工作可以包含以下几个内容:一是进程调度;二是内存管理;三是文件系统;四是系统调用;五是应用程序。SheH是使用Nachos模拟环境运行以后流程,不但可以理解在操作系统中应用程序在载入系统空间的流程和与内核交互的方式,还可以理解操作系统在调用各类系统调用满足用户要求的基本模式,比如进程空间,内核空间,地址转换等内容。【6】可见Shell的扩展不单靠Shell自身应用程序,内核的其他模块的扩展也是必须的,在扩展其他模块的同时,学生可以把书本上的原理应用于其他模块,同时在扩展的过程中,对学生进一步理解程序设计中的数据结构和提高算法设计的技巧也是非常重要。在分析NachosShell的基本代码后,发现其Shell迭代运行的流程包括以下5个基本步骤:Stepl:在SheU下等待