国外操作系统课程分析

2019-08-17 版权声明 举报文章

国外操作系统课程分析

引言

“操作系统”是计算机学科一门专业必修课程,课程内容丰富,既要讲授关于操作系统的基础理论,又要让学生了解实际操作系统的设计与实现。为了进一步加强北航计算机学院“操作系统”课程的建设,提高课程质量,我们对国外40多所高校的“操作系统”的课程设置、教学内容等进行了调研。下面结合调研情况,介绍CC(Computing Curricula) 2001有关操作系统的教学内容和几所有代表性的国外高校操作系统的课程设置。

1 CC2001

CC2001[1]认为,操作系统是硬件的抽象,人们通过它来控制硬件,进行计算机用户间的资源分配工作。这门课主要讲述影响现代操作系统设计的各种因素及实际操作。

近些年来操作系统和其抽象机制相对于应用软件变得更加复杂,这就要求学生在系统学习内部算法实现和数据结构之前对操作系统有比较深入的理解。课程设置不仅强调了操作系统的使用,更强调它的设计和实现。操作系统中的许多思想也可用于计算机的其他领域,如并发程序设计、算法设计和实现、虚拟环境的创建、安全系统的创建及网络管理等。对于计算机科学专业,其核心知识点为:操作系统概述、操作系统原理、并发性、调度与分派、内存管理。可选的知识点为:设备管理、安全与保护、文件系统、实时和嵌入式系统、容错、系统性能评价和脚本。

另外,新出的CC2005 Overview report[2]中为了适应不同的教学要求,将“操作系统”课程分为了两门:操作系统原理与设计、操作系统配置与使用。

2 国外操作系统课程设置

2.1Princeton University

课程介绍:该校的“操作系统”教学理念是:掌握操作系统的唯一途径是构造一个真正的操作系统。因此教学中注重设计和分析操作系统,教学内容包括:进程,互斥,同步,信号量,管程,死锁预防和检测,存储管理,虚拟存储,进程调度,磁盘管理,文件系统,安全保护,分布式系统。

实习项目:课程所设计的6个项目就是用来构造真正的操作系统。课程结束时,学生将有一个小的、真正操作系统内核。学生2人构成一个小组,3个项目后重组,这样有机会同他人合作。每个项目分设计和完成两个阶段。项目包括:引导机制、非抢占式调度、抢占式调度、进程间通信与进程调度、虚存和文件系统等六项。

教学方法:采用讲课与课堂中讨论结合的方式,教师提前提供阅读分配材料、讨论课题及练习。学生在上课之前先行阅读和思考讨论题。相信学生们可以互相学习,鼓励在项目中互相帮助。为了鼓励合作,学生有机会报告谁对您帮助最大。课程结束时,帮助别人的学生可获额外分数。

教科书:Andrew S. Tanenbaum, Albert S. Woodhull, Operating Systems: Design and Implementation, 2nd edition。

评分标准:中期测试15%,课程参加 15%,设计项目70%。

特点:采用讲课与课堂中讨论结合的方式;实习任务必须完成一个操作系统,而且是从引导程序开始。实习要求细致、严格,鼓励合作。

2.2University of California at Berkeley

课程介绍:课程目的是学习设计操作系统,课程内容包括:操作系统和系统设计的基本概念;程序、子系统、多道程序系统、进程、进间通信与同步;存储分配、分段、分页、装入与链接;资源分配、调度、性能评价;文件系统,存储设备、系统;保护、安全。

实习项目:在仿真MIPS平台构造操作系统。一共有4个项目,每个项目包括文档和代码两部分,文档占项目成绩的40% ,代码60%。项目包括:线程管理、多道程序设计、高速缓存和虚拟存储、网络和分布式系统。另外有5个家庭作业,但不进入评分标准。

教科书: Silberschatz and Galvin, Operating System Concepts, 7th Edition, John Wiley & Sons,ISBN:0-471-41743-2。

评分标准:两次测试30%(每次15%);期末考试15%;4个项目50%;班级讨论5%。

特点:课程内容深入、广泛;实习内容要求高,学习Java版本的Nachos,最后要构造支持分布式应用的操作系统。

2.3Carnegie Mellon Unive-rsity

课程介绍:课程引入了多道程序,分时,异步处理的概念,这些概念引出了同步,调度,存储管理,信息共享和保护等问题。课程注重操作系统的设计方面。

实习项目:有4个编程项目和4个家庭作业。编程项目分别是:Yalnix shell; Yalnix 终端驱动;Yalnix内核;Yalnix文件系统。

教科书:Silberschatz, Galvin, and Gagne, Operating System Concepts, sixth edition, published by Wiley, 2002.

评分标准:第1个编程项目5%;第2个编程项目10%;第3个编程项目20%;第4个编程项目15%;中期测试15%;期终测试25%;4个家庭作业每个2.5%,共10%。

2.4Cornell University

课程名称:Systems Programming & Operating Systems/ Practicum in Operating SystemsCOS 414/415

课程介绍:

COS 414包括操作系统的设计与实现,介绍基本的操作系统的结构,并发,调度,同步,存储管理,文件系统,系统安全,计算机网络。

COS 415 Practicum in Operating Systems项目:1. 编写非抢占的用户层线程包;2.扩展非抢占的用户层线程包为抢占;3. 在抢先的线程包上添加不可靠的网络服务,能够在不同的计算机上,实现从一个小线程包向另一个线程包传送消息;4. 扩展网络包为可靠的传送;5. Ad-hoc 网络服务;6.在线程包上实现虚拟文件系统。

教科书:Silberschatz, Galvin, and Gagne, Operating System Concepts, sixth edition, published by Wiley, 2002.

评分要求:COS 414:阅读任务 10%;中期测试30%;期末测试50%;主观评测 10%。COS 415:6个项目 100%。

特点:讲课内容丰富、课程实践难度大。另外,该校操作系统课程由原理和实践两门组成。另外,Brown University、University of New South Wales等很多国外大学操作系统课程由两门组成。

2.5Yale University

课程介绍:课程包括基本的操作系统设计和实现。课程内容包含:基本概念,同步,死锁,进程管理,存储管理,文件系统,安全和保护,网络。并且介绍真实的操作系统的操作。最终通过6次实验实现一个小型的操作系统。

实习项目:1. 启动和创建引导镜像;2. 实现进程和线程的模型(无中断和调度);3. 实现进程和线程的调度和中断;4. 进程间通信和设备驱动;5. 虚拟存储;6. 文件系统。

教科书:A. Silberschatz, P. Galvin, and G. Gagne, Operating System Concepts (Seventh Edition) , John Wiley & Sons, Inc., 2005.

评分要求:作业75%;期中测试20%;课堂参与5%。

2.6Harvard University

课程介绍:这门课介绍了操作系统设计和实现的基本概念。课程内容包含:基本概念,同步,死锁,进程管理,存储管理,文件系统。

实习项目:5个项目分别是:1. 熟悉OS/161以及其运行环境System/161;2. 同步;3. 系统调用和进程;4. 虚拟内存;5. 文件系统。

教科书:A. Tannenbaum, Modern Operating Systems, 2nd ed., Prentice Hall, 2001。

评分要求:课程出勤10%;期中测试15%;终期测试25%;5个项目50%。

2.7University of New South Wales

课程名称:COMP3231/9201 Operating System

课程介绍:课程内容包含操作系统概要介绍;线程;进程管理;存储管理;保护与安全;实例研究包括UNIX, Linux, Windows-2000和OS/161。

实习项目:4个项目分别是:1. 熟悉OS/161以及其运行环境System/161;2. 同步;3. 系统调用和进程;4. 虚拟内存。

教科书:A. Tannenbaum, Modern Operating Systems, 2nd ed., Prentice Hall, 2001。

特点:该校对操作系统课程非常重视(John Lions曾经是该校教师),专门设有OS讲座教授。操作系统课程由两门组成,两门难度要求不一样。另外,该校实习项目采用的是Harvard University编写的OS/161,所以与Harvard University类似,只是少了文件系统。

3 课程分析

3.1教学内容分析

CC2001教学大纲中操作系统部分内容广泛,偏重基本原理,但是也缺少部分内容,例如:磁盘管理、分布式系统等。而国外各大学的教学内容一般都介绍当代操作系统动向,分布式、网络通信、面向对象技术等都有所涉及,既重视原理、概念的讲解,也重视具体实现源代码的分析。

通过知识点总结可以看出,CC2001教学大纲、国内外各大学都强调:操作系统概述、操作系统原理、并发性、调度、内存管理、设备管理、安全与保护和文件系统。但是CC2001的选讲内容(实时和嵌入式系统、容错、脚本),一般大学很少包含。有一些内容CC2001不包括,但国外大学会教授,例如磁盘管理、分布式系统等。

另外,一些大学还对一些实际的操作系统进行介绍,例如CMU介绍Linux,Cornell介绍Linux和Windows等。

3.2教学内容和方法分析

CC2001大纲和多数国外学校的课堂教学内容较为简单。一般国外大学授课学时数在30左右,但是要求学生课前必须阅读教科书和大量的教学参考资料。授课方式采用课堂讲授与讨论相结合的方式。

3.3教学实验分析比较

CC2001大纲中没有规定实验的内容,而国外大学都对操作系统实验有着严格的要求,有的完成一个小型操作系统,有要求独立完成的,也有建议合作的,实习基础有Nachos,也有其他教学操作系统。线程(进程)、线程(进程)调度、虚存和文件系统是实习项目的主要内容。实验要求具体(报告写作、代码风格、执行结果),管理严格,不能正确运行的作业不能得分。

3.4评分标准分析比较

通过分析国内外大学的评分标准可以看出,他们对实验成绩很重视,有的大学(如Princeton University)甚至只有实验成绩,而没有期末考试。

3.5教材

根据我们的调研,使用较多的教材有:Andrew S. Tanenbaum的Modern Operating Systems, Second Edition;Silberschatz and Galvin的Operating System Concepts;Andrew S. Tanenbaum的Operating Systems: Design and Implementation等。

4 总结

通过上面的分析可以看出,国外“操作系统”教学有如下特点:

重视实验环节。我们列举的大学都对操作系统实验有着严格的要求,有的认为掌握操作系统的途径就是完成一个小型操作系统。在最终的成绩中,实验成绩至少在50%以上。

教学内容灵活。从国外大学的教学内容看,他们参考CC2001,但不一定保持一致,他们的教学内容更取决于授课教师对于操作系统的理解。

教学方法多样。教师讲授与学生课堂参与相结合。学生是否参加课堂讨论会影响课程的最终成绩。不过国内学校学生人数较多,做到这一点很难。

课下阅读量大,作业多。CC2001大纲中“操作系统”核心知识点课时为18小时,国外大学授课学时数在30左右,低于国内大学的学时数(例如北航操作系统为48学时)。但是国外大学通过大量的课下阅读、作业,保证了教学质量。很多国内大学都在进行教学改革,减少学时数,这点很值得我们借鉴。

参考文献

[1] Computing Curricula 2001 (Computer Science), IEEE Computer Society and Association for Computing Machinery, December 15, 2001.

[2] Computing Curricula 2005 The Overview Report, The Association for Computing Machinery (ACM), The Association for Information Systems (AIS), The Computer Society (IEEE-CS), September 30, 2005.

注:本文为网友上传,不代表本站观点,与本站立场无关。举报文章

上一篇:软件培训助你成长 下一篇:“What+How+Why”教学理念的研究与实践

被举报文档标题:国外操作系统课程分析

验证码:

点击换图

举报理由:
   (必填)

发表评论  快捷匿名评论,或 登录 后评论
评论