操作系统
分享
课程详情
课程评价
spContent=《操作系统》课程已在苏州大学开设了20多年,在2004年被评为江苏省二类优秀课程,2011年被评为苏州大学精品课程。本课程采用美国最新教材,以原理和具体实例两个维度入手,从而使得基本原理和具体实例相结合,由经验丰富的老师深入浅出进行讲授。 欢迎各类高校的本科生、专科生选修本课程。
—— 课程团队
课程概述

操作系统Operating System,简称OS)是管理和控制计算机硬件软件资源,直接运行在“裸机上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户计算机接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统硬件、软件及数据资源,控制程序运行,提供人机交互界面,为其它应用软件提供支持等。

本课程的教学组织为六个部分:计算机操作系统概述、处理器管理、内存管理、文件管理和设备管理。在教学中将结合实例操作系统来进行操作系统基本原理的讲解,使得学习者不仅能够认识和掌握操作系统的基本概念与实现原理,也能够深入理解实例操作系统的设计方法与实现技术。


授课目标
通过本课程地的学习,主要达到以下的目的:使学生掌握计算机操作系统的基本原理及组成结构、基本概念和相关的新概念、名词及术语;理解操作系统各组成部分之间的关系、总体结构和综合工作原理;了解计算机操作系统的发展特点、设计技巧和方法;培养学生分析、修改和设计操作系统的能力。
课程大纲

第一章 操作系统简介(学时:1周)

1.1 什么是操作系统

操作系统的目的

操作系统定义

操作系统硬件结构

操作系统启动

 

1.2 多道程序设计和分时

单道批处理系统

多道批处理系统

分时操作系统

 

1.3 操作系统类型

大型机操作系统

桌面系统

嵌入式操作系统

手持系统

分布式系统

多处理器系统

集群系统

 

1.4 操作系统操作和功能

双模态

定时器

进程管理

内存管理

文件管理

I/O管理        

 

通过本章的学习,重点让学生掌握操作系统的概念、目的和在计算机体系中的地位,以及在操作系统中的一些重要的概念,如并行、并发、时间片等;理解在计算机的发展过程中出现的各种不同类型的操作系统以及它们的特点,了解常用的操作系统以及操作系统的现状。

本章的难点在于:1)对操作系统的双模态的理解;2)多道批处理(多道程序设计)技术和分时技术。

 

第二章 操作系统结构(学时:1周)

2.1 操作系统服务和接口

   操作系统服务

   操作系统程序接口 – 系统调用

   操作系统用户界面

   系统程序

 

2.2 操作系统结构

简单结构

层次结构

微内核结构

模块化结构

混合结构

 

2.3 虚拟机

虚拟机定义

JAVA虚拟机

工作站虚拟机

服务器虚拟机

 

通过本章的学习,重点让学生掌握操作系统为用户和应用程序所提供的各种服务、接口和系统程序等功能,掌握操作系统四种基本结构以及它们的特征和优缺点;理解虚拟机技术的实现方法和结构。

本章的难点在于:1)操作系统服务和系统调用的区别;2)什么是系统程序;3)操作系统的结构。

 

第三章 进程(Processes)(学时:1周)

3.1 进程

进程定义

进程和程序

进程组成

进程状态

进程控制块PCB

上下文切换

 

3.2 进程操作

进程创建

进程终止

Windows进程

Linux进程


3.4 进程间通信

协同进程

进程通信类型

共享内存

消息机制

直接和间接通信

同步

 

通过本章的学习,重点让学生掌握进程的基本概念以及和进程有关的内容,包括PCB、作业、任务等;掌握进程的状态以及转换时机、上下文切换的内容;掌握进程操作、通信的方法;了解不同操作系统的进程通信机制和协同进程的通信方法。

本章的难点在于:1)什么是进程;2)为什么进程需要有状态及其状态转换;3)进程如何创建和撤销。

 

第四章 线程(学时:1周)

    4.1 线程

引入原因

线程概念

线程和进程

线程的结构

线程优点

Windows线程

Linux线程

 

4.2 多线程模型

用户线程

内核线程

多对一模式

一对一模式

多对多模式

 

    4.3 线程库

线程库

JAVA线程

Windows线程

Pthread线程

 

    通过本章的学习,重点让学生掌握线程的概念以及线程和进程的区别;掌握用户线程和内核线程的定义、区别;掌握多线程模式下用户和内核线程的关系;了解JAVA等不同的实例线程库。

    本章的难点在于:1)什么是线程;2)用户态线程和核心态线程的映射模型。

 

第五章 CPU调度(学时:1周)

5.1 进程调度概述

长程调度

中程调度

短程调度

CPU脉冲

抢占式调度和抢占式调度

调度过程

调度指标

调度准则

 

5.3调度算法(1)

先来先服务调度

短作业优先调度

 

5.4调度算法(2)

优先级调度

时间片轮转调度

 

5.5调度算法(3)

多级队列调度

多级反馈队列调度

多处理器调度

 

通过本章的学习,重点让学生掌握CPU调度的基本类型、基本概念以及调度准则、衡量调度算法的参数,如响应时间、周转时间等;掌握4种基本的调度算法以及抢占式调度和非抢占式调度的区别;理解多级队列调度和多级反馈队列调度的算法

本章的难点在于:1)基于CPU脉冲的调度机制;2)抢占式调度和抢占式调度的区别;3)各种时间计算方法。

 

第六章 进程同步(学时:1周)

6.1 临界区

   数据不一致性

   有界换成问题

   竞争条件

   互斥和同步

   了解资源

   临界区

   临界区使用准则

 

6.2 信号量(Semaphore)

信号量概念

整型信号量

阻塞(Block)和唤醒(Wakeup)原语

记录型信号量

同步信号量和互斥信号量

信号量使用

 

6.3 生产者消费者问题

   问题描述

   互斥分析

   同步分析

   同步算法

 

6.4 读者/写者问题

   问题描述

   问题分析

   解决方法

 

6.5 哲学家就餐问题

   问题描述

   存在死锁的解决方法   

   不存在死锁的解决方法

   信号量总结

 

6.6 管程

信号量机制的问题

管程

条件变量

管程实现

管程例子

常用操作系统的同步机制

 

通过本章的学习,重点让学生掌握进程同步的意义、概念和方法;掌握临界区的概念以及进程同步的四个准则;掌握用信号量来解决进程的同步问题,并能熟练应用同步信号量和互斥信号量;理解管程机制。

本章是本课程的难点,具体的难点在于:1)对进程同步的理解;2)对需要同步和互斥的问题的分析方法;3)如何读懂带有同步机制的代码并模拟执行的过程。

 

第7章 死锁(学时:1周)

7.1 死锁概念及其资源分配图

引起死锁的原因

死锁定义

死锁的四个必要条件

资源分配图

死锁处理的方法

   

   7.2 死锁预防

    死锁预防方法介绍

    讨论互斥条件

     讨论占有并等待条件

    讨论非抢占条件

    讨论循环等待条件

 

7.3 死锁避免

  安全状态

  资源分配图算法

   银行家算法数据结构介绍

   安全性算法

   资源请求算法

   算法举例

 

7.4 死锁检测和恢复

   死锁检测方法介绍

   等待图

   死锁检测算法

   死锁恢复方法

 

通过本章的学习,让学生掌握死锁的产生原因、定义和四个必要条件;掌握预防死锁的方法;掌握用银行家算法来避免死锁;理解资源分配图、等待图、以及死锁的恢复和检测机制。

本章的难点在于:1)死锁的四个必要条件理解;2)银行家算法的理解和应用。

 

第8章 内存管理(学时:2周)

8.1 内存管理背景

  基本硬件
     地址绑定
     逻辑地址和物理地址
     动态加载
     动态链接

   

8.2 连续内存分配

  单一连续分配

  固定分区分配

  可变分区分配

  分配算法

  碎片

  紧缩

 

8.3 分页内存管理

  帧和页的概念

  地址转换机制

  空闲帧分配

  页表实现

  有效访问时间

  内存保护

  页共享


8.4 页表结构

  层次页表

  哈希页表

  反向页表

 

8.5 分段内存分配

  分段概念

  分段机制

  段共享

  段页式内存管理

 

8.6 内存“扩充”技术

  概述

  覆盖技术

  交换技术 

通过本章的学习,让学生掌握存储管理的三种主要的方法:连续分配、分页和分段存储管理,并掌握这三种机制的方法、算法、区别和联系,其中重点掌握分页存储管理;理解存储管理中的基本概念,包括地址绑定、逻辑与物理地址空间、动态重定位、动态装入、动态链接、交换、碎片等。

  本章的难点在于:1)分页存储管理中的地址映射过程;2)动态重定位;3)加入TLB后的分页系统中有效访问时间的计算。

 

第9章 虚拟内存(学时:1周)

9.1 虚拟存储技术

   引入虚存的背景和原因

   局部性原理

   虚存的概念

   虚存实现

   

9.2 请求分页

基本原理

有效无效位

缺页中断

性能分析

   

    9.3 页面置换

      页面置换的基本过程

      FIFO置换算法

      最优置换算法

      LRU置换算法

      近似LRU置换算法

 

    9.4 帧分配和颠簸(Trashing)

      帧分配

      颠簸原因

      工作集模型

      缺页中断频率

      如何防止颠簸发生

  

   9.5 内核内存分配

      内核内存使用特点

      伙伴系统

      SLAB系统

 

   9.6 虚拟内存其它考虑

      预调页
      页大小
      TLB范围
      反向页表
      I/O互锁
      程序结构

 

通过本章的学习,让学生重点掌握请求式分页系统的原理以及FIFO、最优、LRU等页面置换算法;掌握颠簸的原因以及检测解决的方法;理解虚拟存储器的概念以及实现方法;理解提高虚拟存储器效率的多种方法。

本章的难点在于:1)请求分页系统中有效访问时间的计算;2)页面置换算法

 

第10章 文件系统接口(学时:1周)

    10.1 文件       

        文件概念
        文件属性
        文件操作
        文件类型
        文件结构

    10.2 逻辑文件及其访问方法

        逻辑文件

        顺序文件

        直接文件

        索引文件

 

    10.3 文件目录

        文件控制块

        目录项和目录

        目录组织

        目录访问

        目录性能

        目录保护

 

    10.3 目录结构

        单层目录

        双层目录

        树形目录

        无环图目录

        通用图目录

 

通过本章的学习,让学生掌握文件的访问方法和目录结构,以及他们之间的关系;掌握文件目录的性能优化方法;理解文件的概念、结构、类型等内容,以及目录结构及其优缺点。

本章的难点在于不同目录结构的特点。

 

第11章 文件系统实现(学时:1周)

    11.1 文件系统

       文件系统结构

       文件系统实现
       虚拟文件系统
       网络文件系统
       常用文件系统


    11.2 连续分配

       物理块
       存储空间分配方式
       连续分配
       性能分析
       连续分配的改进


     11.3 链接分配

      链接分配

      隐式链接

      显式链接

      文件分配表(FAT)

 

    11.4 索引分配

      方法概述

      多层索引

      混合索引

 

    11.5 空闲空间管理

      空闲表

      空闲链表

      位示图

      成组链接

      一致性检查

      空闲空间整理

 

通过本章的学习,让学生重点掌握三种磁盘空间分配方法:连续、链接和索引,以及它们的优缺点;掌握文件系统的概念和磁盘空闲空间管理方法。

本章的难点在于不同磁盘空间分配方法的灵活应用。

 

第12章 大容量存储器的结构(学时:1周)

    12.1 磁盘结构和管理

      磁盘组成

      磁盘访问时间

      逻辑块到磁盘地址的映射

      磁盘管理

 

    12.2 磁盘调度和RAID

        磁盘调度概念

        FCFS调度

        SSTF调度

        SCAN调度

        C-SCAN调度

        LOOK调度

        磁盘调度算法的选择

       RAID

 

通过本章的学习,让学生掌握磁盘调度的依据和FCFS、SSTF、SCAN、C-SCAN和C-LOOK等调度算法;理解磁盘的结构和管理机制。

本章的难点在于磁盘调度算法。

 

第13章 I/O系统(学时:1周)

    13.1 I/O基本概念

     I/O子系统概述

     I/O子系统基本功能

     设备独立性

     内核I/O结构

    I/O设备的特点

 

    13.2 I/O控制方式

      轮询

      中断

      直接内存访问(DMA)

       

    13.3 I/O内核子系统

       I/O调度

      缓冲

      高速缓存

      假脱机(Spooling)

      设备预留

      错误处理

       I/O保护

 

通过本章的学习,让学生掌握现代I/O系统的两个基本思想:设备驱动和与设备无关性;掌握I/O系统的结构、内核I/O子系统的功能;理解I/O设备的分类、中断、DMA、通道等内容

本章难点在于I/O内核子系统中的两个服务:缓冲和假脱机。

预备知识

本课程的先修课程包括:

1)数据结构

2)计算机组成原理

3)C语言

4)汇编语言

证书要求

无证书。

参考资料

参考书目为:

1)计算机操作系统,汤小丹等,西安电子科技大学出版社;

2)现代操作系统,Andrew S. Tenenbaum,机械工业出版社;

3)Operating System,William Stallings,清华大学出版社