当前位置:文档之家› 操作系统原理教程第2章

操作系统原理教程第2章


超线程的工作
– 超线程处理器被视为两个分离的逻辑处理器,应用程序
不须修正就可使用这两个逻辑处理器. – 每个逻辑处理器都可独立响应中断.第一个逻辑处理器 可追踪一个软件线程,而第二个逻辑处理器则可同时追 踪另一个软件线程. – 由于两个线程共同使用同样的执行资源,因此不会产生 一个线程执行的同时,另一个线程闲置的状况.
要进行合理的控制和协调才能正确执行
资源共享关系 相互合作关系
进程的同步与互斥
进程同步与互斥的概念 进程同步机制应遵循的原则 利用锁机制实现同步
进程同步与互斥的概念
临界资源
– 在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访
问或使用,这种资源称为临界资源.
临界区
– 每个进程中访问临界资源的那段代码称为临界区
信号量的操作
(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-5】有4位哲学家围着一个圆桌在思考和进餐,
每人思考时手中什么都不拿,当需要进餐时,每人需 要用刀和叉各一把,餐桌上的布置如图2-12所示,共 有2把刀和2把叉,每把刀或叉供相邻的两个人使用. 请用信号量及PV操作说明4位哲学家的同步过程. – 【例2-6】在南开大学和天津大学之间有一条弯曲的 小路,其中从S到T有一段路每次只允许一辆自行车通 过,但其中有一个小的安全岛M(同时允许两辆自行 车停留),可供两辆自行车错车时使用,如图2-14所 示.试设计一个算法使来往自行车可以顺利通过.
– 转调度程序重新调度,运行就绪队列中的其他进程.
进程的唤醒
引起进程唤醒的事件
– – – –
请求系统服务得到满足 启动某种操作完成 新数据已经到达 有新工作可做
进程唤醒的过程
– 从阻塞队列中找到该进程.
删除等待原因等等. – 把进程控制块插入到就绪队列.按照就绪队列的组织方式, 把被唤醒的进程的进程控制块插入到就绪队列中.

例如:
– 图2-1所示
程序的顺序执行
概念:
– 程序在执行时,必须按某种先后次序逐个执
行操作,只有当前一个操作执行完后,才能 执行后一个操作.
特征:
– 顺序性 – 封闭性 – 可再现性
程序的并发执行
概念:
– 是指在一个时间段内执行多个程序.
特征:
– 间断性 – 失去封闭性 – 不可再现性
程序并发执行的判断方法:
进程同步与互斥
进程的并发性 进程的同步与互斥 利用PV操作实现互斥与同步 管程的基本概念
进程的并发性
概念
– 在并发执行的系统中,若干个作业可以同时执行,
而每个作业又需要有多个进程协作完成.在这些同 时存在的进程间具有并发性
并发进程之间的关系
– 无关关系 :这些进程间彼此毫无关系,互不影响 – 相关关系 :这些进程间彼此往往相关,互相影响,
进程的其它两种状态
新状态
– 当一个新进程刚刚建立,还未将其放入就绪
队列时的状态,称为新状态.
终止状态
– 当一个进程已经正常结束或异常结束,操作
系统已将其从系统队列中移出,但尚未撤消, 这时称为终止状态.
进程状态间的转换
新状态→就绪状态 就绪状态→执行状态 执行状态→阻塞状态 执行状态→就绪状态 阻塞状态→就绪状态 执行状态→终止状态 如图2-5所示
– Bernstein条件 – 利用前趋图
Bernstein条件 Bernstein条件
原理:
– 不同运算(或程序)的读集与写集的交集和写集与
写集的交集的并集为空集时,这几个运算(或程序) 可以并发执行.
解释:
– 运算的读集是指在运算执行期间引用的所有变量的
集合; – 运算的写集是指在运算执行期间要改变的所有变量 的集合.
操作系统原理教程
第2章 处理器管理
本章教学目标
了解线程的基本概念 熟悉进程描述,进程通信和进程死锁 掌握进程控制,进程同步与互斥,进程 调度
本章主要内容
处理器管理概述 进程描述 进程控制 线程的基本概念 进程同步与互斥 进程通信 进程调度 进程死锁
处理器管理概述
处理器管理的功能 程序的执行
处理器管理的功能
整型信号量的概念
概念
– 信号量就是一种特殊变量,它用来表示系统中资源
的使用情况.而整型信号量就是一个整型变量.
说明:
– 当其值大于"0"时,表示系统中对应可用资源的数目; – 当其值小于"0"时,其绝对值表示因该类资源而被阻
塞的进程的数目; – 当其值等于"0"时,表示系统中对应资源已经都被占 用,并且没有因该类资源而被阻塞的进程.
进程的创建
引起进程创建的事件
– 用户登录 – 作业调度 – 提供服务 – 应用请求
进程创建的过程
– 为新进程分配唯一的进程标识符,并从PCB队列中申请一个空闲
PCB. – 为新进程的程序和数据,以及用户栈分配相应的主存空间及其它必 要分配资源. – 初始化PCB中的相应信息,如标识信息,处理器信息,进程控制信 息等.
类型的临界资源就设置几个互斥信号量.它代表该 类临界资源的数量,或表示是否可用,其初值一般 为"1".
例题
– 【例2-4】在一个只允许单向行驶的十字路口,分别
有若干由东向西,由南向北的车辆在等待通过十字 路口.为了安全,每次只允许一辆车通过.当有车 辆通过时其它车辆必须等候,当无车辆在路口行驶 时则允许一辆车通过.请用PV操作实现保证十字路 口安全行驶的自动管理系统.
– 如果就绪队列可以接纳新进程,便将新进程加入到就绪队列中.
进程的撤消
引起进程撤消的事件
– 进程正常结束 – 在进程运行期间,由于出现某些错误和故障而使得进程被迫中止 – 进程应外界的请求而中止运行
进程撤消的过程
– 根据被终止进程的标识符,从PCB集合中检索该进程的PCB,读
出进程状态. – 若该进程处于执行状态,则立即终止该进程的执行. – 若该进程有子孙进程,还要将其子孙进程终止. – 将该进程所占用的资源回收,归还给其父进程或操作系统.
进程同步
– 进程同步是指多个相关进程在执行次序上的协调,这些进程相互合
作,在一些关键点上需要相互等待或相互通信.
进程互斥
– 进程互斥是指当一个进程进入临界区使用临界资源时,另一个进程
必须等待,当占用临界资源的进程退出临界区后,另一个进程才被 允许使用临界资源.
进程同步机制应遵循的原则
空闲让进 忙则等待 有限等待 让权等待
利用PV操作实现同步 利用PV操作实现同步
概念
– 同步信号量是根据进程的数量设置的.一般情况下,
处理器管理的主要任务
– 是对处理器进行分配,并对其运行进行有效
地控制和管理. 进程控制 进程同步 进程通信 进程调度
处理器管理的主要功能
– – – –
程序的执行
程序执行的描述
– 前趋图
程序的顺序执行 程序的并发执行
前趋图
概念:
– 前趋图是一个有向无循环图.
要求
– 每个结点可用于表示一条语句,一个程序段等 – 结点间的有向边表示在两个结点之间存在的前趋关
– 修改该进程控制块的相关内容.把阻塞状态改为就绪状态,
线Hale Waihona Puke 的基本概念1 线程的基本概念1线程的概念
– 线程是进程中的一个实体,是被系统独立调
度和执行的基本单位.
线程与进程的比较
– 调度单位不同 – 并发形式不同 – 拥有资源 不同
线程的基本概念2 线程的基本概念2
线程的类型
– 系统级线程:是依赖于系统控制的,即无论
作用
– 通过PCB,使得原来不能独立运行的程序(数据),
成为一个可以独立运行的基本单位,一个能够并发 执行的进程.进程控制块是进程存在的唯一标志.
进程控制块的内容
进程标识信息
– 进程标识符用于标识一个进程,一个进程通有外部标识符和
内部标识符两种
说明信息
– 说明信息是有关进程状态等一些与进程调度有关的信息.
进程的挂起状态
引入挂起状态主要 原因:
– 用户的需求 – 父进程的需求 – 操作系统的需求 – 对换的需求
引入挂起状态后的进程 状态转换
– 执行状态→静止就绪 – 活动就绪→静止就绪 → – 静止就绪→活动就绪 – 活动阻塞→静止阻塞 – 静止阻塞→活动阻塞 – 静止阻塞→静止就绪
进程控制
进程控制块PCB 进程的创建与撤消 进程的阻塞与唤醒
是用户进程中的线程,还是系统进程中的线 程,它们的创建,撤消,切换都是由系统控 制实现的. – 用户级线程 :是由用户控制,对于用户级线 程的创建,撤消,切换,都与系统控制无关, 完全由用户自己管理.
超线程
超线程的概念
– 超线程技术就是利用特殊的硬件指令,在一颗实体处理器中放入两
个逻辑处理单元,从而模拟成两个工作环境,让单个处理器都能使 用线程级并行计算,同时处理多项任务,提升处理器资源的使用率.
相关主题