操作系统 第一章 操作系统引论

第一章 操作系统引论

一、操作系统的目标和作用

1.1 操作系统的目标

  1. 方便性:操作系统使计算机更易于使用
  2. 有效性:操作系统允许以更有效的方式使用计算机系统资源。(提高系统资源利用率、提高系统的吞吐量)
  3. 可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能
  4. 开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境

1.2 操作系统的作用

  1. OS 是用户与计算机硬件系统之间的接口:OS 处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统

  2. OS 作为计算机系统资源的管理者

    1. 处理机管理
    2. 存储器管理
    3. I/O 设备管理
    4. 文件管理
  3. OS 实现了对计算机资源的抽象:

    对于一个完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此很难使用。 通过 OS 的 I/O 管理实现了对计算机资源的抽象,帮助用户对硬件资源的使用和管理

1.3 操作系统的发展动力

  1. 不断提高计算机资源利用率
  2. 方便用户
  3. 器件的不断更新换代
  4. 计算机体系结构的不断发展
  5. 不断提出新的应用需求

二、操作系统的发展过程

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

  1. 人工操作方式:人工控制
  2. 脱机输入输出方式:在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存

2.2 单道批处理系统

单道批处理系统:系统对作业的处理都是成批进行的,且在内存中始终仅存一道作业运行,运行结束或出错,才自动调另一道作业运行,故称为单道批处理系统

主要特征:自动性,顺序性,单道性

主要优点:减少人工操作,解决了作业的自动接续

主要缺点:平均周转时间长,没有交互能力

2.3 多道批处理系统

多道程序的概念: 在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行

多道程序带来的好处:

  1. 提高CPU的利用率。

  2. 提高内存和I/O设备利用率。

  3. 增加系统吞吐率。

主要特征:多道性、无序性、调度性

主要优点:提高了资源利用率和吞吐能力

缺点:平均周转时间长,无交互能力

需解决的问题:

  1. 处理机管理:分配和控制CPU。
  2. 存储器管理:为每道程序分配必要的内存空间。
  3. I/O设备管理:I/O设备的分配与操纵。
  4. 文件管理:文件的存取、共享和保护。
  5. 作业管理:如何组织作业运行。

2.4 分时系统

分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。 分时系统能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。还可以满足用户对人---机交互的需求。

特点

  • 多路性:一个主机与多个终端相连
  • 交互性:以对话的方式为用户服务
  • 独占性:每个终端用户仿佛拥有一台虚拟机
  • 及时性:用户的请求能在很短的时间内获得响应

2.5 实时系统

所谓实时系统:是计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行

  1. 多路性:能对多个对象进行控制。
  2. 独立性:独立运行,不混淆,不破坏。
  3. 交互性:仅限于访问系统中某些特定的专用服务程序。
  4. 可靠性:高可靠性,应具有过载防护能力。
  5. 及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。

2.6 微机操作系统的发展

  1. 单用户单任务操作系统

    MS-DOS

  2. 单用户多任务操作系统

    Android、Windows

  3. 多用户多任务操作系统

    UNIX OS、Linux

三、操作系统的基本特征

3.1 并发

并发是最重要的特征,其它特征都以并发为前提

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

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。

3.2 共享

共享:是指系统中的资源可供内存中多个并发执行的进程共同使用。

  1. 互斥共享方式:

    • 把在一段时间内只允许一个进程访问的资源,称为临界资源。
    • 系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用,称为互斥共享方式。
  2. 同时访问方式:

  • 一段时间内,多个进程可以同时使用这个资源。

  • 从微观上看,多个进程交替互斥地使用系统中的某个资源。例如磁盘。

3.3 虚拟

是指通过某种技术把一个物理实体变为(映射为)若干个逻辑上的对应物,用于实现虚拟的技术称为虚拟技术。

  • 虚拟处理机技术:分时实现
  • 虚拟设备技术:SPOOLING技术(第五章)
  • 虚拟磁盘技术
  • 虚拟存储器技术:虚拟存储器(第四章)

3.4 异步

多道程序环境下程序(进程)以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。

1.4 操作系统的主要功能

  1. 处理机管理(CPU)
  2. 存储器管理
  3. 设备管理
  4. 文件管理
  5. 操作系统与用户之间的接口

1.5 操作系统的体系结构

5.1 传统操作系统结构

1. 无结构操作系统

在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。 OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,有人把它称为整体系统结构。

缺陷:

  • 设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。
  • 编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担。

2. 模块化 OS 结构

使用分块结构的系统包含若干 module(模块);其中,每一块实现一组基本概念以及与其相关的基本属性。 块与块之间的相互关系:

  • 所有各块的实现均可以任意引用其它各块所提供的概念及属性。

优点

  1. 提高了OS设计的正确性、可理解性和可维护性。
  2. 增强了0S的可适应性。
  3. 加速了OS的开发过程。

缺点:

  1. 对模块的划分及对接口的规定要精确描述很困难
  2. 从功能观点来划分模块时,未能将共享资源和独占资源加以区别;

3. 分层结构 OS

使用分层系统结构包含若干 layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。 层与层之间的相互关系: - 所有各层的实现不依赖其以上各层所提供的概念及其属性,只依赖其直接下层所提供的概念及属性; - 每一层均对其上各层隐藏其下各层的存在。

优点

  1. 易保证系统的正确性
  2. 易扩充和易维护性

缺点

  • 系统效率低

5.2 客户/服务器(Client/Server Mode)简介

1. C/S 模式的由来、组成和类型

C/S 系统主要由三部分组成

  1. 客户机
  2. 服务器
  3. 网络系统

2. C/S 之间的交互

一次完整的交互过程可分为以下四步

  1. 客户发送请求信息
  2. 服务器接收信息
  3. 服务器回送消息
  4. 客户机接收消息

3. C/S 模式的优点

  1. 数据的分布处理和存储
  2. 便于集中管理
  3. 灵活性和可扩充性
  4. 易于改编应用软件

4. 缺点

  • 不可靠性
  • 瓶颈问题

5.3 面向对象程序设计技术简介

软工讲过,略

5.4 微内核 OS 结构

所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同, 它更小更精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存

微内核所提供的功能:
操作系统的另一部分是内核,用来处理客户和服务器之间的通信, 即由内核来接收客户的请求,再将该请求送至相应的服务器;同时它也接收服务器的应答, 并将此应答回送给请求客户。

优点

  • 提高了系统的可扩展性
  • 增强了系统的可靠性
  • 可移植性好

提供了对分布式系统的支持 缺点

  • 运行效率有所降低: 消息传递开销+模式切换开销