(一)课程性质
本课程是计算机科学与技术专业的核心课程之一,属于必修课程。
操作系统”是计算机系统不可缺少的组成部分,负责对系统中各种资源进行有效的管理和对各种活动进行正确的组织,使整个计算机系统协调一致且高效地工作,指挥计算机系统正常运行。操作系统基于硬件,并对硬件实施管理,并构成对所有软件运行的支持平台,给用户使用计算机而提供方便灵活友好的接口。
本课程的先修课为计算机组成原理、微机原理、数据结构、高级语言程序设计;后续课程为数据库系统原理、计算机网络、分布式系统等。
(二)教学目的
通过本课程的学习,使学生在深刻理解计算机系统整体概念的基础之上,掌握操作系统的基本内容及实现方法,掌握操作系统对计算机系统中各种资源的管理和控制功能,从而使学生具备一定的系统软件开发技能,为以后从事的研究、开发工作(如设计、分析或改进各种系统软件和应用软件)提供必要的软件基础和基本技能。
(三)教学内容
本课程内容包括:绪论,是对操作系统的一般性描述,包括什么是操作系统,操作系统在整个计算机系统的地位及其发展历史,它的功能、分类等;作业管理和Linux用户接口,介绍作业和操作系统用户接口,包括作业的基本概念和作业的建立过程、Linux介绍和它所提供的用户接口等;进程管理,主要介绍进程和线程的概念、进程控制、进程同步/互斥、死锁、进程间通信、线程等;处理机调度,主要介绍作业调度、进程调度、各种调度算法及其评价等;存储管理,介绍常见存储管理的方法,虚拟存储管理的实现等;Linux进程和存储管理;文件系统,包括文件系统的概念、文件结构和文件存取、文件目录管理、Linux文件管理等;设备管理;面向对象的操作系统和分布式操作系统。
(四)教学时数
课内学时:60
(五)教学方式
本课程的教学环节包括:课堂讲授、习题课、课堂讨论、批改作业、课外辅导、实验相结合,并逐步采用CAI、网络教学等教学手段。通过本课程各个教学环节的教学,重点培养学生的自学能力、分析问题解决问题的能力。
教学方法:采用启发式教学,鼓励学生自己针对某种操作系统进行分析和研究,培养学生的自学能力,以“少而精”为原则,精选教学内容,精讲多练,调动学生学习的主观能动性。
教学手段:开展电子教案、CAI课件的研制、引进和应用,研制多媒体教学系统。
考试环节:考试形式采用笔试,考试题型分为:填空题、选择题、判断题、简答题、分析设计题。
第1章 绪论
教学要点:
操作系统的概念及其发展历史、分类,操作系统功能,研究操作系统的观点。本章是对操作系统的一般性描述。
教学时数:4学时
教学内容:
1.1 操作系统概念 (0.5学时)
掌握操作系统的概念及其在计算机系统中的作用。
1.2 操作系统的发展历史 (1学时)
了解操作系统的发展历史。
1.3 操作系统的基本类型 (1学时)
理解批处理系统、分时操作系统、实时操作系统、个人计算机操作系统、网络和分布式操作系统的特点。
1.4 操作系统的功能 (1学时)
掌握操作系统的处理机管理、存储管理、设备管理、文件管理和用户接口五大功能。
1.5 研究操作系统的几种观点 (0.5学时)
了解操作系统是计算机资源的管理者观点,用户界面观点,进程管理观点。
考核要求:
1. 识记:什么是操作系统,操作系统的分类。
2. 领会:操作系统的功能,操作系统的发展历史及研究观点。
第2章 作业管理和Linux用户接口
教学要点:
作业的概念和建立过程,操作系统为用户提供的接口,Linux用户接口,Linux shell编程。
教学时数:8学时
教学内容:
2.1 作业的基本概念 (1学时)
掌握作业的定义,作业的组织。
2.2 作业的建立过程 (1学时)
掌握作业的输入方式、JCB的建立;掌握SPOOLING系统。
2.3 用户接口 (1学时)
掌握作业控制、系统调用;了解用户接口的演变。
2.4 分时作业管理 (0.5学时)
了解分时作业管理。
2.5 Linux简介 (1学时)
了解Linux的发展历史和发展前景,Linux系统的特点,Linux系统结构。
2.6 Linux的Shell (1.5学时)
理解Shell提供的命令种类,程序语言Shell,make命令。
2.7 Linux的系统调用 (1学时)
理解有关设备管理的系统调用,有关文件系统的系统调用,有关进程控制的系统调用,有关进程通信的系统调用,有关存储管理的系统调用。
2.8 Linux桌面环境KDE介绍 (1学时)
了解Linux桌面环境KDE介绍。
考核要求:
1. 识记并领会:作业的概念,JCB的建立,SPOOLING系统,操作系统用户接口。
2. 分析:Linux的Shell,Linux的系统调用。
第3章 进程管理
教学要点:
进程的概念和描述,进程的同步和互斥,进程通信,死锁。
教学时数:10学时
教学内容:
3.1 进程和线程的概念 (1学时)
掌握程序的并发执行、进程的定义、作业和进程的关系;了解线程的概念。
3.2 进程的描述 (1学时)
掌握进程控制块PCB,进程上下文。
3.3 进程状态及其转换 (1学时)
掌握进程的三种基本状态:执行状态、等待状态、就绪状态,三种状态间的转换。
3.4 进程控制 (1学时)
理解进程的创建与撤消,进程的阻塞与唤醒。
3.5 进程互斥 (2学时)
掌握资源共享所引起的制约,互斥的加锁实现,信号量和P、V原语,用P、V原语实现进程互斥。
3.6 进程同步 (1学时)
掌握同步的概念,私用信号量,用P、V原语实现同步;理解生产者——消费者问题。
3.7 进程通信 (1.5学时)
理解进程的通信方式,消息缓冲机制,邮箱通信。
3.8 死锁问题 (1.5学时)
掌握死锁的概念,死锁的排除方法,银行家算法。
考核要求:
1. 识记:进程的概念和描述,进程的互斥和同步,死锁的产生条件,线程的概念。
2. 领会:进程控制,进程通信, 死锁的排除方法和各种算法。
第4章 处理机调度
教学要点:
作业调度,进程调度,各种调度算法及其评价,多处理机调度机制。
教学时数:6学时
教学内容:
4.1 分级调度 (1学时)
作业的状态和转换,调度的层次。
4.2 作业调度 (1学时)
掌握作业调度功能,作业调度目标与性能衡量。
4.3 进程调度 (1学时)
掌握进程调度的功能,进程调度的时机,进程上下文切换;理解进程调度性能评价。
4.4 调度算法 (1学时)
掌握先来先服务调度算法,轮转法,多级反馈轮转法,优先级法,静态优先级,动态优先级。
4.5 算法评价 (1学时)
理解FCFS方式的调度性能分析,轮转法调度性能评价,线性优先级法的调度性能。
4.6 多处理机调度 (1学时)
了解多处理机系统的概念,多处理机操作系统的分类,多处理机系统调度策略。
考核要求:
1. 识记:作业调度的功能和目标。
2. 领会:进程调度,调度算法的性能评价。
3. 分析及应用进程调度算法。
第5章 存储管理
教学要点:
虚拟存储器的概念,分区存储管理,页式存储管理,段式与段页式存储管理。
教学时数:12学时
教学内容:
5.1 存储管理的功能 (1.5学时)
掌握虚拟存储器,内外存数据传输的控制,内存的分配与回收;理解地址变换,内存信息的共享与保护。
5.2 单道环境下的存储管理 (0.5学时)
理解单一连续区分配;了解单一连续区管理方式的优缺点。
5.3 分区存储管理 (2学时)
理解分区管理基本原理,分区的分配与回收。
5.4 覆盖与交换技术 (1学时)
理解覆盖技术,交换技术。
5.5 页式管理 (3学时)
掌握页式管理的基本原理,静态页面管理,动态页式管理,存储保护;理解请求页式管理中的置换算法;了解页式管理的优缺点。
5.6 段式与段页式管理 (3学时)
掌握段式管理的基本思想,段页式管理的基本思想;理解段式管理的实现原理,段页式管理的实现原理;了解段式管理的优缺点。
5.7 局部性原理和抖动问题 (1学时)
掌握局部性原理;理解工作集概念。
考核要求:
1. 识记:存储管理的功能,虚拟存储器的概念,页式管理的基本原理,动态页式管理,页式管理存储保护,段式管理和段页式管理的基本思想,局部性原理。
2. 领会:地址变换,分区管理的基本原理,分区的分配与回收,静态页式管理,段页式管理的实现原理,工作集概念。
3. 应用:请求页式管理中的置换算法。
第6章 Linux进程和存储管理
教学要点:
Linux进程结构、进程控制,Linux进程调度与交换,进程间通信,Linux存储管理方式。
教学时数:8学时
教学内容:
6.1 Linux进程和存储管理介绍 (1学时)
6.2 Linux进程结构 (1学时)
掌握Linux进程的概念,进程的虚地址结构,进程上下文,进程的状态和状态转换。
6.3 Linux进程控制 (1学时)
了解Linux启动和进程树的形成,理解Linux进程控制。
6.4 Linux进程调度与交换 (1学时)
掌握Linux进程调度,交换。
6.5 进程间通信 (2学时)
掌握Linux的低级通信,进程间通信IPC。
6.6 Linux存储管理 (2学时)
掌握Linux虚存空间划分和管理思想;理解Linux的内存分配与释放,地址变换过程,Linux的请求调页技术。
考核要求:
1. 领会:Linux进程控制,内存的分配与释放,Linux进程结构。
2. 分析:Linux进程调度,进程间通信,Linux的页式存储管理。
第7章 文件系统
教学要点:
文件系统的作用,文件的结构与存取,文件的目录管理。
教学时数:12学时
教学内容:
7.1 文件系统的概念 (1学时)
掌握文件系统的引入,文件与文件系统的概念,文件的分类。
7.2 文件的逻辑结构与存取方法 (1学时)
理解文件的逻辑结构,存取方法,顺序存取法,随机存取法,按键存取法。
7.3 文件的物理结构与存储设备 (1学时)
理解文件的物理结构:连续文件,串联文件,索引文件;理解文件存储设备:顺序存取设备,直接存取设备。
7.4 文件存储空间管理 (1学时)
掌握三种不同的空闲块管理方法:空闲文件目录,空闲块链,位示图。
7.5 文件目录管理 (2学时)
掌握文件的组成,文件目录,可共享的文件目录,目录管理。
7.6 文件存取控制 (1学时)
理解文件存取控制的目标,存取控制方法。
7.7 文件的使用 (0.5学时)
了解文件的使用。
7.8 文件系统的层次模型 (0.5学时)
了解文件系统的层次模型。
7.9 Linux文件系统的特点与数据结构、文件类别 (1.5学时)
掌握Linux文件系统的特点,Linux文件分类,文件系统的数据结构及其关系。
7.10 Linux文件系统的资源管理和地址映射 (1.5学时)
理解磁盘i-node的分配与释放,内存i-node的分配与释放,系统打开文件表的分配与释放,地址映射。
7.11 Linux系统中的目录与搜索方法,以及文件系统的系统调用 (1学时)
理解散列搜索法,算法描述;理解Linux系统调用。
考核要求:
1. 识记:文件系统的功能,文件系统的层次模型。
2. 领会:文件的逻辑与物理结构,文件存取方法及其存取控制,文件目录管理。
3. 分析:Linux文件系统的数据结构及其相互关系,Linux文件系统的资源管理和地址映射、系统中的目录与搜索方法,Linux文件系统的系统调用。
4. 应用层次:文件的使用。
第8章 设备管理
教学要点:
主要介绍设备管理的基本概念,包括中断、缓冲、设备分配和控制。
教学时数:8学时
教学内容:
8.1 引言 (0.5学时)
掌握设备的类别,设备管理的功能和任务。
8.2 数据传送控制方式 (1学时)
掌握程序直接控制方式,中断方式,DMA方式,通道控制方式。
8.3 中断技术 (1学时)
掌握中断的基本概念,中断的分类与优先级,软中断;理解中断处理过程。
8.4 缓冲技术 (1学时)
掌握缓冲的目标,缓冲的种类,缓冲池的管理。
8.5 设备分配 (1学时)
掌握设备分配用的数据结构,设备分配的原则,设备分配办法。
8.6 I/O进程控制与设备驱动程序 (0.5学时)
了解I/O控制的功能,I/O控制的实现,设备驱动程序。
8.7 Linux的中断和异常处理 (1学时)
理解中断和异常总控过程,中断分类和处理,异常处理。
8.8 Linux缓冲区管理 (1学时)
掌握Linux缓冲池结构,缓冲区的分配与释放,缓冲区数据读写。
8.9 块设备驱动与字符设备驱动 ( 1学时)
理解块设备驱动:设备配置,设备驱动程序的接口;理解字符设备驱动:主要数据结构,包括缓冲区结构、缓冲队列的控制结构、字符设备开关表。
考核要求:
1. 识记:数据传送控制方式,缓冲技术,设备分配。
2. 领会:中断技术,Linux缓冲区管理,Linux的中断和异常处理。
第9章 面向对象、网络、分布式操作系统
教学要点:
介绍面向对象的操作系统和网络操作系统,以及分布式操作系统的概念。
教学时数:4学时
教学内容:
9.1 面向对象和操作系统 (1学时)
了解面向对象的基本概念,面向对象操作系统的概念及其开发方法,面向对象操作系统的分类。
9.2 网络操作系统 (1学时)
了解网络操作系统的构成,文件与打印服务,电子邮件服务。
9.3 分布式操作系统 (2学时)
了解进程迁移,分布进程同步,分布式进程通信,分布式系统中的死锁。
考核要求:
识记面向对象操作系统的概念,分布式操作系统的基本概念;领会网络操作系统的构成与服务。