第一章 操作系统引论
概念
操作系统的定义:操作系统是一组控制和管理计算机软硬件资源、合
理地对各类作业进行调度以及方便用户使用的程序集合。
操作系统的目标
- 方便性:操作系统使计算机更易于使用。
- 有效性:操作系统允许以更有效的方式使用计算机系统资源。
- 提高系统资源利用率(important)
- 提高系统的吞吐量(important)
- 可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能。
- 开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。
操作系统发展过程
- 无操作系统(人工操作方式)
缺点: - 用户独占全机
- CPU等待人工操作
- 单道批处理操作系统
定义:系统对作业的处理都是成批进行的,且在内存中始终仅存一道作业运行,运行结束或出错,才自动调另一道作业运行。
主要特征:自动性、顺序性、单道性
优点: - 减少人工操作
- 解决了作业的自动接续
缺点:
- 平均周转时间长
- 没有交互能力
- 多道批处理操作系统
定义:在内存中存放多道作业运行,运行结束或出错,自动
调度内存中的另一道作业运行。
主要特征:多道性、无序性、调度性(进程调度和作业调度)
优点: - 提高CPU的利用率。
- 提高内存和I/O设备利用率。
- 增加系统吞吐率
例题:
解答:
- 分时操作系统
特点: - 多路性:一个主机与多个终端相连
- 独立性:彼此独立操作,互不干扰
- 及时性:系统能在很短的时间得到回答
- 交互性:能实现人机对话(区别于批处理系统)
- 实时操作系统
定义:是计算机及时响应外部事件的请求,在规定的时间内完
成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行。
特点: - 多路性:能对多个对象进行控制。
- 独立性:独立运行,不混淆,不破坏。
- 交互性:仅限于访问系统中某些特定的专用服务程序。
- 可靠性:高可靠性,应具有多级容错防护能力。(区别于分时系统)
- 及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。
现代OS的四个基本特征
- 并发性(最重要的特征)
并发:并行性和并发性,并发执行的过程。
- 并行性:是指两个或多个事件在同一时刻发生。
- 并发性:是指两个或多个事件在同一时间间隔内发生。
- 共享性
共享:是指系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式
系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进 - 同时访问方式
从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源。
从微观上看,多个进程交替互斥地使用系统中的某个资源。例如磁盘。
程使用,称为互斥共享方式
- 虚拟性
虚拟:是指通过某种技术把一个物理实体变为(映射为)若干个逻辑上的
对应物
- 时分复用技术
- 空分复用技术
- 异步性
异步:多道程序环境下程序(进程)以异步的方式执行,每道程序在何
时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的
并发是最重要的特征,其它特征都以并发为前提。
例题:
解答:C
操作系统主要功能
- 处理机管理(CPU)
- 存储器管理
- 设备管理
- 文件管理
- 方便用户使用的用户接口。
第二章 进程管理
前驱图
程序顺序执行时的特征
- 顺序性:处理机的操作严格按照程序所规定的顺序执行。
- 封闭性:程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素
影响。 - 可再现性:只要程序执行时的环境和初始条件相同,都将获得相同的结果。(不论它是从头到尾不停顿地执行,还是“停停走走”地执行)
程序并发执行时的特征
- 间断性:由于它们共享系统资源,以及为完成同一项任务而相互合作,致使
在这些并发执行的程序之间,形成了相互制约的关系。相互制约将导致并
发程序具有“执行——暂停——执行”这种间断性的活动规律。 - 失去封闭性:是多个程序共享系统中的各种资源,因而这些资源的状态将由
多个程序来改变,致使程序的运行已失去了封闭性。 - 不可再现性:程序在并发执行时,由于失去了封闭性,导致不可再现性 。
进程
进程的定义
- 进程是程序的一次执行。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度
的一个独立单位。
进程的特征
- 结构特征
程序段、相关的数据段和PCB三部分构成了进程实体。 - 动态性
进程由创建而产生,由调度而执行,由撤消而消亡 - 并发性
指多个进程实体同存于内存中,且能在一段时间内同时运行。 - 独立性
指进程实体是一个能独立运行、独立分配资源和独立接受调度的
基本单位 - 异步性
指进程按各自独立的、不可预知的速度向前推进,或说进程实体
按异步方式运行。
进程的状态及其切换
Ready:准备执行
Running:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机)
Blocked:等待某事件发生才能执行,如等待I/O完成等
New:进程已经创建,但未被OS接纳为可执行进程,并且程序还在辅存,
PCB在内存
Exit:因停止或取消,被OS从执行状态释放
挂起状态(Suspend):使执行的进程暂停执行、静止下来。我们把这种静止状态称为挂起状态。
引入挂起状态的原因
- 终端用户的请求。
- 父进程请求。
- 负荷调节的需要。当实时系统中的工作负荷较重,把一些不重要的进程挂起,
以保证系统能正常运行。 - 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账
PCB
进程控制块(PCB)中的信息
- 进程标识符
- 内部标识符。为每一个进程赋予一个惟一的数字标识符。设置内部标识
符主要是为了方便系统使用。 - 外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用
户(进程)在访问该进程时使用。
- 处理机状态
- 通用寄存器
- 指令计数器
- 程序状态字PSW
- 用户栈指针
- 进程调度信息
- 进程状态
- 进程优先级
- 进程调度所需的其它信息
- 事件,阻塞原因
- 进程控制信息
- 程序和数据的地址
- 进程同步和通信机制
- 资源清单
- 链接指针
PCB的组织方式
- 线性方式
- 链接方式
- 索引方式
进程同步
信号量机制
- 整形信号量
定义为一个整型量 ,仅能通过两个标准的原子操作 wait(S)和signal(S)来访问。
又称为P、V操作。 - 记录型信号量
- AND型信号量
原子操作:要么全部分配到进程,要么一个也不分配。 - 信号量集
进程同步问题
- 生产者/消费者问题
- 利用记录型信号量解决
- 利用AND信号量解决
- 哲学家进餐问题
- 利用记录型信号量解决
- 利用AND信号量解决
- 读者 — 写者问题
进程通信(管道(Pipe)通信)
- 直接通信方式
这是指发送进程利用OS所提供的发送命令,直接把消息发送给目标进程。
系统提供下述两条通信命令(原语)
- Send (Receiver, message)
- Receive(Sender, message)
- 间接通信方式
写进程 -> 信箱(中间实体) -> 读进程原语
优点:在读/写时间上的随机性
Send (mailbox, message)
Receive (mailbox, message)
例题:
解答:
第三章 处理机的调度与死锁
处理机三级调度
- 高级调度
- 调度对象:作业
- 又称作业调度、长程调度、接纳调度
- 实现:作业管理程序
- 将外存作业调入内存,创建PCB等,插入就绪队列。
- 用于批处理系统,分/实时系统一般直接入内存,无此环节。
- 频度:最低