操作系统原理教程第2章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整型信号量的概念
概念
– 信号量就是一种特殊变量,它用来表示系统中资源
的使用情况.而整型信号量就是一个整型变量.
说明:
– 当其值大于"0"时,表示系统中对应可用资源的数目; – 当其值小于"0"时,其绝对值表示因该类资源而被阻
塞的进程的数目; – 当其值等于"0"时,表示系统中对应资源已经都被占 用,并且没有因该类资源而被阻塞的进程.
进程同步
– 进程同步是指多个相关进程在执行次序上的协调,这些进程相互合
作,在一些关键点上需要相互等待或相互通信.
进程互斥
– 进程互斥是指当一个进程进入临界区使用临界资源时,另一个进程
必须等待,当占用临界资源的进程退出临界区后,另一个进程才被 允许使用临界资源.
进程同步机制应遵循的原则
空闲让进 忙则等待 有限等待 让权等待
– Bernstein条件 – 利用前趋图
Bernstein条件 Bernstein条件
原理:
– 不同运算(或程序)的读集与写集的交集和写集与
写集的交集的并集为空集时,这几个运算(或程序) 可以并发执行.
解释:
– 运算的读集是指在运算执行期间引用的所有变量的
集合; – 运算的写集是指在运算执行期间要改变的所有变量 的集合.
进程的其它两种状态
新状态
– 当一个新进程刚刚建立,还未将其放入就绪
队列时的状态,称为新状态.
终止状态
– 当一个进程已经正常结束或异常结束,操作
系统已将其从系统队列中移出,但尚未撤消, 这时称为终止状态.
进程状态间的转换
新状态→就绪状态 就绪状态→执行状态 执行状态→阻塞状态 执行状态→就绪状态 阻塞状态→就绪状态 执行状态→终止状态 如图2-5所示
– 修改该进程控制块的相关内容.把阻塞状态改为就绪状态,
线程的基本概念1 线程的基本概念1
线程的概念
– 线程是进程中的一个实体,是被系统独立调
度和执行的基本单位.
线程与进程的比较
– 调度单位不同 – 并发形式不同 – 拥有资源 不同
线程的基本概念2 线程的基本概念2
线程的类型
– 系统级线程:是依赖于系统控制的,即无论
– 转调度程序重新调度,运行就绪队列中的其他进程.
进程的唤醒
引起进程唤醒的事件
– – – –
请求系统服务得到满足 启动某种操作完成 新数据已经到达 有新工作可做
进程唤醒的过程
– 从阻塞队列中找到该进程.
删除等待原因等等. – 把进程控制块插入到就绪队列.按照就绪队列的组织方式, 把被唤醒的进程的进程控制块插入到就绪队列中.
进程控制块PCB 进程控制块PCB
进程控制块的作用 进程控制块的内容 进程控制块的组织方式 进程控制原语
进程控制块的作用
概念
– 进程控制块是进程实体的重要组成部分,是操作系
统中最重要的记录型数据,在进程控制块PCB (Program Contral Block)中记录了操作系统所需要 的,用于描述进程情况及控制进程运行所需要的全 部信息
类型的临界资源就设置几个互斥信号量.它代表该 类临界资源的数量,或表示是否可用,其初值一般 为"1".
例题
– 【例2-4】在一个只允许单向行驶的十字路口,分别
有若干由东向西,由南向北的车辆在等待通过十字 路口.为了安全,每次只允许一辆车通过.当有车 辆通过时其它车辆必须等候,当无车辆在路口行驶 时则允许一辆车通过.请用PV操作实现保证十字路 口安全行驶的自动管理系统.
– 当进程以分配到除处理器(CPU)以外的所有必要
资源后,只要再获得处理器就可以立即执行,这时 进程的状态称为就绪状态.
执行状态
– 处于就绪状态的进程一旦获得了处理器,就可以运
行,进程状态也就处于执行状态.
阻塞状态
– 正在执行的进程因为发生某些事件(如请求输入/输
出,申请额外空间等)而暂停运行,这种受阻暂停 的状态称为阻塞状态,也可以称为等待状态.
– 如果就绪队列可以接纳新进程,便将新进程加入到就绪队列中.
进程的撤消
引起进程撤消的事件
– 进程正常结束 – 在进程运行期间,由于出现某些错误和故障而使得进程被迫中止 – 进程应外界的请求而中止运行
进程撤消的过程
– 根据被终止进程的标识符,从PCB集合中检索该进程的PCB,读
出进程状态. – 若该进程处于执行状态,则立即终止该进程的执行. – 若该进程有子孙进程,还要将其子孙进程终止. – 将该进程所占用的资源回收,归还给其父进程或操作系统.
处理器管理的主要任务
– 是对处理器进行分配,并对其运行进行有效
地控制和管理. 进程控制 进程同步 进程通信 进程调度
处理器管理的主要功能
– – – –
程序的执行
程序执行的描述
– 前趋图
程序的顺序执行 程序的并发执行
前趋图
概念:
– 前趋图是一个有向无循环图.
要求
– 每个结点可用于表示一条语句,一个程序段等 – 结点间的有向边表示在两个结点之间存在的前趋关
进程的定义
– 一个程序在一个数据集合上的一次运行过程.所以
一个程序在不同数据集合上运行,乃至一个程序在 同样数据集合上的多次运行都是不同的进程.
进程的特征
– – – – –
动态性 并发性 独立性 异步性 结构性
进程的状态
进程的三种基本状态 进程的其它两种状态 进程状态间的转换
进程的三种基本状态
就绪状态
超线程的工作
– 超线程处理器被视为两个分离的逻辑处理器,应用程序
不须修正就可使用这两个逻辑处理器. – 每个逻辑处理器都可独立响应中断.第一个逻辑处理器 可追踪一个软件线程,而第二个逻辑处理器则可同时追 踪另一个软件线程. – 由于两个线程共同使用同样的执行资源,因此不会产生 一个线程执行的同时,另一个线程闲置的状况.
进程的挂起状态
引入挂起状态主要 原因:
– 用户的需求 – 父进程的需求 – 操作系统的需求 – 对换的需求
引入挂起状态后的进程 状态转换
– 执行状态→静止就绪 – 活动就绪→静止就绪 → – 静止就绪→活动就绪 – 活动阻塞→静止阻塞 – 静止阻塞→活动阻塞 – 静止阻塞→静止就绪
进程控制
进程控制块PCB 进程的创建与撤消 进程的阻塞与唤醒
进程同步与互斥
进程的并发性 进程的同步与互斥 利用PV操作实现互斥与同步 管程的基本概念
进程的并发性
概念
– 在并发执行的系统中,若干个作业可以同时执行,
而每个作业又需要有多个进程协作完成.在这些同 时存在的进程间具有并发性
并发进程之间的关系
– 无关关系 :这些进程间彼此毫无关系,互不影响 – 相关关系 :这些进程间彼此往往相关,互相影响,
利用锁机制实现同步
锁的概念
– 在同步机构中,常用一个变量来代表临界资
源的状态,并称它为锁.通常用"0"表示资 0" 源可用,用"1"表示资源已被占用.
锁的操作
– 关锁操作 – 解锁操作
利用PV操作实现互斥与同步 利用PV操作实现互斥与同步
整型信号量的概念 信号量的操作 利用PV操作实现互斥 利用PV操作实现同步 利用PV操作实现进程的同步加互斥
要进行合理的控制和协调才能正确执行
资源共享关系 相互合作关系
进程的同步与互斥
进程同步与互斥的概念 进程同步机制应遵循的原则 利用锁机制实现同步
进程同步与互斥的概念
临界资源
– 在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访
问或使用,这种资源称为临界资源.
临界区
– 每个进程中访问临界资源的那段代码称为临界区
现场信息
– 现场信息是用于保留进程存放在处理器中的各种信息,主要
由处理器内的各个寄存器的内容组成.
管理信息
– 管理信息包括进程资源,控制机制等一些进程执行所需要的
信息.
进程控制块的组织方式
链接方式
– 把具有相同状态的PCB,用其中的链接指针
链接成队列.如图2-7所示. 2-7
索引方式
– 系统根据所有进程的状态,建立几张索引表.
– 【例2-5】有4位哲学家围着一个圆桌在思考和进餐,
每人思考时手中什么都不拿,当需要进餐时,每人需 要用刀和叉各一把,餐桌上的布置如图2-12所示,共 有2把刀和2把叉,每把刀或叉供相邻的两个人使用. 请用信号量及PV操作说明4位哲学家的同步过程. – 【例2-6】在南开大学和天津大学之间有一条弯曲的 小路,其中从S到T有一段路每次只允许一辆自行车通 过,但其中有一个小的安全岛M(同时允许两辆自行 车停留),可供两辆自行车错车时使用,如图2-14所 示.试设计一个算法使来往自行车可以顺利通过.
在每个索引表的表目中,记录着具有相同状 态的各个PCB在表中的地址.如图2-8所示.
进程控制原语
原语的概念
– 原语是指具有特定功能的不可被中断的过程.它主
要用于实现操作系统的一些专门控制操作.
原语的分类
– 创建原语:用于为一个进程分配工作区和建立PCB,置该进程
为就绪状态. – 撤消原语:用于一个进程工作完后,收回它的工作区和PCB. – 阻塞原语:用于进程在运行过程中发生等待事件时,把进程 的状态改为等待态. – 唤醒原语 :用于当进程等待的事件结束时,把进程的状态改 为就绪态.
进程的创建
引起进程创建的事件
– 用户登录 – 作业调度 – 提供服务 – 应用请求
进程创建的过程
– 为新进程分配唯一的进程标识符,并从PCB队列中申请一个空闲
PCB. – 为新进程的程序和数据,以及用户栈分配相应的主存空间及其它必 要分配资源. – 初始化PCB中的相应信息,如标识信息,处理器信息,进程控制信 息等.
作用
– 通过PCB,使得原来不能独立运行的程序(数据),
成为一个可以独立运行的基本单位,一个能够并发 执行的进程.进程控制块是进程存在的唯一标志.
进程控制块的内容
进程标识信息
– 进程标识符用于标识一个进程,一个进程通有外部标识符和
内部标识符两种
说明信息
– 说明信息是有关进程状态等一些与进程调度有关的信息.
例子:
– 例2-2
利用前趋图
原理:
– 画出程序执行的前趋图,根据该程序或运算在前趋
图中的位置关系,可以判断其能否并发执行.
解释:
– 在程序或运算的先后顺序上,只有前后相邻的的程
序或运算不能并发执行,其余程序和运算都可以并 发执行.
例子:
– 例2wenku.baidu.com3
进程描述
进程的概念 进程的状态 进程的挂起状态
进程的概念
系
例如:
– 图2-1所示
程序的顺序执行
概念:
– 程序在执行时,必须按某种先后次序逐个执
行操作,只有当前一个操作执行完后,才能 执行后一个操作.
特征:
– 顺序性 – 封闭性 – 可再现性
程序的并发执行
概念:
– 是指在一个时间段内执行多个程序.
特征:
– 间断性 – 失去封闭性 – 不可再现性
程序并发执行的判断方法:
– 将被终止进程的PCB从所在队列中移出,并撤消该进程的PCB.
进程的阻塞
引起进程阻塞的事件
– – – –
请求系统服务 启动某种操作 新数据尚未到达 无新工作可做
进程阻塞的过程
– 立即停止执行该进程. – 修改进程控制块中的相关信息.把进程控制块中的运行状态由
"执行"状态改为"阻塞"状态,并填入等待的原因,以及进 程的各种状态信息. – 把进程控制块插入到阻塞队列.根据阻塞队列的组织方式,把 阻塞进程的进程控制块插入到阻塞队列中.
利用PV操作实现同步 利用PV操作实现同步
概念
– 同步信号量是根据进程的数量设置的.一般情况下,
信号量的操作
(1)P操作:记为P(S),描述为:
– – – – – – – –
P(S) { S=S-1; if (S<0) W(S); } V(S) { S=S+1; if (S<=0) R(S); }
(2)V操作:记为V(S),描述为:
利用PV操作实现互斥 利用PV操作实现互斥
概念:
– 互斥信号量是根据临界资源的类型设置的.有几种
是用户进程中的线程,还是系统进程中的线 程,它们的创建,撤消,切换都是由系统控 制实现的. – 用户级线程 :是由用户控制,对于用户级线 程的创建,撤消,切换,都与系统控制无关, 完全由用户自己管理.
超线程
超线程的概念
– 超线程技术就是利用特殊的硬件指令,在一颗实体处理器中放入两
个逻辑处理单元,从而模拟成两个工作环境,让单个处理器都能使 用线程级并行计算,同时处理多项任务,提升处理器资源的使用率.
操作系统原理教程
第2章 处理器管理
本章教学目标
了解线程的基本概念 熟悉进程描述,进程通信和进程死锁 掌握进程控制,进程同步与互斥,进程 调度
本章主要内容
处理器管理概述 进程描述 进程控制 线程的基本概念 进程同步与互斥 进程通信 进程调度 进程死锁
处理器管理概述
处理器管理的功能 程序的执行
处理器管理的功能