第一章 操作系统引论

  • 【目的要求】

    1. [了解]OS的引入和发展;
    2. [理解]多道程序设计技术;
    3. [掌握]操作系统的功能和特征、操作系统的分类;
    4. [了解]操作系统的结构设计.
  • 【重点与难点】

    1. 操作系统的功能和特征;
    2. 操作系统的分类.

1.1 操作系统的目标和作用

1.1.1 操作系统的目标

  • 特点:
    • 方便性
    • 有效性
    • 可扩充性
    • 开放性

1.1.2 操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
    OS是一个系统软件, 因而这种接口是软件接口.

    • 用户通过三种方式使用计算机
      • 命令方式
      • 系统调用方式
      • 图形、窗口方式
  2. OS作为计算机系统资源的管理者

    • 资源分为四类

      • 处理器
      • 存储器
      • I/O设备
      • 信息(数据和程序)
    • OS的主要功能是对这四类资源进行管理

      • 处理机管理,用于分配和控制处理机;
      • 存储器管理,主要负责内存的分配与回收;
      • I/O设备管理,负责I/O设备的分配与操纵;
      • 文件管理,负责文件的存取、共享和保护.
  3. OS实现了对计算机资源的抽象

1.1.3 推动操作系统发展的主要动力

  1. 不断提高计算机资源利用率
  2. 方便用户
  3. 器件的不断更新换代:主要元件(四代)、字长、内存、外设(外存、光盘、扫描仪等)
  4. 计算机体系结构的不断发展:单处理机、多处理机、网络
  5. 不断提出新的应用需求:如实时OS、多媒体功能、嵌入式OS等。

1.2 操作系统的发展过程

1.2.1 未配置操作系统的计算机系统

  1. 人工操作方式

    • [缺点]:
      • 用户独占全机
      • CPU等待人工操作

    人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾。CPU的速度在迅速提高,而I/O设备的速度却提高很慢,使得CPU与I/O设备之间速度不匹配的矛盾更加突出。

  2. 脱机输入/输出(Off-Line I/O)方式

    • [优点]
      • 减少了CPU的空闲时间
      • 提高了I/O速度

在脱机I/O技术的基础上产生了单道批处理系统。

1.2.2 单道批处理系统

  1. 单道批处理系统(Simple Batch Processing System)的处理过程
    作业:指用户程序及其所需要的数据和命令的集合
    单道:内存中始终只保持一道作业
    人们习惯上把按照这种形式顺序输入、执行的一批作业称为作业流

  2. 单道批处理系统的特征

    • [特征]
      • 自动性:无需用户干预
      • 顺序性 :一般情况下,先进入内存的作业先完成
      • 单道性:造成内存、CPU、I/O等资源浪费 [缺点]

1.2.3 多道批处理系统

  1. 多道程序设计的基本概念

  2. 两个概念

    • 多道程序设计: 指同时把几个作业放入内存,并允许它们交替执行,共享系统资源
    • 多道程序系统: 允许多个程序执行的操作系统
  3. [优点]

    • 提高CPU的利用率
    • 可提高内存和I/O设备利用率
    • 增加系统吞吐量: 单道和多道程序运行情况
  4. [特征]

    • 多道性
    • 无序性
    • 调度性: 两级调度
  5. [缺点]

    • 平均周转时间长
    • 无交互能力
    • 周转时间:是指从作业提交给系统开始,到作业完成为止的这段时间间隔.
  6. 多道批处理系统需要解决的问题

    • 处理机管理问题
    • 内存管理问题
    • I/O设备管理问题
    • 文件管理问题
    • 作业管理问题
    • 用户与系统的接口问题

操作系统定义: 操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合

1.2.4 分时系统

  1. 分时系统(Time-Sharing System)的产生:

    • 人-机交互
    • 共享主机

    分时系统的定义: 在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源

  2. 分时系统实现中的关键问题

    • 及时接收:配置多路卡和缓冲区。
    • 及时处理:作业直接进入内存;使用时间片轮转算法。
  3. 分时系统的特征

    • 多路性
    • 独立性
    • 及时性
    • 交互性

1.2.5 实时系统

  1. 实时系统的类型

    • 工业(武器)控制系统 如:炼钢、化工生产的过程控制,火炮自动控制、飞机自动驾驶、导弹制导等
    • 信息查询系统 如:飞机或火车订票系统
    • 多媒体系统
    • 嵌入式系统
  2. 实时任务的类型

    • 按任务执行时是否呈现周期性来划分

      • 周期性实时任务。

      • 非周期性实时任务。

      • 开始截止时间——任务在某时间以前必须开始执行;

      • 完成截止时间——任务在某时间以前必须完成。

    • 根据对截止时间的要求来划分

      • 硬实时任务(hard real-time task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
      • 软实时任务(Soft real-time task)。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间, 对系统产生的影响也不会太大。
  3. 实时系统与分时系统特征的比较

    • 多路性。分时服务;多路采集
    • 独立性。 查询交互;采集和控制
    • 及时性。 人;控制对象
    • 交互性。
    • 可靠性。实时系统往往采取多级容错技术

1.2.6 微机操作系统的发展

  • 单用户单任务操作系统: CP/M和MS-DOS
  • 单用户多任务操作系统: Windows
  • 多用户多任务操作系统: Unix OS

作业

例题一

设内存中有三道程序A、B、C,它们按A、B、C的优先次序执行(可抢占)。它们的计算和I/O操作的时间如下表所示(单位:ms)

操作 \ 程序 A B C
计算 30 60 20
I/O操作 40 30 40
计算 10 10 20

假设三道程序使用相同设备进行I/O操作,即程序以串行方式使用设备,试画出单道运行和多道运行的时间关系图(调度程序的执行时间忽略不计)。在两种情况下,完成这三道程序要花多少时间?

例题二

一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它的计算和I/O操作顺序如下(单位:ms):

操作 \ 程序 P1 P2
计算 60 120
I/O操作 80 40
计算 20 40

若不考虑调度和切换时间,则完成两个作业需要的时间最少是:

A.240 ms
B.260 ms
C.340 ms
D.360 ms

1.3 操作系统的基本特征

1.3.1 并发性

并行性: 指两个或多个事件在同一时刻发生
并发性: 指两个或多个事件在同一时间 间隔内发生

1.3.2 共享性

在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式:

  • 互斥共享方式: 我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源
  • 同时访问方式

并发共享是操作系统的两个最基本的特征,它们又是互为存在条件

  • 资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题
  • 若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行

1.3.3 虚拟性

操作系统中的所谓"虚拟": 通过某种技术把一个物理实体变为若干个逻辑上的对应物

  • 时分复用技术(即分时使用方式)
    • 虚拟处理机技术
    • 虚拟设备技术
  • 空分复用技术
    • 虚拟磁盘技术:分卷
    • 虚拟存储器技术:请求调入和置换

1.3.4 异步性

1.4 操作系统的主要功能

1.4.1 处理机管理功能

  1. 进程控制: 主要功能如下

    • 作业创建进程、撤消已结束的进程
    • 控制进程在运行过程中的状态转换
  2. 进程同步

    • 进程互斥方式,这是指诸进程(线程)在对临界资源进行访问时,应采用互斥方式;
    • 进程同步方式,指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调
  3. 进程通信: 通常在它们之间是采用直接通信方式

  4. 调度: 在传统的操作系统中,包括作业调度进程调度两步

1.4.2 存储器管理功能

  1. 内存分配: 采取静态动态两种方式

    • 为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:
      • 内存分配数据结构,该结构用于记录内存空间的使用情况,作为内存分配的依据;
      • 内存分配功能,系统按照一定的内存分配算法, 为用户程序分配内存空间;
      • 内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。
  2. 内存保护

  3. 地址映射

  4. 内存扩充

1.4.3 设备管理功能

  1. 缓冲管理
  2. 设备分配
  3. 设备处理: 设备处理程序又称为设备驱动程序

1.4.4 文件管理功能

  1. 文件存储空间的管理
  2. 目录管理
  3. 文件的读/写管理和保护
    • 文件的读/写管理
    • 文件保护
      • 防止未经核准的用户存取文件;
      • 防止冒名顶替存取文件;
      • 防止以不正确的方式使用文件。

1.4.5 操作系统与用户之间的接口

  1. 用户接口

    • 联机用户接口: 它由一组键盘操作命令及命令解释程序所组成
    • 脱机用户接口: 该接口是为批处理作业的用户提供的,故也称为批处理用户接口;该接口由一组作业控制语言JCL组成
    • 图形用户接口
  2. 程序接口: 该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径;它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用

1.4.6 现代操作系统的新功能

  1. 系统安全

    • 认证技术。这是一个用来确认被认证的对象是否名副其实的过程,以确定对象的真实性,防止入侵者进行假冒和篡改等。
    • 密码技术。即对系统中所需存储和传输的数据进行加密,攻击者即使截获到数据,也无法理解数据的内容。
    • 访问控制技术: 两种途径
      • 通过对用户存取权限的设置,限定用户只能访问被允许访问的资源,这样也就限定了用户对系统资源的访问范围
      • 通过对文件属性的设置来保障指定文件的安全性,如设置文件属性为只读时,该文件就只能被读而不能被修改
    • 反病毒技术。安装反病毒软件,定期查杀病毒。
  2. 网络的功能和服务

    • 网络通信
    • 资源管理
    • 应用互操作
  3. 支持多媒体

    • 网络通信
    • 资源管理
    • 应用互操作

1.5 OS结构设计

1.5.1 传统的操作系统结构

  1. 无结构操作系统
  2. 模块化结构OS
    • 模块化程序设计技术的基本概念
      • 模块化操作系统结构
    • 模块独立性
      • 内聚性
      • 耦合度
      • 模块化接口法的优缺点
        • 提高了OS设计的正确性、可理解性和可维护性
        • 增强了OS的可适应性
        • 加速了OS的开发过程
  3. 分层式结构OS
    • 分层式结构的基本概念
    • 层次的设置

1.5.2 客户/服务器模式

  1. 客户/服务器模式(Client-Server Model)的组成

    • 客户机
    • 服务器
    • 网络系统
  2. 客户/服务器之间的交互

    • 客户发送请求消息
    • 服务器接收消息
    • 服务器回送消息
    • 客户机接收消息
  3. 客户/服务器模式的优点

    • 实现数据的分布处理和存储(用客户机进行本地处理和数据的分布存储)
    • 便于集中管理。重要数据和设备集中管理,提高了系统的可靠性和安全性
    • 提高了系统的灵活性和可扩充性
    • 易于改编应用软件(客户机程序)

1.5.3 面向对象的程序设计技术(Object-Orientated Programming)

1.5.4 微内核OS结构

  1. 微内核操作系统的基本概念

    • 足够小的内核
    • 基于客户/服务器模式
    • 应用"机制与策略分离"原理
    • 采用面向对象技术
  2. 微内核的基本功能

    • 进程(线程)管理。
    • 低级存储器管理。
    • 中断和陷入处理。
  3. 微内核操作系统的优点

    • 提高了系统的可扩展性
    • 增强了系统的可靠性
    • 可移植性强
    • 提供了对分布式系统的支持
    • 融入了面向对象技术
  4. 微内核操作系统存在的问题: 运行效率有所降低