1.0什么是操作系统
操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。
1.1操作系统的目标和作用
操作系统的目标
- 方便性——方便用户使用计算机,使计算机易学易用
- 有效性——提高资源利用率,提高系统吞吐量
- 可扩充性——适应发展需要
- 开放性——衡量系统能否被广泛应用的至关重要因素
操作系统的作用
- 作为用户与计算机硬件之间的接口
- 作为计算机系统资源的管理者
- 实现了对计算机资源的抽象
推动操作系统发展的主要动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展(单处理机,多处理机)
- 不断提出新的应用要求
1.2操作系统的发展过程
人工操作方式缺点
- 人机串行,CPU等待人机操作
- 用户独占全机
脱机输入/输出方式的优点
- 减少 CPU的空闲时间
- 提高了I/O速度
单道批处理系统
单道:机器中处理的作业只有一道
批处理:磁带中有一批作业待处理
作业:是用户定义的,由计算机完成的一个作业单位。作业由不同的顺序相连的作业组成
应用:作业概念一般用于早期批处理系统和现在的大型计算机,巨型机系统中
作业=程序+数据+作业说明书
单道批处理系统:首先通过脱机的方式把一批作业输入到磁带上,并在系统中配上监督程序,在它的控制下,使这批作业能一个一个的连续处理。每当一个作业执行完毕返回程序时,监控程序自动装入下一个作业
习题
在单道批处理系统中有两道作业,每道作业的I/O需要20ms,计算需要10ms,I/O延迟忽略。问两道作业完成总共需要多少ms?CPU利用率是多少?
(20+10)x2=60ms
利用率=计算时间÷总时间=(10+10)/60=33.33%
多道程序设计
- 内存中同时驻留多个独立的程序,它们在操作系统的控制下共享系统资源,相互穿插地运行
例题
程序A流程:20ms CPU,40ms I,30ms CPU,20ms I
程序B流程:30ms CPU,20ms o,30ms CPU
试计算串行处理和并发处理两种情况下完成程序A和程序B所需要的总时间和CPU的利用率。
串行:一次只能取得一个任务并执行这个任务,完成后再进行下一个
并发:同一时间内,多条指令在CPU上同时进行
串行:
总时间:20+40+30+20+30+20+30=190ms
CPU利用率:(20+30+30+30)/190=57.89%
并:
(1)先A后B
总时间:20+40+30+30=120ms
CPU利用率:(20+30+30+30)/120=91.67%
(2)先B后A
总时间:30+20+40+30+20=140ms
CPU利用率:(30+20+30+30)/140=78.59%
多道批处理系统优缺点
- 资源利用率高
- 系统吞吐量大
- 平均周转时间长——作业周期时间
- 无交互能力
多道批处理系统要解决的问题
- 处理机争用问题
- 内存分配和保护问题
- I/O设备分配问题
- 文件的组织和管理问题
- 作业管理问题
- 用户与系统的接口问题
分时系统
定义
是指一台主机上连接了多个终端,同时允许多个用户通过自己的终端,以交互的方式使用计算机,共享主机中资源的系统
分时操纵系统实现中的关键问题
- 及时接收:多路复用
- 及时处理:作业直接进入内存,时间片轮转
分时操作系统的特征
- 多路性——多用户同时使用同一台主机
- 独立性——各用户互不干扰,感觉独占主机
- 及时性——用户请求可以被及时响应
- 交互性——人机对话
实时操作系统
定义
实时操作系统是指 系统能及时相应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
实时系统的类型
- 工业控制系统
- 信息查询系统
- 多媒体系统
- 嵌入式系统
实时任务的类型
- 周期性实时任务,非周期性实时任务
- 硬实时任务,软实时任务
实时系统与分时系统的特征比较
- 多路性——两者都有
- 独立性——两者都有
- 及时性——实时系统高
- 交互性——分时系统强
- 可靠性——实时系统要求更高
微机操作系统
按照操作系统运行方式的不同可以将操作系统分成三类
- 单用户单任务操作系统——MS-DOS
- 单用户多任务操作系统——Windows
- 多用户多任务操作系统——UNIX、Linux
1.3操作系统的基本特征
并发性
- 并发性:两个或多个事件在同一时间间隔同时发生
- 并行性:两个或多个事件在同一时刻发生
- 区别:一个是在同一时间段内同时执行,一个是在同一时刻内的同时执行。
- 并行的事件或活动一定是并发的,但反正并发的事件或活动未必是并行的
- 便于理解
-
- 并发:多个线程使用一个CPU,某个瞬间只有一个线程在工作。
- 并行:多个线程使用多个CPU,某个瞬间线程见各自使用各自的CPU,没有CPU的线程处于等待状态。
- 并行>并发
同属于一个应用程序的计算程序和I/O程序不能并发,为此引入进程
进程:指在系统中能独立运行并作为资源分配的基本单位,它由一组机器指令,数据和堆栈组成,是一个能独立运行的活动实体。
共享性
共享性:指系统中的资源可供内存中多个并发执行的进程共同使用。主要由互斥共享和同时协作两种方式。
- 互斥共享:在一段时间内只允许一个进程访问资源(临界资源)
- 同时访问:宏观上在一段时间内允许多个进程“同时”访问某些资源,微观上“轮流”(交替访问)
虚拟性
虚拟:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物
实时复用技术——利用处理机及设备的空闲运行时间:虚拟处理机技术,虚拟设备技术
空分复用技术——提高内存利用率:虚拟存储技术(内存的时分复用)
异步性(不确定性)
异步性:是指进程是以人们不可预知的速度向前推进的
异步性是并发性和资源共享的必然结果
程序按异步方式运行(异步性):没到程序何时执行,各个程序的执行顺序以及每道程序所需的时间都不是确定的,也是不可预知的。但是多次运行的结果是完全相同的
1.5操作系统结构设计
无结构操作系统
- 定义:操作系统是一组过程的集合,每个过程有接口定义,包括入口参数和返回值,过程间可任意调用
- 设计重点:功能的实现和高效率
- 缺点:缺乏清晰的程序结构,错误多,难以维护
- 实例:AT&T SystemV
微内核操作系统
基本特征:
- 足够小的内核
- 基于客户/服务器
- 应用“机制与策略分离”原理
- 采用面向对象技术
优点:
- 提高了系统的可扩展现
- 增强了系统的可靠性
- 可移植性强
- 提供而对分布式系统的支持
- 融入了面向对象的技术
问题:
运行效率底