1、1附件 1:操作系统原理课程教学大纲制定(修订)人: 李灿平、郭亚莎 制定(修订)时间: 2006 年 7 月所在单位: 信息工程学院一、课程基本信息课程代码 0501C308 课程性质 专业选修课中文名称 操作系统原理课程名称 英文名称 The Principles of Operating System学 分 数 2.5 总学时数 40 讲课学时 34 实验学时 6开课单位 信息工程学院适用专业 信息工程、电子信息科学与技术先修课程 计算机 C+语言或 C 语言、微机原理及及接口技术、数据结构选用教材 计算机操作系统教程 (第 2 版) 张尧学,史美林编著清华大学出版社,2002 年 8
2、月第 2 版主要教学参考书1. 计算机操作系统 (第 2 版) 汤子瀛,哲风屏,汤小丹编著 西安电子科技大学出版社,2001 年 8 月2. 操作系统实用教程 任爱华主编 清华大学出版社, 2001 年 8 月3. UNIX 技术 系统程序设计篇 刘祖亮编著电子工业出版社,2000 年 3 月第 1 版4. 计算机操作系统教程 (第 2 版)习题解答与实验指导 张尧学编著清华大学出版社,2002 年 8 月考核方式 闭卷考试本课程在专业课程体系中的地位和作用操作系统是现代计算机系统中不可缺少的基本系统软件,是管理和控制计算机系统中的所有软、硬件资源,是计算机系统的灵魂和核心,同时它也为计算机用
3、户提供一个方便灵活、安全可靠的工作环境。因此,学习并掌握计算机操作系统的基本原理和操作方法,不仅对计算机相关专业的学生和研究人员是必要的,而且对一般计算机应用人员也是非常有益的。通过本课程的学习,要求学生理解并掌握操作系统的基本内容,掌握实现进程管理、处理机管理、文件系统和设备管理以及文件系统管理的各种原理和方法,掌握用户接口的使用方法,熟悉 UNIX 系统或 Linux 系统。这对学生以后的软硬件的学习与应用开发奠定宽厚的基础。 2二、课程内容与学时分配表学 时 分 配序 号 章 节 内 容 讲 课 实 验 其 他1 绪论 22 操作系统用户界面 4 23 进程管理 64 处理机调度 55
4、存储管理 56 进程与存储管理示例 4 47 文件系统 48 设备管理 29 文件和设备管理示例 210 面向对象操作系统的设计 自学合 计 34 6机 动总 计 40三、教学内容及基本要求第一章 绪论本章简要介绍操作系统的基本概念、功能、分类以及发展历史。同时讨论研究操作系统的几种观点。1.1 操作系统的概念本节介绍操作系统的基本概念,什么是操作系统以及操作系统与硬件软件的关系。本节重点:操作系统与硬件软件的关系。本节要求学生理解什么是操作系统,掌握操作系统与硬件软件的关系。1.2 操作系统的历史本节按器件工艺介绍操作系统的发展历史。本节重点:多道程序系统的概念。本节要求学生了解操作系统的发
5、展历史,理解多道程序系统概念。1.3 操作系统的基本类型本节介绍常见的操作系统的类型、特点及适用的对象。本节重点:批处理操作系统、分时系统、实时系统。本节要求学生掌握上述三大操作系统的特点及适用对象。1.4 操作系统功能本节简单介绍操作系统的五个功能。处理机管理,存储管理,设备管理,信息管理(文件系统管理)和用户接口。本节要求学生了解上述功能。1.5 计算机硬件简介本节简单介绍计算机硬件系统。3本节要求学生自修。1.6 算法的描述本节介绍操作系统管理计算机系统的有关过程所用的描述算法。本节要求学生掌握本书所采用的描述算法。1.7 研究操作系统的几种观点本节介绍研究操作系统的几种观点。系统管理的
6、观点,用户界面观点和进程管理观点。本节要求学生了解上述三种观点。第二章 操作系统用户界面本章主要讨论操作系统的两个用户接口,并以UNIX系统为例,简单介绍用户接口的使用操作方法。2.1 作业的基本概念本节介绍作业的基本概念,什么是作业及作业组织(结构)。本节重点:作业的基本概念。本节要求学生掌握作业的基本概念,了解作业的组织。2.2 作业的建立本节介绍作业的几种输入方式和作业的建立过程。本节重点:联机输入方式和Spooling系统,作业控制块PCB和作业的四个阶段。本节要求学生了解作业的几种输入方式,理解Spooling系统,掌握作业建立的过程内容。理解作业的四个基本阶段。提交、后备、执行以及
7、完成阶段。2.3 命令控制界面接口本节介绍操作系统为用户提供的命令接口界面。介绍命令接口的两种使用方式。讨论联机方式下操作命令的分类。本节重点:命令接口的使用方式。本节要求学生理解命令接口的作用和使用方式。了解联机方式下操作命令的分类。2.4 系统调用本节介绍操作系统提供给编程人员的唯一接口,系统调用。同时讨论系统调用的分类。本节重点:编程人员通过系统调用使用操作系统内核所提供的各种功能和系统调用的处理过程。本节要求学生了解系统调用的分类、理解系统调用的功能、掌握系统调用的处理过程。2.5 UNIX用户界面本节简单介绍UNIX系统的发展历史和特点以及UNIX 系统结构。同时讨论UNIX操作命令
8、和系统调用的分类功能和使用方法。本节重点:UNIX系统的特点。本节要求学生了解UNIX系统的发展史,掌握UNIX 系统的特点,理解UNIX系统操作命令和系统调用的功能。第三章 进程管理本章详细介绍进程和线程管理的有关概念和技术。3.1 进程的概念本节介绍进程的基本概念。通过程序的并发执行,引出进程具有并发性特征的概念。同时讨论进程的各式各样的定义以及作业和进程的关系。本节重点:进程的特征。本节要求学生了解程序的并发执行,掌握进程的特征。43.2 进程的描述本节介绍进程的静态描述以及进程上下文结构。本节重点,进程的上下文结构。本节要求学生理解进程的静态描述内容,掌握进程控制块PCB的作用和进程上
9、下文结构。3.3 进程状态及其转换本节介绍进程的三个基本状态,执行状态,等待状态和就绪状态以及进程状态的扩充。同时介绍进程状态的转换过程。本节重点:进程的三个基本状态。本节要求学生理解进程的状态及转换过程,掌握进程的三个基本状态及转换过程。3.4 进程控制本节介绍进程的创建与撤消、阻塞与唤配过程。同时介绍原语的概念。本节要求学生了解什么是原语,理解并掌握上述过程。3.5 进程互斥本节介绍由于进程的并发特性引起的进程对资源的竞争以及由资源竞争引起的对进程执行速度的直接制约和间接制约。间接制约就是进程互斥。本节同时介绍信号量和P、V原语,讨论互斥的几种实现方法。本节要求学生理解间接制约的原因,掌握
10、临界资源的概念,掌握P、V信号量的定义,掌握实现互斥的方法。重点掌握用P、V原语操作实现互斥的方法。3.6 进程同步本节介绍同步概念以及利用P、V原语操作实现同步的方法。同时讨论生产者消费者问题。本节重点:用P、V原语操作实现同步。本节要求学生理解直接制约的原因,掌握用P、V原语操作实现同步的方法,理解生产者消费者问题的描述。3.7 进程通信本节讨论进程通信的几种方式,并以UNIX系统为例,介绍管道通信的实现过程。本节重点:消息缓冲机制。本节要求学生了解实现进程通信的方法,掌握消息缓机制和管道通信的控制过程。3.8 死锁问题本节介绍死锁的基本概念,什么是死锁,死锁的原因以及死锁的排除方法。本节
11、重点:产生死锁的必要条件。本节要求学生理解死锁的概念,掌握产生死锁的必要条件,了解死锁的排除方法。3.9 线程本节介绍为提高操作系统的执行效率而引入的线程概念。什么是线程、线程的适用范围,线程的分类以及线程的执行特性。本节重点:线程的基本概念和线程的执行特性。本节要求学生掌握线程的基本概念和线程的执行特性,理解线程的运用范围和分类。第四章 处理机调度本章主要介绍处理机管理的功能以及处理机管理的调度策略与算法。4.1 分级调度本节介绍处理机调度的分级。本节重点:处理机调度的功能及分级。本节要求学生理解处理机的功能和分级,掌握作业调度和进程调度,线程调度。4.2 作业调度本节讨论作业调度的功能以及
12、作业调度的目标和性能衡量。5本节重点:作业调度的功能。本节要求学生掌握作业调度的功能和性能衡量指标。了解作业调度的实现过程。4.3 进程调度本节讨论进程调度的功能及实现方法。同时简单介绍进程调度性能的评价方法。本节重点:进程调度的功能和实现过程。本节要求学生掌握进程调度的功能和实现过程,理解进程调度的时机,了解进程调度的性能评价。4.4 调度算法本节讨论各种常用的进程调度算法和作业调度算法。同时定性讨论各种算法的性能。本节重点:多级反馈轮转法和优先级法。本节要求学生理解各种常用的调度算法。4.5 算法评价本节主要利用解析方法来分析几种常用调度算法的性能。本节要求学生了解算法评价的解析方法,掌握
13、分析的结论。4.6 实时系统调度方法本节介绍实时系统的特点和常用的调度算法,以时限调度算法为例讨论实时系统调度的实现方法。本节重点:实时系统的特点和时限调度算法。本节要求学生掌握实时系统的特点和时限调度算法,了解实时系统的调度算法的分类,理解频率单调调度算法。第五章 存储管理本章介绍存储管理的常用方法。讨论分区、分页以及分段和段页式管理的特点以及实现原理。同时介绍实现虚拟存储器的重要依据,局部性原理。5.1 存储管理的功能本节介绍存储管理的功能,内存分配与回收、地址变换、内存扩充、数据保护与共享等以及虚拟存储器的概念。本节重点:虚拟存储器的概念。本节要求学生掌握虚拟存储器的概念,掌握存储管理的
14、功能。5.2 分区存储管理本节介绍分区管理的基本原理和两种实现方法,固定分区法和动态分区法。本节重点:动态分区法。本节要求学生理解分区管理的基本原理,掌握动态分区法。5.3 覆盖与交换技术本节介绍多道程序环境下扩充内存的两种方法,覆盖与交换。本节要求学生理解覆盖技术和交换技术的实现方法。5.4 页式管理本节介绍页式管理的基本原理,讨论静态页面管理和动态页式管理的实现方法。本节重点:地址变换和页面置换。本节要求学生理解页式管理的基本原理,理解并掌握动态页式管理。掌握页式管理中地址变换的实现过程和页面置换的算法。5.5 段式与段页式管理本页分别介绍段式和段页式管理的基本原理与实现方法。本节重点:地
15、址变换和缺段中断。本节要求学生理解段式与段页式管理的基本原理,掌握地址变换的实现方法以及与页式管理的6区别。5.6 局部性原理和抖动问题本节介绍实现虚拟存储器的依据局部性原理。同时讨论系统抖动问题。本节重点:局部性原理。本节要求学生理解局部性原理和抖动问题。第六章 进程与存储管理示例本章以UNIX System V为例,介绍进程管理和存储管理的实现方法。6.1 UNIX进程和存储管理简介本节简单介绍进程与存储管理的一些高层次特性。本节重点:UNIX系统结构。本节要求学生掌握UNIX系统结构,理解用户态和系统态。6.2 UNIX进程结构本节讨论UNIX System V中进程的虚拟地址空间,并介
16、绍进程的上下文和进程的状态及转换。本节重点:进程的状态和状态转换。本节要求学生理解进程的虚拟地址结构和进程上下文,掌握进程的状态和状态转换过程。6.3 进程控制本节介绍进程树的概念,同时讨论进程创建与终止的实现过程。本节重点:进程树的概念。本节要求学生掌握进程树的概念,理解进程创建和终止的实现过程。6.4 进程调度本节介绍UNIX系统进程调度的基本原理和实现方法。本节重点:调度标识的设置和调度策略。本节要求学生了解进程调度所涉及的问题,理解调度标识和调度策略,理解进程调度的实现过程以及交换的实现过程。6.5 进程通信本节介绍UNIX进程通信的三个部分,低级通信、管道通信和进程间通信IPC。同时
17、讨论IPC的三种通信机制。本节重点:进程间通信IPC。本节要求学生了解进程通信的三部分内容。理解进程间通信IPC的实现过程。6.6 UNIX存储管理本节介绍UNIX System V进行存储管理所采用的请求调页和交换技术。本节重点:内存的分配与释放以及地址变换。本节要求学生理解虚拟空间的划分和管理思想,掌握内存分配与释放以及地址变换的原理,理解请求调页和交换技术的实现过程。第七章 文件系统本章介绍文件系统的基本概念。主要讨论文件的组织结构、存取结构、保护以及文件系统空间管理等问题。同时讨论文件系统的使用方法和文件系统的层次模型。7.1 文件系统的概念本节介绍文件系统的基本概念,什么是文件和文件
18、系统以及文件系统的分类。本节重点:文件系统的基本概念。7本节要求学生理解文件系统的基本概念。了解文件的分类。7.2 文件的逻辑结构与存取方法本节介绍几种常用的文件逻辑结构。同时讨论几种常用的文件存取方法。本节重点:文件的存取方法。本节要求学生理解常用的几种文件的逻辑结构和常用的几种文件存取方法。7.3 文件的逻辑结构与存储设备本节介绍几种常用的文件物理结构以及文件存储设备的基本特性。本节要求学生掌握常用的几种文件物理结构。7.4 文件存储空间管理本节讨论文件存储空间的管理方法,空白文件目录、空闲块链、位示图。本节重点:成组链接法本节要求学生了解文件存储空间管理的三种常用方法。掌握成组链接法。7
19、.5 文件目录管理本节介绍实现文件按名存取以及提高文件检索速度的方法,即文件目录管理。本节重点:文件目录管理的功能和实现方法。本节要求学生掌握文件目录管理的功能,理解实现文件目录管理的方法,掌握多级目录。7.6 文件的存取控制本节介绍文件存取控制的功能。同时讨论限制用户存取文件操作的几种方法。本节重点:文件存取控制的功能。本节要求学生掌握文件存取控制的功能,理解验证用户操作文件的合法性所用的四种方式。7.7 文件的使用本节简单介绍文件系统以系统调用方式和命令方式为用户提供的几种文件操作方式。本节要求学生掌握可以通过系统调用和操作命令来实现对文件的操作。7.8 文件系统的层次模型本节介绍文件系统
20、的层次模型以及各层的主要功能。本节要求学生理解文件系统的层次和各层所实现的功能。第八章 设备管理本章介绍设备管理的基本概念。讨论外设和主存或CPU之间数据传送的几各常用控制方式以及设备分配和驱动控制的实现方法等。8.1 引言本节介绍设备的分类和设备管理的功能。本节重点:设备管理的功能。本节要求学生了解设备的分类,理解设备管理的功能。8.2 数据传送控制方式本节介绍实现外设和内存或CPU之间数据传送的几种常用控制方式。程序直接控制方式,中断方式、DMA方式,通道控制方式。本节重点:DMA方式。本节要求学生了解数据传送控制的方式及实现原理。8.3 中断技术本节介绍中断的基本概念,什么是中断、中断源
21、、中断请求、中断响应、开中断和关中断以及中断屏蔽。同时介绍中断的类型和中断处理过程。本节重点:中断的基本概念和中断的处理过程。本节要求学生掌握本节的全部内容。8.4 缓冲技术8本节介绍缓冲技术的基本概念,什么是缓冲以及缓冲的分类。同时讨论缓冲池的管理。本节重点:什么是缓冲以及缓冲的功能。本节要求学生掌握什么是缓冲,理解缓冲池的管理。8.5 设备分配本节介绍设备分配所用的数据结构,设备控制表、系统设备表、控制器表、通道控制表。同时介绍设备分配原则及实现过程。本节重点:设备分配用数据结构。本节要求学生了解设备分配的方法,掌握设备分配用的数据结构。8.6 I/O进程控制本节介绍I/O控制的功能以及实
22、现 I/O控制的几种方式。本节要求学生理解I/O进程控制的功能。8.7 设备驱动程序本节简单介绍设备驱动程序的基本概念以及设备开关表的作用。本节要求学生理解什么是设备驱动程序,用户如何使用驱动程序。第九章 文件和设备管理示例本章介绍UNIX System V的文件和设备管理方法。讨论文件系统、中断和陷阱以及块设备、字符设备的管理。9.1 文件系统的特点与文件类别本节介绍UNIX文件系统的层次结构以及文件的分类。本节重点:文件系统的层次结构。本节要求学生了解文件系统的分类,理解文件系统的结构。9.2 文件系统的数据结构及其关系本节介绍文件系统的存储结构以及该结构中所用的几种数据结构。本节重点:文
23、件系统常用的数据结构。本节要求学生理解文件系统常用的数据结构,以及之间的关系。9.3 资源管理和地址映射本节介绍UNIX System V的磁盘块分配与回收算法、存放文件说明信息i节点的分配与释放算法。同时介绍用户进程怎样通过用户打开文件表和系统打开文件表与文件系统联接起来。本节重点:磁盘i节点和内存 i结点的使用方法。本节要求学生掌握磁盘i结点和内存i结点的分配与释放过程,了解系统打开文件表的分配与释放以及地址映射的实现。9.4 目录与搜索方法本节介绍文件操作时所用的搜索方法。本节要求学生了解目录与搜索的方法。9.5 文件系统的系统调用本节介绍UNIX文件系统与用户的接口系统调用以及系统调用
24、的使用方法和系统调用的执行过程。本节重点:系统调用的执行过程。本节要求学生了解系统调用的使用方法,理解系统调用的执行过程。9.6 UNIX System V的中断和陷阱总控程序本节介绍UNIX System V中断和陷阱的处理过程。同时介绍中断与陷阱的区别以及中断的分类和陷阱的分类。本节重点:中断和陷阱的处理过程。本节要求学生了解中断和陷阱的分类,理解中断与陷阱的区别,掌握中断和陷阱的处理过程。99.7 缓冲区管理本节主要介绍UNIX系统的块设备缓冲区的实现原理。本节重点:缓冲池的结构。本节要求学生理解缓冲池的结构,了解缓冲区的分配与回收以及缓冲区数据的读写方法。9.8 块设备驱动本节主要介绍
25、UNIX系统的块设备驱动原理。本节重点:设备驱动程序的接口。本节要求学生了解块设备驱动的基本原理。9.9 字符设备驱动本节介绍有关字符设备管理的数据结构以及字符管理的基本方法。本节重点:对字符缓冲区的操作。本节要求学生了解字符设备驱动的基本原理。第十章 面向对象操作系统的设计本章介绍面向对象技术的基本概念和面向对象操作系统的设计方法以及面象对象操作系统的分类。本章要求学生自学。四、课程教学的有关说明 本课程课内外学时比例:3:1 ;平均周学时:6 ;1.课程的基本要求本课程要求学生理解并掌握操作系统的基本内容,掌握实现进程管理、处理机管理、文件系统和设备管理以及文件系统管理的各种原理和方法,掌
26、握用户接口的使用方法。熟悉UNIX系统或Linux系统。2.本课程与其他课程的联系和分工要求学习本课程的学生已掌握微机原理及应用、数据结构、计算机语言C +的基本内容。3.本课程教学环节的说明通过课堂授课使学生基本理解和掌握本课程的基本内容。通过课后作业使学生进一步加深对基本内容的理解和掌握。对重点内容和难点内容,通过习题课和辅导课,强化学生对这部分内容的理解。由于操作系统是一门实践性很强的课程,因此安排一定数量的上机实验是必要的。在课程安排的实验学时之外,要求学生课外上机进一步熟悉UNIX系统或Linux系统,掌握实现进程管理、处理机管理、文件系统和设备管理以及文件系统管理的各种原理和方法,掌握用户接口的使用方法。