操作系统原理》教学大纲

2013版)

 

 

 

 

 

课程编码:0611101205

课程名称:操作系统原理

学时/学分:82/5

先修课程:《计算机导论》、《程序设计基础》、《算法与数据结构》

适用专业:计算机科学与技术

开课教研室:嵌入式系统教研室

 

 

 

 

 

 

 

 

 

 

 

 

执笔:

审定:

 

 

 

 

一、课程性质与任务

1.课程性质:操作系统原理是计算机科学与技术专业的专业必修课程。

2.课程任务:理解、掌握操作系统基本概念、基本原理和方法;理解常见操作系统的结构原理并能熟练使用;进一步熟悉、学习 Linux操作系统,提高自己的应用技能;学习 Linux C编程,为下一步深入学习Linux 内核做准备;阅读分析 Linux 0.11 内核 源代码,提升自己对操作系统原理的理解水平,对操作系统有一个总体的把握和认知。

二、课程教学基本要求

教学环境要求:多媒体教室。

实验环境要求:安装有Linux系统的计算机。

本课程共计82学时

成绩考核形式:末考成绩(闭卷考试)(70%)+平时成绩(平时测验、作业、实验、课堂提问、课堂讨论等)(30)。成绩评定采用百分制,60分为及格。

三、课程教学内容

第一章    操作系统概述

1.教学基本要求

了解计算机操作系统的基本概念,激发学生对本课程的学习兴趣。

2.要求学生掌握的基本概念、理论、技能

理解操作系统的定义及操作系统在计算机系统中的作用以及地位;了解操作系统形成和发展的过程;掌握基本的操作系统类型的特点;掌握从资源管理角度来讲操作系统的四大功能

3.教学重点和难点

教学重点是操作系统的定义,3个基本操作系统的特点和操作系统的四大功能。教学难点是实时操作系统的特点和分类。

4.教学内容

1操作系统概念

主要知识点:计算机系统结构;操作系统定义;操作系统的目标。

2)操作系统的形成及发展

主要知识点:操作系统的形成 ;操作系统的发展;操作系统的分类;基本操作系统的类型的特点;操作系统的发展动力。

3)研究操作系统的观点

主要知识点:软件的观点;资源管理的观点;进程的观点;用户与计算机硬件系统之间接口的观点。

4)操作系统的功能与特征

主要知识点:操作系统的功能;操作系统的特征。

5)操作系统的结构

主要知识点:模块化结构;层次化结构;微内核;客户/服务器模式。

6)操作系统的硬件环境

主要知识点:中央处理机;存储系统;缓冲技术;中断技术;时钟。

第二章    操作系统的用户接口和作业管理

1.教学基本要求

了解计算机操作系统提供给用户的接口,理解常用的作业调度策略。

2.要求学生掌握的基本概念、理论、技能

了解操作系统提供给用户的命令接口、程序接口以及图形接口;理解系统调用的概念以及处理过程;理解作业的基本概念;掌握常用的作业调度策略

3.教学重点和难点

教学重点是操作系统提供给用户的命令接口和程序接口,系统调用的概念及处理过程,作业调度策略。教学难点是系统调用的概念及处理过程,响应比高者优先作业调度算法的理解和运用。

4.教学内容

1用户接口

主要知识点:用户接口的概念;用户接口的分类。

2)系统调用

主要知识点:系统调用的概念;系统调用的处理过程。

3)作业管理

主要知识点:作业的基本概念;作业控制块;作业的状态;作业的调度策略。

第三章    进程与进程管理

1.教学基本要求

了解进程的基本概念,进程调度的概念、算法,线程的基本概念;Linux的进程管理。

2.要求学生掌握的基本概念、理论、技能

理解前驱图概念并能根据语句或者程序间关系画出相应的前驱图;理解程序顺序执行、并发执行的特点以及多道程序设计技术;了解进程的相关概念、进程的基本状态及转换;掌握常用的进程调度算法;理解线程概念;了解Linux的进程管理

3.教学重点和难点

教学重点是进程定义,进程3个基本状态及转换,进程调度算法,线程基本概念,Linux的进程管理。教学难点是掌握常用的进程调度算法。

4.教学内容

1进程的引入

主要知识点:前驱图;程序顺序执行;程序并发执行;多道程序设计。

2)进程

主要知识点:进程的概念;进程的基本状态极其转换;进程控制块;进程控制。

3)进程调度

主要知识点:调度的基本概念;进程调度算法;进程调度的时机和过程。

4)线程的基本概念

主要知识点:线程的引入;线程的定义和属性;线程与进程的比较。

5Linux进程管理

主要知识点:进程结构与进程控制;核心进程调度。

第四章    进程同步与通信

1.教学基本要求

了解并发进程间存在的各种制约关系;能用信号量机制以及管程机制解决进程间的同步和互斥问题;了解进程通信的概念;掌握死锁处理的方法。

2.要求学生掌握的基本概念、理论、技能

理解并发进程间的关系;理解并掌握经典的进程同步问题;掌握用信号量机制和管程机制解决进程间的同步问题;了解进程通信的概念和进程通信的分类;理解死锁的定义及产生死锁的4个必要条件;掌握死锁的预防、避免、检测以及解除方法

3.教学重点和难点

教学重点是用信号量机制解决进程间的同步问题,死锁的定义,死锁产生的4个必要条件以及死锁的预防、避免、检测以及解除方法。教学难点是用信号量机制解决进程间的同步问题,用银行家算法避免死锁。

4.教学内容

1进程间的相互作用

主要知识点:并发进程的关系;利用软件方法解决进程互斥问题;利用硬件方法解决进程互斥问题;信号量机制;经典进程同步问题;管程机制。

2)进程通信

主要知识点:进程通信的概念;进程通信的类型;直接通信和间接通信;消息缓冲队列通信机制。

3)死锁

主要知识点:死锁定义;产生死锁的原因和必要条件;预防死锁;避免死锁;检测死锁;解除死锁。

第五章    存储器管理

1.教学基本要求

了解计算机系统的存储器层次结构;了解存储管理的功能;掌握连续存储管理方式、分页存储管理方式以及分段存储管理方式;了解虚拟存储器的工作原理、内存分配策略及内存分配算法;了解Linux的内存管理。

2.要求学生掌握的基本概念、理论、技能

理解存储器层次结构;了解存储管理的功能;掌握连续存储管理方式、分页存储管理方式、分段存管理方式以及段页式存储管理方式;理解覆盖和交换技术;理解虚拟存储器的工作原理;掌握虚拟存储器的内存管理方法、内存分配策略以及内存分配算法;掌握Linux的内存管理。

3.教学重点和难点

教学重点是存储管理的功能,连续及非连续的内存管理方法,虚拟存储器工作原理,Linux的内存管理。教学难点是分页存储管理方式的地址转换,分页虚拟存储管理页面置换算法。

4.教学内容

1概述

主要知识点:存储体系;存储管理的目的;存储管理的任务;程序的链接和装入;存储管理方式的分类。

2)连续存储管理方式

主要知识点:单一连续分配;分区分配。

3)覆盖技术与交换技术

主要知识点:覆盖技术;交换技术。

4)分页存储管理方式

主要知识点:工作原理;动态地址转换;快表;两级和多级页表;分配与回收。

5)分段存储管理方式

主要知识点:工作原理;动态地址变换;存储保护;分页和分段的主要区别。

6)段页式存储管理方式

主要知识点:工作原理;地址变换。

7)虚拟存储器

主要知识点:概述;分页虚拟存储管理;分段虚拟存储管理。

8Linux的内存管理

主要知识点:Linux内存管理的数据结构;页面的分配与回收;页面置换算法。

第六章    文件管理

1.教学基本要求

了解文件和文件系统;了解文件的结构及存取方法;了解文件系统的作用;掌握目录管理、文件系统的实现;掌握磁盘调度算法。

2.要求学生掌握的基本概念、理论、技能

理解文件和文件系统的概念;掌握文件的逻辑结构、物理结构和存取方法;理解目录的概念和多级目录结构;掌握外存空间的管理方法;了解文件的主要操作方法和文件的共享方式;了解文件系统安全的相关措施;掌握磁盘的移臂调度算法;了解Linux的文件管理                           

3.教学重点和难点

教学重点是文件和文件系统的定义,文件的物理结构,文件共享,文件系统安全,磁盘的移臂调度算法,Linux文件管理。教学难点是成组链接法实现外存管理,磁盘的移臂调度算法。

4.教学内容

1概述

主要知识点:文件和文件系统;文件分类。

2)文件的结构和存取方式

主要知识点:文件的存取方式;文件的逻辑结构;存储介质;文件的物理结构。

3)文件目录

主要知识点:文件控制块;文件目录结构;目录的查找和目录的改进。

4)文件系统的实现

主要知识点:打开文件表;外存空间管理。

5)文件的使用

主要知识点:文件的操作;文件共享。

6)文件系统的安全性和数据一致性

主要知识点:防止人为因素造成的文件不安全性;防止系统因素或自然因素造成的文件不安全性;文件系统的数据一致性。

7)磁盘调度

主要知识点:磁盘I/O时间,磁盘的移臂调度;磁盘的优化分布。

8Linux文件系统基础

主要知识点:Linux文件系统结构;Linux文件类型;Linux文件系统的目录及操作;Linux文件的操作;Linux文件的共享。

第七章    设备管理

1.教学基本要求

了解设备管理的主要功能;深入认识I/O控制方式;了解设备分配过程和相关算法;掌握各种缓冲技术的特点;掌握虚拟设备的工作原理和工作过程。

2.要求学生掌握的基本概念、理论、技能

理解设备管理的基本概念;了解I/O硬件和I/O软件的的主要功能和特点;了解设备的分配过程;掌握设备分配的算法;理解实现虚拟设备的Spooling技术、Spooling的组成以及Spooling系统的优缺点。

3.教学重点和难点

教学重点是设备的分类,I/O控制方式,缓冲技术,各层I/O软件的主要功能和特点,设备分配,虚拟设备原理以及实现。教学难点是I/O控制方式、虚拟设备的实现。

4.教学内容

1概述

主要知识点:设备的分类;设备管理的目标和功能。

2I/O硬件特点

主要知识点:设备组成;设备接口;设备控制器;通道;I/O控制方式;缓冲技术。

3I/O软件的组成

主要知识点:I/O软件的目标;中断处理程序;设备驱动程序;独立于设备的软件;用户空间的I/O软件。

4)设备分配

主要知识点:设备分配中的数据结构;设备独立性;设备分配。

5)虚拟设备

主要知识点:Spooling技术;共享打印机;Spooling系统的优缺点。

四、学时分配

1.       讲授内容及学时分配

章序

内容

课时

备注

操作系统概述

8

习题,讨论1学时

操作系统的用户接口和作业管理

4

 

进程与进程管理

7

习题,讨论2学时

进程同步与通信

12

习题,讨论2学时

存储管理

14

习题,讨论2学时

文件系统

12

习题,讨论1学时

设备管理

7

习题,讨论1学时

合计

64

 

2.       实践内容及学时分配

序号

项目

名称

内容提要

学时

/选开

1

hello world程序

1shell程序的编写。

2Shell程序的执行。 

2

必开

2

Linuxfork系统调用,创建进程

熟悉linux中进程的创建及其使用

2

必开

3

用户态下模拟执行命令

进一步熟悉linux中创建进程的方法及其用途

2

必开

4

生产者消费者问题

1.深入理解生产者消费者问题

2.编写程序模拟经典进程同步问题

2

必开

5

读者写者问题

1.深入理解读者写者问题。

2.编程模拟实现读者写者问题

2

必开

6

哲学家进餐问题

1.深入理解哲学家进餐问题。

2.编程模拟实现读者写者问题

2

必开

7

进程间通信

掌握无名通道

2

必开

8

Linux源代码分析

分析 Linux 0.11 内核 源代码,提升自己对操作系统原理的理解水平

4

必开

合计

18

 

五、主用教材及参考书

(一)主用教材:

《操作系统》主编:谌卫军 出版社:清华大学出版社 出版时间:20125月。

(二)参考书:

1.LINUX操作系统原理与应用 (2) 主编:陈莉君  出版社:清华大学出版社 出版时间:2011年。

2.计算机操作系统教程(第2版)》主编:张尧学  出版社:清华大学出版社 出版时间:2006年。

3.计算机操作系统(第三版)》主编:汤小丹  出版社:西安电子科技大学出版社 出版时间:2007年。