南方医科大学本科专业教学大纲
操作系统原理
Operating System
适用专业:计算机科学与技术专业
生物医学工程专业(医学信息工程方向)
执笔人:江贵平
审定人:吕庆文
学院负责人:陈武凡
南方医科大学教务处
二○○六年十二月
课程编码:B030009
一、课程简介
《操作系统原理》是计算机科学与技术专业的专业课。操作系统是计算机系统配置的基本系统软件之一,在计算机系统软件中占有极其重要的地位。本课程系统介绍了操作系统的基本原理,通过理论联系实际的教学过程,使学生能较系统地了解计算机操作系统的基本概念、工作原理、设计目标和主要的算法和技术,培养学生分析和设计操作系统的初步能力,为今后进一步从事计算机操作系统和系统软件的分析、研制和开发打下良好的基础。
本课程适用于计算机科学与技术和医学信息工程专业。总学时63,其中理论授课54学时,实验课9学时,计3学分。
本课程的先修课程包括:计算机组成原理,数据结构,C语言程序设计。
Operating systems are an essential part of any computer system. Similarly, a course on operating systems is an essential part of any computer-science education. This field is undergoing change at a breathtakingly rapid rate, as computers are now prevalent in virtually every application, from games for children through the most sophisticated planning tools for governments and multinational firms. Yet the fundamental concepts remain fairly clear, and it is on these that this course bases.
This is an introductory course in operating systems suitable for specialities of Computer Science and Medical Information Engineering. This course includes 54 classes of lectures and 9 classes of experiments. The credit goes to 3.
As prerequisites, this course assumes that the student is familiar with basic computer organization, data structures, and a high-level language, such as C.
二、教学内容与要求
第一章 引论
【教学内容】
1.操作系统的形成和发展
【知识要点】什么是操作系统?操作系统的发展历程
2.操作系统的功能和特性
【知识要点】操作系统的功能、操作系统的特性
3.操作系统的类型和主要产品
【知识要点】多道批处理系统、分时系统、实时系统、个人机系统、网络操作系统、分布式操作系统、操作系统的主要产品系列
4.操作系统的用户界面
【知识要点】图形界面、命令行界面、系统调用
【教学要求】
1、掌握:操作系统的定义,操作系统的特性和主要功能。
2、熟悉:操作系统的主要类型,UNIX命令行格式,分时概念。
3、了解:操作系统的发展历程,分时和实时操作系统的特点,操作系统的用户界面,操作系统在计算机系统中的地位,主要操作系统产品系列。
第二章 进程管理:进程
【教学内容】
1.进程的概念
【知识要点】进程、进程状态、进程控制块、线程
2.进程调度
【知识要点】调度队列、调度程序、关联切换
3.进程操作
【知识要点】进程创建、进程中止
4.进程协作
【知识要点】进程协作
5.进程间通信
【知识要点】消息传递系统、命名、同步、缓冲
6.客户机-服务器系统通信
【知识要点】套接字、远程过程调用、远程方法调用
【教学要求】
1、掌握:进程定义,进程的状态及其变化,调度队列程序和关联切换。
2、熟悉:进程创建、中止和进程间协作。
3、了解:进程间的通信,客户机-服务器系统通信。
第三章 进程管理:线程
【教学内容】
1.概述
【知识要点】为什么要线程? 动机、优点、用户线程与内核线程
2.多线程模型
【知识要点】多对一模型、一对一模型、多对多模型
3.多线程的若干问题
【知识要点】系统调用fork和exec、取消、信号处理、线程池、线程数据
4.Pthread线程
5.Solaris 2线程
6.Windows 2000线程
7、Linux线程
8、Java线程
【知识要点】线程创建、JVM与主机操作系统
【教学要求】
1.掌握:线程定义,用户线程与内核线程、多线程模型
2.了解:多线程的若干问题、线程实例
第四章 进程管理:CPU调度
【教学内容】
1.基本概念
【知识要点】CPU-I/O区间周期、CPU调度程序、可抢占式调度、分派程序
2.调度准则和算法
【知识要点】调度准则、先到先服务、最短作业优先、优先权调度、轮转法调度、多级队列调度、多级反馈队列调度
3.多处理器调度和实时调度
4.算法性能评价
【知识要点】确定性建模、排队建模、模拟、实现
5.进程调度模型
【教学要求】
1.掌握:CPU调度的概念,常用调度算法
2.熟悉:调度级别,性能评价标准,UNIX常用调度命令。
3.了解:进程调度模型,其他调度算法。
第五章 进程管理:同步
【教学内容】
1.背景
2.临界区域问题
【知识要点】什么是临界区域,两进程解法、多进程解法
3.同步硬件
4.信号量
【知识要点】信号量用法、实现、死锁与饥饿、二进制信号量
5.经典同步问题
【知识要点】有限缓冲问题、读者-作者问题、哲学家进餐问题
6.管城
7.操作系统同步
【知识要点】Solaris 2 中的同步,Windows 2000的同步
8.原子事务
【知识要点】系统模型、基于日志的恢复、检查点、并发原子事务
【教学要求】
1.掌握:临界区域问题、信号量、经典同步问题
2.了解:同步硬件、管城、操作系统同步、原子事务
第六章 进程管理:死锁
【教学内容】
1.系统模型
2.死锁特点
【知识要点】必要条件、资源分配图
3.死锁处理方法
4.死锁预防
【知识要点】互斥、占有并等待、非抢占、循环等待
5.死锁避免
【知识要点】安全状态、资源分配图算法、银行家算法
6.死锁检测
【知识要点】实例、检测算法
7.死锁恢复
【知识要点】进程终止、资源抢占
【教学要求】
1.掌握:死锁模型和特点、死锁预防与避免、死锁检测
2.了解:死锁处理方法、死锁恢复
第七章 存储管理:内存管理
【教学内容】
1.背景
【知识要点】地址捆绑、逻辑地址空间与物理地址空间、动态加载、动态链接与共享库、覆盖
2.交换
3.连续内存分配
【知识要点】内存保护、内存分配、碎片
4.分页
【知识要点】基本方法、硬件支持、保护、页表结构、共享页表
5.分段
【知识要点】基本方法、硬件、保护与共享、碎片
6.段页式存储
【教学要求】
1.掌握:本章1~5所有内容
2.了解:带有分页的分段
第八章 存储管理:虚拟内存
【教学内容】
1.背景
2.请求页面调度
【知识要点】基本概念、请求页面调度的性能
3.进程创建
【知识要点】写时拷贝、内存映射文件
4.页面置换
【知识要点】基本方法、FIFO页置换、最优页置换、LRU页置换、LRU近似页置换、基于计数的页置换、页缓冲算法
5.帧分配
【知识要点】帧的最小数量、分配算法、全局分配与局部分配
6.系统颠簸
【知识要点】系统颠簸的原因、工作集合模型、页错误频率
7.其他考虑
【知识要点】预约式页面调度、页大小、TLB范围、反向页表、程序结构、I/O互锁、实时处理
【教学要求】
1.掌握:本章所有内容
第九章 存储管理:文件系统
【教学内容】
1.文件概念与访问方法
【知识要点】文件概念、顺序访问、直接访问、其他访问方法
2.目录结构
【知识要点】单层目录、双层目录、树形结构目录、无环图目录、通用图目录
3.共享与保护
【知识要点】多用户、远程文件系统、一致性语义、UNIX语义、会话语义、访问类型、访问控制、其他保护方法
4.文件系统结构与实现
【知识要点】概述、分区与安装、虚拟文件系统
5.目录实现
【知识要点】线性列表、哈希表
6.分配方法
【知识要点】连续分配、链接分配、索引分配、性能
7.空闲空间管理
【知识要点】位向量、链表、组、计数
8.基于日志结构的文件系统
9.NFS
【教学要求】
1.掌握:本章1~7节所有内容
2.了解:本章8~9节内容
第十章 I/O系统
【教学内容】
1.I/O硬件
【知识要点】轮询、中断、直接内存访问
2.I/O应用接口
【知识要点】块与字符设备、网络设备、时钟与定时器、阻塞与非阻塞I/O
3.I/O内核子系统
【知识要点】I/O调度、缓冲、高速缓存、假脱机与设备预留、错误处理、内核数据结构
4.大容量存储器结构
【知识要点】硬盘结构、硬盘调度算法、磁盘管理、交换空间管理,RAID结构、存储体系、稳定存储实现
【教学要求】
1.掌握:本章所有内容
第十一章 分布式系统
【教学内容】
1.概述
【知识要点】分布式系统的优点与类型
2.拓扑结构与网络类型
【知识要点】拓扑结构、局域网、广域网
3.通信
【知识要点】命名与解析、路由策略、分组策略、链接策略、竞争、通信协议
4.健壮性
【知识要点】故障检测、重构、故障恢复
5.分布式文件系统的命名
【知识要点】命名结构、命名方案、实现技术
6.远程文件访问
【知识要点】缓存设计、缓存更新策略、一致性、文件复制
7.分布式协调
【知识要点】事件排序、互斥÷并发控制、死锁处理
【教学要求】
1.掌握:本章1~5节所有内容
2.了解:本章6~7节内容
第十二章 网络操作系统
【教学内容】
1.网络系统概述
【知识要点】计算机网络的定义、分类和发展、常用网络互连标准
2.网络操作系统
【知识要点】网络操作系统的任务及分类、网络操作系统的一般特性
3.Windows NT网络命令使用
【教学要求】
1.理解:网络操作系统的任务。
2.了解:网络操作系统的一般特性,Windows NT网络命令。
第十三章 保护与安全
【教学内容】
1.保护
【知识要点】保护目标、保护域、访问矩阵及其实现、基于权限的保护、基于语言的保护
2.安全
【知识要点】安全问题、用户验证、程序威胁、系统威胁、入侵检测、密码系统
【教学要求】
1.了解:本章所有内容。
三、实验(见习)内容与要求
实验一
1、实验项目:进程调度实验
2、实验目的:独立地编写和调试一个简单的进程同步和进程调度程序,可任选一调度算法,加深对进程调度相关思想的理解。
3、实验内容:进程函数定义,建立进程函数,进程调度函数
实现进程调度算法有FIFO,优先数调度算法,时间片轮转调度算法,分级调度算法。
实验二
1、实验项目:作业调度算法
2、实验目的:能独立地编写几个常用的作业调度算法,并能设计一个调度算法的模拟程序。
对各种算法进行分析比较,评测其性能优劣,加深理解。
3、实验内容:实现三种算法:1、先来先服务;2、最短作业优先;3、优先权调度算法
实验三
1、实验项目:存储器管理实验
2、实验目的:能独立地编写几个常用的存储分配算法,并能设计一个存储管理的模拟程序。
对各种存储算法进行分析比较,评测其性能优劣,加深理解。
3、实验内容:模拟存储管理中内存空间的管理和分配内存空间的管理分为固定分区管理方式,可变分区管理方式,页式存储管理,段式存储管理。
实验四
1、实验项目:假脱机输入输出和文件管理
2、实验目的:独立编写和调试简单的文件操作程序,熟悉常见的文件操作。
加深学生对典型文件操作命令的实质内容和执行过程的理解。
3、实验内容:
实现三种算法: 1、先来先服务;2、最短寻道优先;3、电梯算法
磁道服务顺序从指定的文本文件中取出数据并按如下方式输出:
第一行:磁道的服务顺序;第二行:显示移动总道数。
四、基本技能要求
1、奠定计算机专业知识基础
了解操作系统概念和结构,掌握操作系统相关算法和技术。
2、提升计算机专业动手能力
熟悉操作系统的设计、使用、管理方法,综合程序设计、数据结构、编译原理、计算机原理等知识。
3、奠定长远专业发展
塑造创造性思维、建立完整知识体系结构,开拓专业性视野、明确未来专业发展方向。
五、扩展性教学内容
视学生基础,可开展双语教学、操作系统案例讨论或结合其他计算机专业课程进行综合课程设计,培养学生计算机思维能力,塑造良好的软件工程规范,提高程序设计、阅读、编写能力。
六、教材与教学资源
教材:
《操作系统概念》(第六版 影印版或中译版)
Abraham Silberschatz等编著 高等教育出版社,John Wiley&Son, Inc.
主要参考书:
1. 汤子瀛等,计算机操作系统(修订版),西安电子科技大学出版社,2003
2. 孟静,操作系统教程——原理和实例分析,面向21世纪课程教材,高等教育出版社,2001
3. 张尧学,史美林,计算机操作系统教程,清华大学出版社, 1993
七、考核
课程成绩组成:闭卷考试60%+实验30%+平时10%
闭卷考试时间:3学时
附:考核命题计划双向细目表
|
题 型
|
合 计
|
客观型(固定应答型)试题
|
主观型(自由应答型)试题
|
题型一
|
题型二
|
题型三
|
|
|
|
题型一
|
题型二
|
题型三
|
|
|
|
|
1
|
|
3
|
|
|
|
|
|
4
|
|
|
|
|
|
7
|
2
|
|
3
|
|
|
|
|
|
4
|
|
|
|
|
|
7
|
3
|
|
3
|
|
|
|
|
|
4
|
|
|
|
|
|
7
|
4
|
|
|
|
|
|
|
|
|
15
|
|
|
|
|
15
|
5
|
|
3
|
|
|
|
|
|
|
|
|
|
|
|
3
|
6
|
|
3
|
|
|
|
|
|
|
15
|
|
|
|
|
18
|
7
|
|
3
|
|
|
|
|
|
|
|
|
|
|
|
3
|
8
|
|
3
|
|
|
|
|
|
|
15
|
|
|
|
|
18
|
9
|
|
3
|
|
|
|
|
|
4
|
|
|
|
|
|
7
|
10
|
|
2
|
|
|
|
|
|
2
|
|
|
|
|
|
4
|
11
|
|
2
|
|
|
|
|
|
2
|
|
|
|
|
|
4
|
12
|
|
1
|
|
|
|
|
|
2
|
|
|
|
|
|
3
|
13
|
|
1
|
|
|
|
|
|
2
|
|
|
|
|
|
3
|
八、教学时数分配
(一)理论课学时分配
章节
|
理论课内容(中英文对照)
|
学时
|
1
|
引论(Introduction)
|
5
|
2
|
进程管理-进程(Process Management-Process)
|
3
|
3
|
进程管理-线程(Process Management-Thread)
|
3
|
4
|
进程管理-调度(Process Management-Scheduling)
|
4
|
5
|
进程管理-同步(Process Management-Synchronization)
|
3
|
6
|
进程管理-死锁(Process Management-Deadlock)
|
3
|
7
|
存储管理-内存管理(Storage Management-Memory Management)
|
4
|
8
|
存储管理-虚拟内存(Storage Management-Virtual Memory)
|
4
|
9
|
存储管理-文件系统(Storage Management-File System)
|
4
|
10
|
I/O系统(I/O Systems)
|
5
|
11
|
分布式系统(Distributed System)
|
4
|
12
|
网络操作系统(Network Operating System)
|
6
|
13
|
保护与安全(Protection and Security)
|
3
|
14
|
考试(Examination)
|
3
|
理论课总学时数
|
54
|
(二)实验课学时分配
序号
|
实验课内容(中英文对照)
|
实验类型
|
学时
|
1
|
进程调度(Process Scheduling)
|
综合性实验
|
3
|
2
|
作业调度(Job Scheduling)
|
综合性实验
|
2
|
3
|
存储器管理(Storage Management)
|
综合性实验
|
2
|
4
|
文件管理(File Management)
|
综合性实验
|
2
|
实验课总学时数
|
9
|
(注:“实验类型”分为:演示性实验、验证性实验、综合性实验、设计性实验)
九、课程实施要求及相关说明
本课程围绕提高学生综合素质为中心,在实施过程中将采用实际的计算机操作系统与传统教学内容融合并重的形式,同时将实验环节贯穿于课程教学的全过程,从而培养学生对操作系统感性知识的理解,认识和实际动手能力的培养。另外,通过课外专题讲座的形式,拓展学生的知识面,培养学生发现问题、分析问题和解决问题的能力。
实践教学除了正常教学实践环节中的实验教学内容外,还将开设一些难度较大的综合性实验作为选作实验,为学有余力的学生提供更多的实践机会。