




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实/验/与/实/践/教/学/专/题| |“操作系统”课程实践教学的研究与实践黄廷辉 王宇英 崔更中(桂林电子科技大学 计算机与控制学院,桂林 541004摘 要:本文提出了以教学操作系统GeekOS 为教学平台构建课程设计环境,利用Bochs PC 模拟器调试和编译,逐步扩充GeekOS 系统的方法,让学生实际参与操作系统功能的设计,使学生能更好的理解操作系统的理论,达到更好的教学效果。 关键词:操作系统;实践教学;教学操作系统;GeekOS 中图分类号:G642.0 文献标识码:A 文章编号:1672-5913 (2007 22-0018-031 操作系统课程实践现状国外大学的实践性环节多数
2、是要求学生独立或合作完成一个简单的操作系统内核设计或者完成部分功能模块,即实现级。他们主要使用的教学操作系统有OSP 、OS/161、NACHOS 、MINIX 、XINIX 、TOYOS 。而国内高校因为师资力量、实验环境及学生自身程序设计能力等因素的不同,对操作系统课程实践环节的要求层次不一:有的要求学生合作完成一个小型操作系统的设计的;有的要求学生剖析具体操作系统(如DOS 、UNIX 等 的实现机理,替换一些功能模块;有的要求对操作系统的一些算法进行模拟实现,以加深对操作系统原理的理解。各高校在讲授操作系统课程时,一般都会设置有1624个学时同步进行的实验。部分对操作系统实践环节比较重
3、视的高校,还增加开设操作系统课程设计环节,时间为3040个学时。经过对国内外高校的调研总结,操作系统课程的实践方式目前主要分为以下几种类型:(1 观察与体验这是最简单的实践方式。即选择某个实际的操作系统作为实验环境,学生通过观察操作系统的具体运行过程来体会操作系统原理的内涵,通过其提供的系统调用来观察和验证操作系统中一些技术。这种方法不需要编写操作系统功能实现的代码,对真正理解操作系统内在功能的具体实现意义不大。(2 算法仿真这是一般院校最常见的实践方式。老师选取操作系统中的一些典型技术,如内存分配算法、生产者/消费者同步问题,让学生编写程序来模拟实现操作系统的功能。此种方式与程序设计课程的上
4、机作业基本类似,有利于加深学生对操作系统理论和技术的理解,但达不到培养学生掌握操作系统的整体设计思想的目的。(3 替换功能模块这是较流行的实践方式。一般是以开放源代码的Linux 为平台,让学生首先阅读系统代码,在理解部分操作系统功能的实现原理后,再要求学生用自己设计的功能模块替换其中相应的功能或为其扩展功能。浙江大学在这方面做得比较成功。但Linux 是一个商业操作系统,系统庞大,结构复杂,对学校的师资和学生的能力要求都较高,一般院校实施的效果不是很好,也达不到培养学生掌握操作系统的整体设计思想的目的。(4 扩展设计操作系统这是对操作系统教学比较理想的实践方式。由任课教师提供一个只具有简单内
5、核的教学操作系统的基本雏形,让学生对其功能进行完善和扩充。学生在一个虚拟或者真实的操作系统环境中进行动手实践,直接操作修改操作系统内核,从而达到掌握操作系统设计策略和技术方法的目的。当然也有学校要求学生独立设计一个结构相对简单但功能基本完备的小型操作系统。例如上海交通大学在操作系统实验中曾要求学生独立设计一个称为MOS 的操作系统。由于与操作系统课程实验的教学目标相一致,这可能是最理实/验/与/实/践/教/学/专/题| 2007.11 | 19想的实验方案。不过由于操作系统是一个大型的系统软件,其设计过于复杂,因此在实施起来有一定难度。3 GeekOS教学操作系统教学实践证明,最好的“操作系统
6、”课程实践平台并不是实用的商业操作系统,因为它过于庞大,设计复杂,短时间内难于掌握。而应该是一种与实际使用的操作系统比较接近,但规模又较小、易理解、便于调试的系统,即面向教学的操作系统。最重要的是系统要符合课程的需要可留出一些作为学生作业的练习,帮助学生熟悉实际操作系统的结构和设计。美国马里兰大学教师最新开发的GeekOS ,就是一个专门为满足操作系统课程教学要求设计的实践平台,它具有以下优点:(1 GeekOS是一个基于通用x86架构的PC 机上运行的微操作系统内核, 作为一个GPL 开源软件, 任何人都可以在GPL 下修改和免费使用, 由于其简单、实用、易懂,使得学生更易于理解操作系统的设
7、计思想和实现过程。(2 GeekOS是一个用C 语言开发的操作系统,某种程度而言,GeekOS 操作系统就是一个C 语言程序,实践开发环境易于实现。学生可以在Linux 或Unix 环境下编程,对其进行功能扩充,也可以在Windows 下使用Cygwin 工具进行开发。(3 作为一个教学使用的操作系统,GeekOS 围绕现代操作系统原理中的重要概念与方法,按照教学循序渐进的进度为学生设计了7个项目。这些项目由浅入深,对激发学生学习操作系统的兴趣和主动性,训练学生分析问题、解决问题的综合能力,起到了非常好的效果。在国内外的操作系统教学中,目前采用比较多的教学操作系统是NACHOS 。和GeekO
8、S 相比,NACHOS 只能运行在特定的MIPS 机型的模拟器上,同时也存在一些其它缺点。首先,因为它的内核不是保存在模拟器的RAM 中,这样,它不会受到内存容量的限制。这意味着内核数据结构的大小不是影响系统性能的重要因素,使得数据结构大小和空间容量的权衡不用考虑,这在一个实际操作系统设计中是不现实的。其次,NACHOS 是与底层硬件相隔离的,所有机器模拟器和被模拟的硬件之间的接口由C+对象设计。这意味着学生不需要了解要访问的真正硬件是如何工作,而这些技术对于编写核心程序的程序员来说是很重要的。再有就是NACHOS 这种特殊结构很难移植到实际硬件机器上直接执行。4 GeekOS开发环境选用Ge
9、ekOS 作为操作系统实践平台,还因为它的开发环境易于搭建。GeekOS 大部分代码是用C 语言编写的,它所需要的开发工具在Linux 操作系统中几乎都已具备,只需简单配置。GeekOS 系统的开发与调试环境有多种选择:在Windows 下使用Cygwin 和Bochs PC模拟器;在PC 机上安装Linux 和Bochs PC 模拟器进行开发调试;在PC 机上安装虚拟机,如VMware 和Virtual PC,然后在虚拟机上安装Linux 和Bochs PC模拟器进行开发调试。在课程实践环境选择时,学生可以自由选择,推荐采用最后一种方式,它会为你减少很多不必要的麻烦。Linux 是大多学生所
10、熟悉的,也有很多参考书可供学生选择。在物理计算机上调试操作系统内核代码会给用户带来很大的不便。Bochs 是一个通用的x86 PC机硬件平台模拟器。它是一个开源的软件,对系统程序开发,具有很多的优点,是开发和调试操作系统核心代码最有效的工具。例如:对新加入的代码行进行测试不用频繁重新启动用于开发的机器;不易引起主机系统崩溃;不需要使用软盘和硬盘作为操作系统的存储介质。GeekOS 最初开发设计的调试运行平台就是基于Bochs 进行的。 5 GeekOS项目设计作为一个教学操作系统内核,保持系统的简单易实现是非常重要的。为了实现这一目的,在GeekOS 设计时,仅保留操作系统最基本的功能,同时围
11、绕现代操作系统原理中的重要概念与方法,按照教学循序渐进的进度精心设计了7个项目。这些项目由浅入深,既有L inux 使用环境与使用技能方面培养的项目,又有重点围绕深入理解操作系统内核实现机制的实/验/与/实/践/教/学/专/题 | |项目。GeekOS 教学操作系统为学生设计的项目内容具体如下:项目0:主要是让学生熟悉GeekOS 的编译、运行过程,了解计算机系统的启动原理。项目0要求学生实现一个简单内核进程,功能是实现从键盘接收一个按键,并在屏幕上显示。项目1:主要让学生熟悉可执行链接文件(ELF文件 的结构,并学会加载和运行可执行文件。项目要求学生编写代码对ELF 文件进行分析,并将分析结
12、果传送给加载器,掌握操作系统静态建立进程运行用户程序的实现技术。项目2:要求学生掌握操作系统动态建立用户态进程来运行用户程序的原理。在项目2实现之前,GeekOS 运行的是内核级进程。对用户态进程执行的支持包括用户态进程结构的初始化、用户进程空间的初始化、用户进程切换和用户程序导入等。项目3:要求学生改进GeekOS 的调度程序,实现基于4级反馈队列的调度算法(GeekOS初始系统仅提供了FIFO 进程调度算法 ,并实现信号量,支持进程间通信,掌握进程调度和进程通信的实现原理。项目4:要求学生实现分页虚存管理,替代在项目1和项目2中采用的分段存储管理,掌握虚拟存储技术的实现原理。项目5:要求实
13、现GOSFS 文件系统。由于GeekOS 使用了虚拟文件系统,可以加载不同的文件系统,而系统默认加载的是PFAT 只读文件系统。在这个项目中,需要实现一个多级目录的、可读写的文件系统,掌握文件系统的实现技术。项目6:要求为文件系统增加访问控制列表,并使用匿名半双工管道实现进程间通信,掌握网络功能的实现原理。6 结束语采用GeekOS 作为操作系统课程设计实践平台已经有两个学期。结果证明大部分认真完成作业的学生认为GeekOS 对理解操作系统功能的设计与实现有很好的帮助,可以激发学习操作系统的兴趣,提高编写系统程序的能力。高校计算机相关专业的操作系统课程教学不仅要设置实践环节,还必须根据培养目标
14、和学生自身的特点来选择合适的实践教学内容。在选用GeekOS 作为操作系统实践平台时,集中在短时间内完成项目设计的教学效果不好,最好为一个学期的时间。教师最好能根据学生的能力,以3到4个学生为一个小组,灵活调整学生要具体完成的任务,以致于取得更好的教学效果。The Research and Practice on the teaching ofOperating System Course PracticeHuang Tinghui(School of Computer and Control. Guilin University of Electronic Technology guilin
15、, guangxi, china 541004Abstract:Practice teaching is absolutely necessarily in operating system teaching. After explorer and practice of high school operating system course teaching, one method is put forward, that is, students take GeekOS as teaching platform, Bochs PC simulator as debug and compil
16、e tool, program to expand the function of GeekOS. In this way, students can participate in design of operating system. The practice in teaching has proved to be good understanding the theory of operating system , resulting a better teaching effect.Keywords: operating system, practice teaching, teaching operating system, GeekOS参考文献1 2 骆斯文, 李云洪.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 名义股东入股协议书
- 货场搬运协议书范本
- 物品领取寄存协议书
- 详细参见技术协议书
- 学生顶岗管理协议书
- 同意安装暖气协议书
- 私人安装门窗协议书
- 景观楼梯购买协议书
- 水泥授权代理协议书
- 刑事和解协议书公司
- 2025江西南昌市江铜产融社会招聘1人笔试参考题库附带答案详解
- 110KV 线路保护调试报告
- 移动设备小型设备施工方案
- 临床思维诊疗训练系统参数
- 扬州市巡游出租汽车驾驶员从业资格区域科目考试题库(含答案)
- DB37-T 3466-2018人民防空工程防护(化)设备维护保养规程
- (完整版)建筑构造课件
- 《岩石力学(含实验)》课程教学大纲
- 中国银行保函业务培训(共71页).ppt
- 广东公共就业服务标准化手册
- 全国油料高产创建测产验收办法
评论
0/150
提交评论