第一章 操作系统引论
一、操作系统的目标和作用
1.1 操作系统的目标
- 方便性:操作系统使计算机更易于使用
- 有效性:操作系统允许以更有效的方式使用计算机系统资源。(提高系统资源利用率、提高系统的吞吐量)
- 可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能
- 开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境
1.2 操作系统的作用
OS 是用户与计算机硬件系统之间的接口:OS 处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统
OS 作为计算机系统资源的管理者
- 处理机管理
- 存储器管理
- I/O 设备管理
- 文件管理
OS 实现了对计算机资源的抽象:
对于一个完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此很难使用。 通过 OS 的 I/O 管理实现了对计算机资源的抽象,帮助用户对硬件资源的使用和管理
1.3 操作系统的发展动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用需求
二、操作系统的发展过程
2.1 未配置操作系统的计算机系统
- 人工操作方式:人工控制
- 脱机输入输出方式:在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存
2.2 单道批处理系统
单道批处理系统:系统对作业的处理都是成批进行的,且在内存中始终仅存一道作业运行,运行结束或出错,才自动调另一道作业运行,故称为单道批处理系统
主要特征:自动性,顺序性,单道性
主要优点:减少人工操作,解决了作业的自动接续
主要缺点:平均周转时间长,没有交互能力
2.3 多道批处理系统
多道程序的概念: 在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行
多道程序带来的好处:
提高CPU的利用率。
提高内存和I/O设备利用率。
增加系统吞吐率。
主要特征:多道性、无序性、调度性
主要优点:提高了资源利用率和吞吐能力
缺点:平均周转时间长,无交互能力
需解决的问题:
- 处理机管理:分配和控制CPU。
- 存储器管理:为每道程序分配必要的内存空间。
- I/O设备管理:I/O设备的分配与操纵。
- 文件管理:文件的存取、共享和保护。
- 作业管理:如何组织作业运行。
2.4 分时系统
分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。 分时系统能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。还可以满足用户对人---机交互的需求。
特点
- 多路性:一个主机与多个终端相连
- 交互性:以对话的方式为用户服务
- 独占性:每个终端用户仿佛拥有一台虚拟机
- 及时性:用户的请求能在很短的时间内获得响应
2.5 实时系统
所谓实时系统:是计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行
- 多路性:能对多个对象进行控制。
- 独立性:独立运行,不混淆,不破坏。
- 交互性:仅限于访问系统中某些特定的专用服务程序。
- 可靠性:高可靠性,应具有过载防护能力。
- 及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。
2.6 微机操作系统的发展
单用户单任务操作系统
MS-DOS
单用户多任务操作系统
Android、Windows
多用户多任务操作系统
UNIX OS、Linux
三、操作系统的基本特征
3.1 并发
并发是最重要的特征,其它特征都以并发为前提
- 并行性:是指两个或多个事件在同一时刻发生。
- 并发性:是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。
3.2 共享
共享:是指系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享方式:
- 把在一段时间内只允许一个进程访问的资源,称为临界资源。
- 系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用,称为互斥共享方式。
同时访问方式:
一段时间内,多个进程可以同时使用这个资源。
从微观上看,多个进程交替互斥地使用系统中的某个资源。例如磁盘。
3.3 虚拟
是指通过某种技术把一个物理实体变为(映射为)若干个逻辑上的对应物,用于实现虚拟的技术称为虚拟技术。
- 虚拟处理机技术:分时实现
- 虚拟设备技术:SPOOLING技术(第五章)
- 虚拟磁盘技术
- 虚拟存储器技术:虚拟存储器(第四章)
3.4 异步
多道程序环境下程序(进程)以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。
1.4 操作系统的主要功能
- 处理机管理(CPU)
- 存储器管理
- 设备管理
- 文件管理
- 操作系统与用户之间的接口
1.5 操作系统的体系结构
5.1 传统操作系统结构
1. 无结构操作系统
在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。 OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,有人把它称为整体系统结构。
缺陷:
- 设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。
- 编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担。
2. 模块化 OS 结构
使用分块结构的系统包含若干 module(模块);其中,每一块实现一组基本概念以及与其相关的基本属性。 块与块之间的相互关系:
- 所有各块的实现均可以任意引用其它各块所提供的概念及属性。
优点
- 提高了OS设计的正确性、可理解性和可维护性。
- 增强了0S的可适应性。
- 加速了OS的开发过程。
缺点:
- 对模块的划分及对接口的规定要精确描述很困难
- 从功能观点来划分模块时,未能将共享资源和独占资源加以区别;
3. 分层结构 OS
使用分层系统结构包含若干 layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。 层与层之间的相互关系: - 所有各层的实现不依赖其以上各层所提供的概念及其属性,只依赖其直接下层所提供的概念及属性; - 每一层均对其上各层隐藏其下各层的存在。
优点
- 易保证系统的正确性
- 易扩充和易维护性
缺点
- 系统效率低
5.2 客户/服务器(Client/Server Mode)简介
1. C/S 模式的由来、组成和类型
C/S 系统主要由三部分组成
- 客户机
- 服务器
- 网络系统
2. C/S 之间的交互
一次完整的交互过程可分为以下四步
- 客户发送请求信息
- 服务器接收信息
- 服务器回送消息
- 客户机接收消息
3. C/S 模式的优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改编应用软件
4. 缺点
- 不可靠性
- 瓶颈问题
5.3 面向对象程序设计技术简介
软工讲过,略
5.4 微内核 OS 结构
所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同, 它更小更精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存
微内核所提供的功能:
操作系统的另一部分是内核,用来处理客户和服务器之间的通信,
即由内核来接收客户的请求,再将该请求送至相应的服务器;同时它也接收服务器的应答,
并将此应答回送给请求客户。
优点
- 提高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性好
提供了对分布式系统的支持 缺点
- 运行效率有所降低: 消息传递开销+模式切换开销