精品课程点击排行榜  >>  操作系统
课程简介 教师队伍  

■ 课程简介
课程名称: 操作系统 一级学科:  08 工学
二级学科: 0806 电气信息类 教学层次:  本科
负责教师: 李善平 学校名称:  浙江大学
院系名称:   申报状态:  已获奖
申报级别: 国家级 申报文件下载:  无下载文件
获奖名称: 获奖年度:  2006
主页地址: http://jpkc.zju.edu.cn 或http://jpkc.zju.edu.cn/kj/k/505 或 http://os.zju.edu.cn 是否交换: 
浏览次数: 7278 网上评论:  没有相关评论
课程介绍:

操作系统是计算机科学与技术领域中最为活跃的学科之一,因而操作系统课程也自然是该专业的一门核心的专业基础课。操作系统课程内容综合了基础理论教学、课程实践教学、最新技术追踪等多项内容。操作系统课程的重要性要求教学内容必须兼顾基础性和前瞻性,同时体现趣味性和时尚性,以激发学生的学习兴趣。
本门课程最主要的作用就是实现对低年级专业基础知识的综合与提升,帮助学生建立系统、完整的专业基础理论体系,培养学生初步的系统分析与设计能力,培养学生的创新型思维和动手实践能力,开拓学生的专业学术视野,为后续课程的学习和专业发展奠定重要的基础。
围绕着浙江大学以“知识、能力、素质”为目标的办学理念,本课程以培养系统分析与创新能力为目标,坚持理论指导实践、实践强化理论的教学改革指导思想,走边干边学的教学路线,指导学生建立扎实的实践动手能力
针对本系学生理论基础扎实、英文功底强的优势,采用国外优秀的经典英文原版教材,为学生搭建良好的学习环境,旨在培养学生掌握操作系统学科最先进的原理及技术,为国际竞争力的培养创造条件。
操作系统课程教学不局限于介绍具体方法和技术细节,既分析研究典型的操作系统案例,也紧跟当前操作系统技术发展的最新潮流。在传授经典操作系统知识的同时,又能够保持课程教学的新颖性和前瞻性,把操作系统课程知识的经典与现代的关系很好地结合在一起。
2. 课程目标
?
《操作系统》是计算机应用专业和计算机软件专业的专业基础课。
通过本课程的学习,要求理解操作系统在计算机系统中的作用、地位和特点,熟练掌握和运用操作系统在进行计算机软硬件资源管理和调度时常用的概念、方法、策略、算法、手段等。
通过对LINUX的学习,了解操作系统的一般性体系结构,了解相关方向的现状和发展趋势。
通过完成《操作系统》的实验环节,掌握开发一个操作系统的实用技术。
通过外文教材的使用和学习,在专业英语资料的阅读和理解上达到应有的水平。
4-2-2知识模块顺序及对应的学时
本课程课内学时为108课时,操作系统理论教学与实践教学的比例为1:1。
具体课时安排如下所示:
操作系统理论教学内容模块
内容细节
学时
概述
OS概念,OS发展,OS组成,OS服务,OS硬件基础
3
?
?
?
进程管理
进程与线程基础
3
进程调度分析
3
同步问题,原始软件法,硬件方法
3
信号量,用信号量来解决典型同步问题
3
管程等其他同步方法
3
死锁问题,死锁防止
3
死锁避免,死锁检测等
3
?
?
内存管理
内存管理概述,内存映射机制,连续区域存储管理
3
分页管理,分段管理
3
虚拟内存概述,按需调页及分析
3
页面分配,页面置换,抖动
3
?
?
文件系统
?
文件系统接口:文件、目录等的接口
3
文件系统接口:文件系统,虚拟文件系统
3
文件系统实现:文件系统、目录、文件等的实现
3
文件系统实现:磁盘接口,磁盘调度,磁盘管理
3
I/O系统
I/O系统:概述,I/O API
3
I/O系统: 流,缓存,SPOOLING等
3
?
操作系统实践教学内容模块
内容细节
学时
?
?
Linux使用、系统编程、内核分析
Linux使用与系统编程
6
Booting过程、内核模块、时钟
6
Linux系统调用机制
6
Linux文件系统VFS与ext2
6
Linux内存管理: x86, VM, 分页机制
6
Linux物理内存管理:Buddy,Slab
6
Linux进程管理: PCB,fork,调度
6
Linux进程管理: 进程通信,同步原语
6
Linux设备管理:设备驱动程序
6
?

图例
基本内容
中级内容
高级内容
难点

4-2-3课程的重点、难点及解决办法
在操作系统课程教学的实践中可以发现,课程教学的重点与难点有以下几个部分(参见4-2-2节:知识模块顺序及对应的学时):
l??????? 进程概念,进程同步与互斥,信号量
l??????? 系统调用的实现机制
l??????? 虚拟存储原理及按需调页机制
l??????? 文件的组织及快速定位与存取技术
?
把操作系统课程教学和Linux相结合,一直以来都是浙江大学计算机课程安排的重要特色为了解决操作系统课程教学中的重点和难点,提高教学质量,我们结合本校的办学定位、人才培养目标和生源情况,针对操作系统领域的发展,课程组及时调整教学内容,精心组织教学,注重将传授知识和培养能力结合起来。具体做法如下:
1.??????? 在教学过程中,坚持原理与Linux实际案例介绍相结合,使得重要的概念、方法由抽象变具体;使学生能深入浅出地掌握相关知识,并能实践体验和应用。
2.??????? 对于操作系统最复杂的进程管理部分,我们在理论授课和课程实践上都加大教学倾斜力度,帮助学生正确理解和掌握相关知识。
3.??????? 结合现代操作系统的技术发展,我们不拘泥于枯燥的书本,而是积极指导学生阅读Linux等当代流行的开源操作系统的源代码,便于学生及时了解课本上所没有的操作系统领域的最新研究成果,使学生能将理论知识与实践知识相结合,从而加深对所学内容的深入理解。
4.??????? 努力强化实验环节,把操作系统理论课与实践课融为一体,要求学生掌握对Linux内核源码进行局部修改(如新增系统调用),以及编写Linux内核模块(如新增一个简单文件系统)的技能,从而帮助学生能够更深刻地掌握操作系统的整体运行机制及局部实现方法,以使学科发展与课程在人才培养过程中的定位相适应,充分体现新世纪社会经济、科技、文化发展对复合型人才培养的要求。
??? 通过把课程教学与Linux学习相结合,并突出了互动式的教学方式,不仅仅使本科生轻松面对各自独立的操作系统课程知识点,而且以综合知识的应用为载体,掌握计算机科学学习的一般理论和方法。教学实践表明,本科生的思维能力明显提高,创新意识明显增强,取得了很好的效果。
?
4-2-4实践教学的设计思想与效果(不含实践教学内容的课程不填)
操作系统课程概念多、内容广、难度大,抽象强。因此,操作系统课程的教学面临着这样一个难题:如何才能将抽象的操作系统概念及原理,形象化地传授给学生,如何才能让学生分析理解典型的操作系统,如Linux,紧跟飞速发展的操作系统技术
为了解决这一问题,我们认为不但要讲授好操作系统原理,还要加强操作系统实验。操作系统实验可帮助学生理论联系实际,巩固和复习所学过的操作系统概念与原理;也增强学生实践能力,培养学生动手能力,提高学生综合分析问题、解决问题能力。
?
1.选择Linux作为操作系统实验平台
?
在检索国内外资料,比较UNIX、Microsoft Windows、MINIX、XINU、Nachos等知名系统的基础上,我们选择了LINUX。因为LINUX兼具如下三大优点:
l??????? LINUX不同于Windows,它的源代码是公开的。本科生可以通过分析Linux内核的源代码,与操作系统原理的知识点逐一比较。
l??????? LINUX不同于MINIX,它实现了虚拟存储管理,当然也支持进程、多处理器、多文件系统等现代操作系统的特征。
l??????? LINUX不同于Nachos等实验型操作系统,它是一个具有极强生命力的实用操作系统。成千上万种应用软件都可以在LINUX平台上运行,并且LINUX版本升级非常快。
?
2.多层次设计操作系统实验教学内容和手段
?
通过操作系统实验,可以从4个层次掌握操作系统原理和技术:
l??????? 第1层,熟练使用至少一种操作系统操作环境
l??????? 第2层,全面理解和熟练运用操作系统原理
l??????? 第3层,能够设计操作系统组成模块
l??????? 第4层,掌握开发操作系统的技术
?
3.操作系统环境的基本操作实验,培养操作系统的应用能力
?
我们为本科生开设了“Linux操作系统环境”课程,可以帮助初学者达到第1层次。
课程采用的Linux入门教材是我们翻译的《Linux教程》(清华大学出版社)。此书为Linux初学者定制。书的章节经过精心组织,每章都集中于若干主题。既有Linux重要概念的论述,又有从Linux用户界面到系统内部模块层层深入的讲解。此书的章内练习和实战操练可谓别具一格。全书包含数百个精心设计的章内练习和章末习题,帮助读者高频度地复习命令、原语和概念。
课程共安排12个实验,帮助本科生熟悉Linux的操作环境,学习命令解释器(shell)等。
?
4.Linux内核分析与改写实验,深入掌握操作系统原理,培养初步的系统分析与设计能力
?
毫无疑问,学习操作系统原理同样必须做实验。
我们编写了《边干边学:Linux内核指导》(浙江大学出版社),作为《操作系统》实验课的指导教材。根据我们在浙江大学计算机学院的教学实践,教材内容选定了Linux环境,shell编程,时钟与定时器,系统调用,进程调度,进程同步,虚拟存储,共享内存,设备驱动,文件系统,内核模块(module)等若干部分,其相关源代码贯穿整个Linux内核。此书的特点就是边干边学。每章都安排了实验内容,章节围绕实验目的展开,以求在实验中掌握Linux内核,在实验中融会贯通。
实验分小组进行,每个小组人数一般不超过3人,实验后要求学生按组提交实验报告及相应的代码。实验课成绩根据平时成绩与期终测试成绩综合而得。
按由易而难的顺序,这部分实验分两个阶段:在Linux内核分析阶段,通过阅读Linux内核源代码,通过改变部分内核源程序,改变系统行为,从而学习操作系统各个组成部分的实现机理,巩固操作系统原理知识。在Linux内核改进阶段,深入、综合分析Linux操作系统的实现机理,通过一定规模的源代码重写,使Linux系统功能或行为产生实质性变化。这个阶段,可以锻炼本科生的综合知识运用能力。
?
5.操作系统组成模块的设计实验,培养系统设计能力与创新设计意识
?
熟悉了Linux环境,掌握了操作系统原理,就有条件运用所学,进行操作系统模块的研发
这一层次的实验,重点在于引导本科生综合了解Linux操作系统的实现机制,深入理解某专题的实现机理和过程,创造性地构造新算法、新模块,添加新功能。例如,我们安排了“MYEXT2文件系统设计与实现”。
当然,此时更强调学生自主选择实验题目,不局限于Linux。这样更有利于激发学生学习操作系统的兴趣和主动性,训练其分析问题、解决问题的综合能力,培养团队协作能力。
?
6.实践教学的效果
?
得益于独特的实践教学体系,操作系统课程在浙江大学有较大知名度,是计算机学院最受欢迎的课程之一。详见第4-5节,“教学效果”。在此摘录一些毕业本科生的反馈意见。
1997级解超(在INTEL工作)说:“正是李老师的这套教学方法使我对Linux产生了浓厚的兴趣,从而现在也在从事Linux方面的工作。也正是由于在本科和研究生时期的老师的培养和引导,使我在操作系统上不仅理论上比其他的同年进公司的同事扎实,而且在实际动手和应用上也要更强一些。”
1997级王焕龙说:“我所在的IBM公司一次从美国请来Linux JFS的发明者之一来给大家讲授Linux Kernel Debugging。当我上完10周的课程之后居然发现80%的知识我都已经在当年的操作系统课上掌握了。当我跟讲课的专家聊起此事时,他觉得这非常让人吃惊。即使是美国的计算机专业课上也很少有学校能够让学生掌握这么多的Linux内核知识。”
1998级王伟波(在INTEL工作)说:“在我现在的工作中,虽然做Board Support Package与Device Driver不需要多么关心进程之间的交互,但是各个设备驱动之间的资源分配与调用关系也是非常复杂,得益于当初的详尽分析,我对这些问题已经是驾轻就熟,可以轻松搞定了。每当同事就一些资源抢占之类的问题来请教我时,心中窃喜的时候,也不得不感慨6年前的一门课到现在看来还是如此的重要。同样没有想到的是,那时候所学到的知识,现在仍然是我赖以谋生并且求发展的killer skills,也是我现在相对于其他同事的最大的优势。”
1995级张玉龙(在UTStarcom工作)说:“我所在的公司是个通讯供应商,产品也是基于嵌入式操作系统的。当我与同事一起讨论起嵌入式系统,当谈到Linux时候,同事们总会提起李老师。开始时我比较惊奇,他们不可能都认识李老师。仔细了解下,才知道原来他们都看过李老师编写的那几本书,并且觉得相当不错,记忆深刻。”“尽管公司的产品不是采用Linux作为平台,但是操作系统的概念是互通的。一些基础的概念如信号量,进程等等,在日常的工作中经常用到。熟悉操作系统的特性对于研发是如此的重要,以至于有时会影响研发的进度和工作的质量。”
?
4-3教学条件(含教材使用与建设;促进学生主动学习的扩充性资料使用情况;配套实验教材的教学效果;实践性教学环境;网络教学环境)
???
1. 使用原版教材,建设Linux实验教材
?
操作系统原理课的教材选择与目前世界一流大学的计算机系保持同步,采用国际经典的原版操作系统教材——由Silberschatz等编写的Operating System Concepts(第六版)。此书是教育部高等教育司推荐的国外优秀信息科学与技术系列教学用书,高等教育出版社影印出版。
使用的教材充分考虑了学生主动学习的需要。Operating System Concepts在每章后面都给出小结,并对操作系统相关研究前沿都列出了经典的参考文献。该教材每一章都有大量的习题,且有相当一部分是研究性的习题。除了课堂上的课程教材之外,我们为学生开列并提供了多样且有效的参考文献资料,以加强对学生课外自学的指导,强化教学效果。
操作系统实验教材采用的是由主讲教师根据10余年对Linux操作系统的研究,自行编写的Linux操作系统实验教材——《边干边学:Linux内核指导》,经学生的使用反馈,效果极佳。目前,该实验教程已经经历过了4次印刷。与此同时,及时总结我们的研究成果,编写、出版了大量参考书:
l??????? 李善平、郑扣根,《Linux操作系统及实验教程》,机械工业出版社,1999
l??????? 李善平等,《Linux内核2.4版源代码分析大全》,机械工业出版社,2002
l??????? 李善平等,《Linux与嵌入式系统》,清华大学出版社,2002
l??????? 李善平等译,《UNIX 4.4 BSD操作系统设计与实现》(Design and Implementation of 4.4 BSD Operating System by Marshall Kirk McKusick et al.),中国电力出版社,2003
l??????? 李善平等,《操作系统学习指导与考试指导》,浙江大学出版社
l??????? 郑扣根等,《Windows操作系统原理》,机械工业出版社。2002
l??????? 郑扣根译,《操作系统概念》(Operating System Concepts by Silberschatz et al. 6th),高等教育出版社,2003
l??????? 李善平等译,《Linux教程》(Linux: The Textbook, by Sarwar, etc.),清华大学出版社。2005
l??????? 李善平等,《Linux与嵌入式系统》(第二版),清华大学出版社,2006
l??????? 季江民等,《计算机软件技术基础》,浙江科技出版社,2004
l??????? 季江民等,《大学信息技术基础-Linux基础篇》(浙江省高校重点教材), 浙江大学出版社,2006
?
?
2.丰富的扩充性资料促进学生自主学习?
操作系统课程组使用操作系统网站http://os.zju.edu.cn、BBS论坛、在线Linux内核阅读网站http://linux.zju.edu.cn、作业系统等网上互动资源,使本科生能够得到充足自主学习资料和信息。
http://os.zju.edu.cn面向全国,服务包括:习题布置、提交、批改,网上答疑,论坛,FAQ,下载实验样例、教学大纲、课程简介、教学日历、授课教案、课件、算法flash演示、实验指导、参考文献,考试题库。
BBS论坛是老师和学生们互动的天地,由于浙江大学的学生分布在五大校区,面对面讨论的机会就不如以往,但是强大的校园网络资源弥补了这一不足,师生们能够在BBS上畅所欲言,交流学习心得,极大地方便了学习和教学工作。浙江大学人气旺盛的BBS站点,操作系统及实验有非常热烈的讨论,板块有:
l??????? 飘渺水云间:“LinuxDev”板,“LinuxApp”板,“DriverDev”板,“EmbeddedSystem”板
l??????? CC98:“Linux天地”板,“编程技术”板,“答疑解惑”板
?
作业系统是这门课程另外一个特点,老师可以利用这套系统在网络上布置作业、批改作业,学生在这套系统中完成作业。作业系统具有题库管理、作业统计、作业批改等功能,大大丰富了教学内容。实践证明,学生利用作业系统完成作业的积极性要大于传统的作业本的形式。
资源下载是一个供老师上传,学生下载的空间,老师把课件以及优秀程序的源代码放在这个平台下让学生自由下载。
内核阅读建立了一套自动索引环境,帮助本科生更加方便地阅读Linux内核源代码。
?
3. 操作系统实验教材拓展学生创新能力,提升国际竞争力
?
操作系统实验教材采用自行编写的Linux操作系统实验教材——《边干边学:Linux内核指导》。本书的特点就是边干边学,教材中每章都安排了实验内容,章节围绕实验目的展开,以求在实验中掌握Linux内核,在实验中融会贯通。
通过操作系统实验的学习,激发了本科生对操作系统研究的兴趣。许多本科生结合操作系统课程的学习,加入老师的课题组,开发嵌入式系统或操作系统模块、撰写科研论文等。如:《嵌入式Linux操作系统的研究》(浙江大学学报,2004年)等10多篇学生自主完成的学术论文发表在核心刊物上;周强、虞增辉等研制的嵌入式系统在全国开源软件竞赛中获奖;由胡亦遂等4位大学本科四年级同学组成的“自主操作系统内核开发”项目组争取到浙江大学的SRTP计划资助,立项开发新一代操作系统。
在IBM工作的我校毕业生王焕龙有一段话我所在的公司一次从美国请来Linux JFS的发明者之一来给大家讲授Linux Kernel Debugging。当我上完10周的课程之后居然发现80%的知识我都已经在当年的操作系统课上掌握了。当我跟讲课的专家聊起此事时,他觉得这非常让人吃惊。即使是美国的计算机专业课上也很少有学校能够让学生掌握这么多的Linux内核知识。
?
4. 浙江大学提供一流的实践教学环境
?
要保证操作系统课程的教学质量,必须有实践的教学设备支持。浙江大学为课程实践教学提供了充足的教学设施和实验设备,尤其是网络化辅助教学手段,为课程的教改提供了很好的支撑环境。
l??????? 操作系统课堂教学全部借助浙江大学功能齐全的多媒体教室,采用多媒体电子教案、程序案例和网上教学资源,设施一流。
l??????? 浙江大学紫金港校区计算中心机房为本科生的操作系统课程实验提供了足够的高性能实验机器。该中心在2002年由学校投入1000多万建设,现拥有近1000台计算机,10余台服务器,实验条件优良。2003年底计算中心又接受香港实业家魏绍相先生100万捐款,用于加强计算机基础教学实验环境的建设以及支持教学改革和教学研究活动。
l??????? 多数本科生已在宿舍里自己配置了电脑,通过校园高速网络与Internet连接。通过一系列网络化辅助教学平台,包括BBS论坛、操作系统资源网站等,辅以配套的教学资源,为本科生营造了一个良好的自主学习氛围。
l??????? 课程组开发的实验课教学网站http://os.zju.edu.cn在校园网运行,网站提供课程资料、Linux内核代码阅读工具、操作系统实验的学习资料等下载服务。
?
因此,目前操作系统教学的实验平台均属一流水平,这些条件都能有效地帮助学生完成课程知识的学习。
?
5. 网络化教学环境及网络化教学资源
?
学校已建立高速校园网和多媒体教室,可连接实验室、学生宿舍和所有办公室。高速校园网络应用方便,可满足教学或学生查阅资料的需要。
课程组1995年就引入先进的多媒体及网络教学手段,为课程的教学改革提供了良好的支撑环境。课程组先后开发应用了多媒体课件及网络化教学平台即作业系统和操作系统资源网站,全部教学资源业已上网,并免费开放,运行良好。http://linux.zju.edu.cn已在校园网内部运行数年,提供课程资料、Linux内核代码阅读工具、操作系统学习资料下载、通知发布等服务;1999年建立的http://os.zju.edu.cn面向全国,我们将全部操作系统教学资源编成目录、编号便于查阅,并且,网上资源与文字材料相匹配,存档备查,利于管理,新增的服务包括:习题布置、提交、批改,网上答疑,论坛,FAQ、实验样例下载、教学大纲、课程简介、教学日历、授课教案、课件、算法flash演示、实验指导、参考文献、考试题库等。学生可选择性地自由查阅相关的课程教学网络,极大地方便了知识的重温,提高了教学效果。
网络化教学环境及网络化教学资源的建设非常有利于学生利用网络自主学习,网络化学习可拓宽学生的知识面、拓宽其视野并启发思维。操作系统课程教学依托浙江大学一流的网络设备平台,学生可在校计算中心、学院机房、甚至自己的宿舍很方便地上机学习。良好的网络教学环境在课程教学中发挥了极佳的辅助作用。
?
4-4教学方法与教学手段(含多种教学方法灵活使用的形式与目的;教育技术应用与教学

关于我们 | 版权声明 | 汇款方式 | 会员注册 | 招聘信息 高等学校教学资源网 CopyRight©2004 版权所有
  京ICP证070553号   京ICP备10040123号-8   京公网安备: 1101081957