不觉间已蹉跎大半课程,幡然醒悟,于今日起努力学习《操作系统》课程!
chapter 1 操作系统引论
1.1 操作系统的目标、作用和模型
1)OS的目标
- 方便性
- 有效性
- 可扩充性
- 开放性
2)2. OS的作用 - 作为用户与计算机硬件系统之间的接口
- OS作为计算机系统资源的管理者
- OS用作扩充机器
##1.2 操作系统的发展过程 -
- 人工操作方式
1946-50年代中:电子管时代,计算机速度慢,无操作系统,计算机资源昂 贵;
*计算机工作特点:
用户独占全机,资源利用率极低;CPU等待用户,计算前,手工装入纸 带或卡片;计算完成后,手工卸取 纸带或卡片;CPU利用率低;
*主要矛盾:
人机矛盾----人工操作严重降低了计算机资源的利用率
*提高效率的途径:
脱机输入/输出技术。
- 人工操作方式
- 2.脱机输入/输出(Off-Line I/O)方式:
* 脱机I/O方式的主要优点:
减少了CPU的空闲时间
提高I/O速度
* 脱机I/O方式的主要缺点:
系统开销大!
-
- 单道批处理系统(Simple Batch Processing System)
作业成批、脱机方式输入到磁带或磁盘上进一步减少脱机I/O中装卸磁带等耗时操作。系统监督程序(Monitor)控制作业自动过渡,一个接一个的连续处理。
- 单道批处理系统(Simple Batch Processing System)
-
- 多道批处理系统
- 多道批处理系统
-
- 分时系统(time-sharing system)
分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统是多道程序的逻辑扩充
-
- 实时系统(Real-Time System)
系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
- 实时系统(Real-Time System)
三大基本操作系统的比较
操作系统的发展过程
操作系统分类
1)单用户OS:一次只能支持一个用户作业的运行。
(2)批处理OS:用户作业以成批的方式提交给计算机。
(3)分时OS:允许多个用户同时与计算机系统交互。
(4)实时OS:能够及时响应随机发生的外部事件,并对外部事件做出快速处理,对来自外部的请求和信号在限定的时间范围内做出响应。实时性和可靠性是其重要特点。
(5)网络OS:面向网络上多用户,提供基本的网络操作所需要的功能,如文件共享,内存管理和进程任务调度等。
(6)分布式OS:是最高级的操作系统,管理整个系统(包括网络)中的所有资源,负责所有资源的分配和调度、任务的划分和具体安排、信息传递和控制。
(7)嵌入式OS:与应用紧密结合、专用性很强、可裁剪。
1.3 操作系统的基本特性
- 并发
- 共享
- 虚拟
- 异步
1.并发concurrence
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时段发生
2.共享sharing
系统中的资源可供内存中多个并发执行的进程(线程)共同使用。主要有两种共享方式:
1)互斥共享方式
2)同时访问方式:
3. 虚拟virtual
两种实现方式:
1)时分复用
2)空分复用
4.异步性asynchronism
指进程的执行顺序和执行时间的不确定性
1.4 操作系统的主要功能
- 处理机管理功能(作业管理)
- 存储器管理功能
- 设备管理功能
- 文件管理功能
- 用户接口
-
处理机管理功能
传统多道程序系统,处理机分配和运行都以进程为基本单位,对处理机的管理,就是对进程的管理。引入线程后,也包括对线程的管理。 -
存储器管理功能
1)内存分配:
i.分配方式:动态、静态
ii.分配机制需要的数据结构、分配算法、回收内存功能
2)内存保护:确保每道用户程序都只在自己的内存空间中运行
3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。
4)内存扩充:用虚拟存储技术解决内存容量不足的问题;
-
设备管理功能
1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
2)设备分配:按某种设备分配策略,为之分配所需的设备;
3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。 -
文件管理功能
1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;
2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。
3)文件的读写管理和保护:读写操作与有效的存取控制功能。 -
用户接口
1)命令接口
用户可通过键盘终端发出命令以控制作业的运行。
i. 联机用户接口:由一组磁盘操作命令和命令解释程序组成。
ii. 脱机用户接口:由一组作业控制语言组成,如批处理文件。
2)程序接口
用户程序在执行中访问系统资源而设置,由一组系统调用组成。早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。
3)图形接口
1.5 操作系统的结构
-
- 传统的OS结构
1)无结构OS
i. 早期开发OS,只追求实现和效率,缺乏贯穿的设计思想。是一组过程的集合。
ii. 过程互相调用,没有清晰的结构
iii. 程序错误很多,调试复杂,阅读维护困难
2)模块化OS结构
i. 制定功能模块
ii. 规定各模块接口
iii. 划分子模块
优点:
i. 提高设计的正确性、可理解性和可维护性;
ii. 增强了OS的可适应性,可选用相应功能模块,也可进行增减和修补以满足新需求;
iii. 加速了开发过程;
问题:
i. 设计初期,模块划分和接口规定不精确并且很难保证完全正确;接口规定与实际完成的模块需求不匹配会发生装配困难。
ii. 各模块的设计齐头并进,没有决策顺序,是一种“无序“模块,模块间仍会有复杂依赖关系,反而可能会使OS结构不清晰。
3)分层式OS结构
i. 改进设计方式,变无序为有序——分层的思想
优点:
i. 易保证系统正确性
ii. 易扩充和维护
缺点:
i.分层单向依赖,执行一个功能,总要自下而上地穿越多层,增加系统通信开销,降低了效率。
- 传统的OS结构
-
- 微内核OS结构
1)Client/Server模式
三部分组成:客户端、服务器、网络系统
交互方式:客户请求,服务器接收消息,回送消息,客户接收消息,四步。
优点:数据分布处理和存储;灵活可扩充,易于修改维护,仍方便集中管理。
2)面向对象编程技术 Object-Orientated Programming
具有相同属性、规则的事物抽象成对象,利用被封装的数据结构对具体对象实例进行操作。
进程、线程、消息、存储器都可抽象成对象。
可修改、扩充,具有继承性,容易保证正确和可靠性。
3)微内核
精心设计、实现一个可在其上构建通用OS的基础内核,该内核程序运行在核心态,开机常驻内存。
当前微内核操作系统结构仍没有一致公认的定义,但可从以下4方面进行描述:
i. 足够小的内核
ii. 基于C/S模式
iii. 应用”机制与策略分离“原理
iv. 采用面向对象技术
微内核的优点
i. 灵活、可扩充:可选配功能服务器模块
ii. 增强可靠性:内核是稳定的核心,只有它能直接访问硬件。服务器在用户态出错绝不会导致系统瘫痪。
iii. 可移植性:操作系统绝大部分(各种服务器程序)与硬件平台无关,在不同硬件平台间移植时修改比较小。
iv. 该机制尤其适用于分布式系统
v. 采用面向对象技术,减少开发开销
微内核存在的问题
运行效率降低
- 微内核OS结构