第一章 操作系统引论

  • 什么是操作系统?

操作系统是一组管理和控制计算机 软件硬件 资源,合理组织计算机系统工作流程,以及方便用户使用的软件集合。

  • 定义核心:

    • 计算机的管理者和控制者

    • 其他软件的运行平台和服务接口

1.1 OS 的目标和作用

  • 目标: 方便性; 有效性; 可扩充性

  • 作用:

    • OS作为用户与计算机系统资源的管理者 (定义核心1)

    • OS作为用户与计算机硬件系统之间的接口 (定义核心2)

    • OS用作扩充机器

1.2 OS 的发展过程

1940s 无操作系统时代

1960s 批处理操作系统

1960s 单道批处理系统

[多道批处理系统(里程碑](#多道批处理系统(里程碑))

分时操作系统

实时操作系统

  • P.S. 自动 -> 多道 -> 交互 -> 实时

1940s 无操作系统时代

  • 优点: 交互性(Interactive)好

  • 缺点:

    • 人工操作很慢,昂贵的机器在大多数时间内处于空闲状态

    • 程序必须包含操纵外设的代码(设备相关性)

1960s 批处理操作系统

Batch Processing OS

在计算机上加载一个专门监控软件,在其控制下,计算机能够自动地成批地处理一个或多个用户的一批作业。

作业: 完成一项任务所需要的程序数据的集合. 作业包括一组程序, 一批数据与作业控制说明书(处理数据的描述文件).

  • 特点:

    • 系统吞吐量大;

    • 资源利用率高;

    • 平均周转时间短;

    • 无交互能力;

1960s 单道批处理系统

工作方式: 一次只调入一个作业到内存中运行

代表: 1960s FMS

特点: 单道性自动性顺序性

  • 优点: 计算机系统自动连续运转

  • 缺点:

    • 没有交互

    • I/O - CPU矛盾

多道批处理系统(里程碑)

工作方式: 由不同用户提交的多个作业同时常驻主存运行

代表: 1960s IBM OS/360

特点: 多道性无序性调度性

  • 优点: 计算机系统始终保持忙碌状态

  • 缺点:

    • 没有交互

    • 长周转时间

分时操作系统

Time-Sharing OS

把处理机的响应时间分成大小相等(或不相等)的时间片,所有终端用户依次轮流获得一个时间片,可以运行程序,当时间片用完,则暂停运行,等待下一次运行。

关键问题:

  • 及时接收与及时处理

  • 分时处理技术

代表:

  • CTSS: 1962 MIT,IBM 7094

  • Multics: 1964 GE-645

特点: 多路性、独立性、及时性、交互性

实时操作系统

Real-Time OS

实时操作系统是又一种类型的操作系统,对外部的请求,实时操作系统能够在规定的时间内处理完。

代表: WinCE, 嵌入式Linux, ucOSII, VxWorks

特点:

  • 实时性

  • 高可靠性和安全性

  • 系统整体性强

  • 不要求很强的“会话”能力

1.3 操作系统的基本特征

  • 并发, 共享, 虚拟, 异步性

  • 最基本: 并发, 共享

并发(Concurrency)

  • 并发:指两个或多个事件在同一 时间段 内发生。

  • 并行:两个或多个事件在同一 时刻 发生。

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

共享(Sharing)

多个 计算任务(或多道程序)对系统资源 共同使用

资源共享方式:

  • 互斥共享方式: 打印机

  • 同时访问方式: 磁盘, 内存

虚拟(Virtual)

指通过某种技术 把一个物理实体变为若干个逻辑上的对物。物理实体是实际存在的,“虚拟”物是虚的,用户感觉到的东西。

操作系统中利用了多种虚拟技术,分别实现虚拟处理机、虚拟内存、虚拟文件、虚拟设备和虚拟信道等。

异步性(Asynchronism)

在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。由于资源等因素的限制,使得进程的执行通常都不是“一气呵成”的,而是“停停走走”。进程是以人们不可预知的速度向前推进,即进程“异步性”。

1.4 操作系统的主要功能

从资源管理和用户接口的角度看操作系统的功能

  • 处理机管理功能

  • 存储器管理功能

  • 文件管理功能

  • 设备管理功能

  • 用户接口功能

1.5 操作系统结构

无结构操作系统

模块化操作系统

分层式操作系统结构

微内核操作系统结构

无结构操作系统

优缺点:

  • 庞大杂乱, 缺乏结构

  • 调试维护复杂, 保证程序正确困难

模块化操作系统

使用结构化程序设计思想,划分系统模块,模块之间直接根据功能要求互相调用.

优缺点:

  • 模块之间调用关系复杂

  • 增强可移植性, 加速OS的开发过程

  • 结构划分, 接口设计困难

  • 提高OS设计的可理解性, 可维护性

分层式操作系统结构

在模块化结构基础上,将模块分为若干层。

  1. 层内模块之间可以互相随意调用;

  2. 层间模块的调用遵循单向调用原则,高层模块可以调用低层模块,反之不可以。

层次划分原则

  • 程序嵌套

  • 运行频率

  • 公用模块

  • 用户接口

操作系统的内核(Kernel)

  • 将最靠近硬件的低层OS部分称为操作系统内核;

  • 内核通常常驻主存;

优缺点:

  • 提高OS设计可理解性和可维护性

  • 增强OS的可移植性

  • OS开发调试效率提高:逐层开发和调试

  • 降低模块耦合度

微内核操作系统结构

微内核操作系统 指精心设计的、能实现现代OS核心功能的小型内核,比一般的OS更小更精炼,运行在核心态且开机后常驻内存,不会因为内存紧张而被换出内存

微内核技术将OS分为两个部分:

  1. 提供各类服务的一组服务器进程;

  2. 内核,只提供客户-服务器通信机制和与硬件紧密相关的较基本的功能

OS采用 客户机-服务器 工作模式,提供各类操作系统服务

优缺点:

  • 提高OS的灵活性和可扩充性

  • OS内核更小、加稳定,可靠性高

  • 可运行于分布式系统

  • 操作系统运行效率较低

Last updated