第二章 进程的描述和控制

合集下载

范围:进程描述与控制

范围:进程描述与控制

练习题范围:进程描述与控制1-程序的顺序执行与并发执行/2-进程的定义、特征及与程序的区别/3-前趋图一、选择题:1、并发进程失去了封闭性是指()。

A多个相对独立的进程以各自的速度向前推进。

B 并发进程的执行结果与速度无关。

C 并发进程执行时,在不同时刻发生的错误。

D 并发进程共享变量,其执行结果与速度有关。

/1-D/华中科技982、下列几种关于进程的叙述,()最不符合操作系统对进程的理解。

A进程是在多程序并行环境中的完整的程序。

B 进程可以由程序、数据和进程控制块描述。

C 线程(Thread)是一种特殊的进程。

D 进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。

/2-A/浙大983、当一个进程处于()这样的状态时,称其为等待状态。

A它正等待输入一批数据。

B 它正等着协作进程的一个消息。

C 它正等分给它一个时间片。

D 它正等进入内存。

/2-A、B/华中科技004、进程的属性包括()。

A进程就是程序,或者说,进程是程序的另一种叫法。

B 一个被创建了的进程,在它消灭之前,在任何时刻总是处于3种基本状态之一。

C 多个不同的进程可以包含相同的程序。

D 一个处于等待队列中的进程,即使进入其他状态,仍然被放在等待队列之中。

E 两个进程可以同时处于运行状态/2-C/南大005、进程具有的特性有()。

A动态性。

B 共享性。

C 并发性。

D 静态性。

E 独立性。

F 不确定性。

/2-A、C、E/北理工99二、填空1、进程是一个程序对某个数据集的()。

/2-一次执行过程/清华992、进程控制块的初始化工作包括()、()和()。

/2-初始化标识符信息初始化处理机状态信息初始化处理机控制信息/中科院计算所993、如果系统中有n个进程,则在等待队列中进程的歌数最多可为()个。

/2-n-1/北大97 -?是否正确?4、在操作系统中,不可中断执行的操作称为()。

/2-原子操作/北大975、进程创建原语的主要工作是()。

2020东北农业大学操作系统原理离线作业答案

2020东北农业大学操作系统原理离线作业答案

东北农业大学网络教育学院操作系统及windows基础网上作业题第一章操作系统引论一、选择题1.(D)不是基本的操作系统A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2.(C)不是分时系统的基本特征:A.同时性B.独立性C.实时性D.交互性3.在计算机系统中,操作系统是( B)A. 一般应用软件B.核心系统软件C. 用户应用软件D.系统支撑软件4.以下哪一个不是设计操作系统的主要目标(C)A.方便性 B. 有效性 C. 成本低D. 可扩充性5.最早出现的操作系统是( B)A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统6. 允许多个用户以交互使用计算机的操作系统是( B)A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统7. 操作系统是一组( C)A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序8. 现代操作系统的两个基本特征是( C)和资源共享.A.多道程序设计B.中断处理C.程序的并发执行D.实现分时与实时处理9. ( D)不是操作系统关心的主要问题A.管理计算机裸机B.设计,提供用户程序与计算机硬件系统的界面C, 管理计算机系统资源D.高级程序设计语言的编译器10.引入多道程序的目的是(D)A.为了充分利用主存储器B.增强系统的交互能力B.提高实时响应速度D.充分利用CPU,减少CPU的等待时间11.多道程序设计是指( A)A.有多个程序同时进入CPU运行B.有多个程序同时进入主存并行运行C.程序段执行不是顺序的D.同一个程序可以对应多个不同的进程12.从总体上说,采用多道程序设计技术可以( C)单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要( ).A.增加,减少B.增加,延长C.减少,延长D.减少,减少13.在分时系统中,时间片一定,( B),响应时间越长。

A.内存越多B.用户数越多C.后备队列D.用户数越少14.批处理系统的主要缺点是( B )A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是15. 在下列性质中,哪一个不是分时系统的特征( A )A.交互性B.多路性C.成批性D.独立性16. 实时操作系统追求的目标是( C)A.高吞吐率B.充分利用内存C.快速响应D.减少系统开销17.以下( C)项功能不是操作系统具备的主要功能.A.内存管理B.中断处理C.文档编辑D.CPU调度18.操作系统负责为方便用户管理计算机系统的(C )A.程序B.文档资料C.资源D.进程19.操作系统的基本职能是( A)A.控制和管理系统内各种资源,有效地组织多道程序的运行B.提供用户界面,方便用户使用C.提供方便的可视化编辑程序D.提供功能强大的网络管理工具20. 未配置操作系统的计算机系统中最主要的矛盾是(C)A.硬件价格昂贵与消费水平之间的矛盾 B.输入输出无法匹配CPU运行速度的矛盾C.软硬件发展不匹配的矛盾 D.操作复杂与操作人员技术水平之间的矛盾二、填空题1.操作系统为用户提供三种类型的使用接口,它们是(命令界面)、(系统调用界面)和图形用户界面。

操作系统第二章进程的描述与控制题目

操作系统第二章进程的描述与控制题目

操作系统第⼆章进程的描述与控制题⽬1-1. 下⾯对进程的描述中,错误的是。

A.进程是动态的概念B. 进程执⾏需要处理机C.进程是有⽣命周期的D. 进程是指令的集合【答案】D动态的,有⽣命周期的。

【解析】【解析】程序是指令的集合。

⽽进程是程序的⼀次执⾏,是动态的,有⽣命周期的。

1-2. 分配到必要的资源并获得处理机时的进程状态是 ()A. 就绪状态B. 执⾏状态C. 阻塞状态D. 撤消状态【答案】B【解析】分配到必要地资源获得处理机时的进程状态是执⾏状态。

1-3.程序的顺序执⾏通常在①的⼯作环境中,具有以下特征②。

程序的并发执⾏在③的⼯作环境中,具有如下特征④。

A. 单道程序B.多道程序C. 程序的可再现性D. 资源共享【答案】①A ②C ③B ④D。

【解析】程序的顺序执⾏通常在单道程序的⼯作环境中,具有程序结果的可再现性特征;程序的并发执⾏在多道程序的⼯作环境中,具有共享资源的特征。

1-4. 下列进程状态变化中,变化是不可能发⽣的A. 运⾏——就绪B.运⾏—— 等待C. 等待——运⾏D. 等待——就绪【答案】C【解析】当调度程序为某就绪状态的进程分配了处理机时,该进程便由就绪状态变为执⾏状态;正在执⾏的进程因等待发⽣某事件⽽⽆法执⾏时,该进程由执⾏状态变为等待状态;当处于等待状态的进程所等待的事件发⽣时,该进程由等待状态变为就绪状态;正在执⾏的进程如因时间⽚⽤完⽽暂停执⾏,该进程由执⾏状态变为就绪状态。

等待——运⾏不可能发⽣,就绪—— 等待不可能发⽣。

运⾏不可能发⽣,就绪唯⼀的双向箭头是运⾏运⾏——就绪,就绪——运⾏唯⼀的双向箭头是1-5. 当时,进程从执⾏状态转变为就绪状态。

A. 进程被调度程序选中B. 时间⽚到C. 等待某⼀事件D.等待的事件发⽣【答案】B。

【解析】正在执⾏的进程,如因时间⽚⽤完⽽暂停执⾏,则该进程由执⾏状态转变为就绪状态。

就绪——运⾏ C. 等待某⼀事件运⾏—— 阻塞 D.等待的事件发⽣等待——就绪A. 进程被调度程序选中,进程被调度程序选中,就绪1-6. 如果系统中有n个进程,则就绪队列中进程的个数最多为。

【操作系统】《计算机操作系统》汤小丹第2章进程的描述和控制

【操作系统】《计算机操作系统》汤小丹第2章进程的描述和控制

【操作系统】《计算机操作系统》汤⼩丹第2章进程的描述和控制博主:海底淤泥1.什么是前趋图?为什么要引⼊前趋图? 前趋图:⼀个有向⽆循环图,它⽤于描述进程之间的先后顺序 作⽤:更好描述程序的顺序和并发执⾏情况2.试画出下⾯四条语句的前趋图S1:a=x+y S2:b=z+1 S3:c=a-b S4:w=c+1 S1->S3 S2->S3 S3->S43.为什么程序并发执⾏会产⽣间断特征? 程序在并发执⾏时,由于它们共享系统资源,以及为完成同⼀项任务相互合作,⾄使在这些并发程序之间形成了相互制约的关系4.程序并发执⾏时为什么会失去封闭性和可再现性? 失去封闭性:当系统存在着多个可以并发执⾏的程序时,系统中的各种资源将为它们所共享,⽽这些资源的状态也由这些程序来改变,导致其中任意程序运⾏时,其环境都必然会受到其他程序的影响。

失去可再现性:程序并发执⾏时,由于失去了封闭性,其计算结果必然将与并发程序的执⾏速度有关,从⽽使程序的执⾏失去了可再现性5.在操作系统中为什么要引⼊进程的概念?它会产⽣什么影响? 为了使程序并发执⾏,并且可以对并发执⾏的程序加以描述和控制,⼈们引⼊了“进程”的概念。

影响:使程序并发执⾏,进程实体和其他进程实体并发执⾏6.试从动态性、并发性、和独⽴性上⽐较进程和线程 动态性:进程实体有⼀定⽣命期,是动态的;⽽程序是⼀组有序指令集合,并存放在某种介质上,其本⾝不具有活动意义,是静态的 并发性:进程可以并发执⾏,没有PCB的程序是不能并发执⾏的 独⽴性:进程实体是⼀个能独⽴运⾏,独⽴获得资源和独⽴接受调度的基本单位。

未建⽴PCB的程序不能作为⼀个独⽴的单位参与运⾏7.试说明PCB的作⽤具体表现在什么⽅⾯,为什么说PCB是进程存在的唯⼀标志? PCB描述进程是基本情况和活动过程,进⽽控制和管理进程。

创建进程:创建进程实体的PCB 撤销进程:撤销进程实体的PCB8.PCB提供了进程管理和进程调度所需要的哪些信息?1.进程标识符2.处理机状态3.进程调度信息4.进程控制信息9.进程控制块的组织⽅式有哪⼏种?1.线性⽅式2.连接⽅式3.索引⽅式10.何谓操作系统内核?内核的主要功能是什么? 通常将⼀些硬件紧密相关的模块、各种常⽤设备的驱动程序以及运⾏频率较⾼的模块,都安排在紧靠硬件的软件层次中,将它们常驻内存,被称为操作系统内核 功能:1.对重要软件进⾏保护,防⽌遭到其他程序的破坏 2.提⾼OS的运⾏效率11.试说明进程在三个基本状态之间转换的经典原因 就绪->执⾏:进程调度 执⾏->就绪:时间⽚完 执⾏->阻塞:I/O请求 阻塞->就绪:I/O完成12.为什么要引⼊挂起状态?该状态有哪些性质? 原因:1.终端⽤户的需要 2.⽗进程的请求 3.负荷调节的需要 4.操作系统的需要 性质:1.若程序正在执⾏,将暂停执⾏ 2.若原本处于就绪状态,则该程序不接受调度13.在进⾏进程切换时,所要保存的处理机状态信息有哪些?1.通⽤寄存器2.指令计数器3.程序状态字PSW4.⽤户栈指针14.试说明引起进程创建的主要事件。

操作系统课件 第2章 进程

操作系统课件 第2章 进程

第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。

第二章、进程的描述与控制

第二章、进程的描述与控制

第⼆章、进程的描述与控制第⼆章、进程的描述与控制2.1 前趋图和程序执⾏2.1.1 前趋图概念:所谓前趋图:指⼀个有向⽆循环图(DAG),它⽤于描述进程之间执⾏的先后顺序。

2.1.2 程序顺序执⾏特征:顺序性封闭性:指程序在封闭的环境中运⾏,程序运⾏时独占全机资源,资源的状态只有本程序才能改变,程序⼀旦开始执⾏,其执⾏结果不受外界因素影响可再现性:只要条件相同还会得到相同的执⾏结果。

2.1.3 程序并发执⾏特征:间断性失去封闭性不可在现性2.2进程的描述2.2.1 进程的定义和特征定义为了使程序并发执⾏,并且可以对并发执⾏的程序加以描述和控制,⼈们引⼊了进程的概念。

为了使参与并发执⾏的每个程序都能独⽴运⾏,在操作系统中必须为之分配⼀个专门的数据结构,称为进程控制块(PCB)。

系统利⽤PCB 来描述进程的基本情况和活动过程,进⽽控制和管理进程。

因此进程的定义为:由程序段、相关的数据段和由程序段、相关的数据段和PCB三部分构成的进程实体。

⽐较典型的定义有:进程是程序的⼀次执⾏进程是⼀个程序及其数据在处理机上顺序执⾏时所发⽣的活动进程是具有独⽴功能的程序在⼀个数据结合上运⾏的过程,它是系统进⾏资源分配和调度的⼀个独⽴单位。

进程的特征动态性并发性独⽴性异步性2.2.2 进程的基本状态以及转换进程三种基本状态由于多个进程在并发执⾏时共享系统资源,致使他们在运⾏过程中呈现间断性的运⾏规律,所以进程在⽣命周期内可能具有不同状态。

⼀般⽽⾔,每个进程⾄少应处于以下三种基本状态:就绪(Ready)状态指进程已处于准备好运⾏的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得CPU就可以⽴即执⾏。

如果有多个就绪状态的进程。

就绪队列通常按照⼀定的策略排成⼀个队列,称该队列为就绪队列执⾏(Running)状态指进程已经获得CPU,其程序正在执⾏的状态。

在单处理机系统中,只有⼀个进程处于执⾏状态,⽽多处理机系统则有多个进程处于阻塞(Block)状态指正在执⾏的进程由于发⽣某事件(如I/O请求、申请缓冲区失败等)暂时⽆法继续执⾏时的状态,即进程的执⾏受到了阻塞。

计算机操作系统原理 第二章 进程描述与控制

计算机操作系统原理 第二章 进程描述与控制

13
两个并发程序方案

设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责 从标准设备中读取一个字符,送缓冲区中。输 出程序从缓冲区中取数据,送标准设备输出。
14
两个并发程序方案
f
标准输入 (键盘)
输入程序 缓冲区 输出程序
g
标准输出 (打印机)
15
两个并发程序方案
6
前趋图
前趋图(Precedence Graph)是一个有向无循环图,记 为DAG(Directed Acyclic Graph),用于描述进程之间执行 的前后关系。 结点:一个程序段或进程,乃至一条语句
有向边:偏序或前趋关系
把没有前趋的结点称为初始结点(Initial Node) 没有后继的结点称为终止结点(Final Node) 每个结点还具有一个重量(Weight),用于表示该结点 所含有的程序量或结点的执行时间。
38
进程状态模型
进程状态转换
原状态 创建 OS根据作业控制请求; 分时系统用户登录; 进程产生子进程而创 建进程 转换后状态 运行 × 就绪 × 阻塞 × 终止 ×
创建
×
×
OS准备运 行新的进 程
×
×
(转下表)
39
进程状态模型
原状态 创建 运行 × 运行 × 转换后状态 就绪 超时;OS服务 请求;OS响应 具有更高优先 级的进程;进 程释放控制 阻塞 OS服务 请求; 资源请 求;事 件请求 终止 进程完 成,进 程夭折
2.5 进程同步 2.6 经典进程的同步问题 2.7 管程机制 2.8 进程通信
3
2.1 进程描述

2.1.1 程序的顺序执行 2.1.2 程序的并发执行 2.1.3 进程的定义

计算机操作系统-汤小丹第4版复习讲义教程第2章进程

计算机操作系统-汤小丹第4版复习讲义教程第2章进程

对于进程的定义,从不同的角度可以有不同的定义,其 中较典型的定义有:
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是具有独立功能的程序在一个数据集合上运行 的过程,它是系统进行资源分配和调度的一个独立单位。
进程与程序的主要区别
1)程序是指令的有序集合,其本身没有任何运行的含 义,它是一个静态的概念。而进程是程序在处理机上 的一次执行过程,它是一个动态概念。
图2-6 进程的五种基本状态及转换
2.2.3 挂起操作和进程状态的转换 1. 挂起操作的引入:使正在执行的进程暂停执行; 引入挂起操作的原因,是基于系统和用户的如下需要: (1) 终端用户的需要。 (2) 父进程请求。 (3) 负荷调节的需要。 (4) 操作系统的需要。
与挂起原语Suspend相应的是激活原语Active
如图2-9所示,OS管理的这些数据结构一般分为以下四 类:内存表、设备表、文件表和用于进程管理的进程表,通 常进程表又被称为进程控制块PCB。
图2-9 操作系统控制表的一般结构
2. 进程控制块PCB的作用 (1) 作为独立运行基本单位的标志。 (2) 能实现间断性运行方式。 (3) 提供进程管理所需要的信息。 (4) 提供进程调度所需要的信息。 (5) 实现与其它进程的同步与通信。
图2-5 进程的三种基本状态及其转换
3. 创建状态和终止状态 1) 创建状态 如前所述,进程是由创建而产生。创建一个进程是个很 复杂的过程,一般要通过多个步骤才能完成:如首先由进程 申请一个空白PCB,并向PCB中填写用于控制和管理进程的 信息;然后为该进程分配运行时所必须的资源;最后,把该 进程转入就绪状态并插入就绪队列之中。但如果进程所需的 资源尚不能得到满足,比如系统尚无足够的内存使进程无法 装入其中,此时创建工作尚未完成,进程不能被调度运行, 于是把此时进程所处的状态称为创建状态。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 进程唤醒过程
– 当被阻塞进程所期待的事件出现时,如I/O完成 或其所期待的数据已经到达,则由有关进程(比 如,用完并释放了该I/O设备的进程)调用唤醒 原语wakeup( ),将等待该事件的进程唤醒。唤 醒原语执行的过程是:首先把被阻塞的进程从 等待该事件的阻塞队列中移出,将其PCB中的 现行状态由阻塞改为就绪,然后再将该PCB插 入到就绪队列中。
compete and/or cooperate
相互协作的进程(线程) 如何正确执行?
进程间通信
与时间有关的错误——例子1 • 飞机订票系统,两个终端,运行T1、T2进 程
T1: ... read(x); if x>=1 then x:=x-1; write(x); ...
T2: ... read(x); if x>=1 then x:=x-1; write(x); ...
• 处理器怎么知道当前是操作系统还是一般 用户程序在运行呢?
• 处理器状态
– 处理器状态标志: 管理状态(特权状态、系统 模式、特态或管态)和用户状态(目标状态、 用户模式、常态或目态)。处理器状态的转换。 – 处理器处于管理状态时,程序可以执行全部指 令,使用所有资源,具有改变处理器状态的能 力;处理器处于用户状态时,程序只能执行非 特权指令
• 特权指令与非特权指令
– 从资源管理和控制程序执行的角度出发,必须 把指令系统中的指令分作两部分:特权指令和 非特权指令。 – 特权指令是指只能提供给操作系统的核心程序 使用的指令,如启动I/O设备、设置时钟、控制 中断屏蔽位、清主存、建立存储键,加载PSW 等。
• 程序状态字寄存器
– 计算机如何知道当前处于何种工作状态?这时 能否执行特权指令?通常操作系统都引入程序 状态字PSW(Program Status Word)来区别 不同的处理器工作状态 – PSW用来控制指令执行顺序并保留和指示与程 序有关的系统状态,主要作用是实现程序状态 的保护和恢复 – 每个程序都有一个与其执行相关的PSW,每个 处理器都设置一个PSW寄存器。程序占有处理 器执行,它的PSW将占有PSW寄存器
2.3.4 进程的阻塞与唤醒 • 引起进程阻塞和唤醒的事件
– 向系统请求共享资源失败 – 等待某种操作的完成 – 新数据尚未到达 – 在执行的进程,当发现上述某事件时,由于无法继 续执行,于是进程便通过调用阻塞原语block把自己阻 塞。可见,进程的阻塞是进程自身的一种主动行为。 进入block过程后,由于此时该进程还处于执行状态, 所以应先立即停止执行,把进程控制块中的现行状态 由“执行”改为阻塞,并将PCB插入阻塞队列。如果 系统中设置了因不同事件而阻塞的多个阻塞队列,则 应将本进程插入到具有相同事件的阻塞(等待)队列。 最 后,转调度程序进行重新调度,将处理机分配给另一 就绪进程,并进行切换,亦即,保留被阻塞进程的处 理机状态(在PCB中),再按新进程的PCB中的处理机状 态设置CPU的环境。
2.3.1 进程同步的基本概念
进程在执行时,各进程具有独立性和异步性等并发特点。系统中进程相 互影响构成制约关系:
感知程度
进程之间不知道对 方的存在
关 系
竞争
进程对其他进程的影响
•一个进程的结果和另一 个进程的执行无关 •进程的执行时间可能会 受到影响 •一个进程的结果可能依 赖于从另一个进程获得 的信息 •进程的执行时间可能会 受到影响 •一个进程的结果可能依 赖于从另一个进程获得 的信息 •进程的执行时间可能会 受到影响
(Critical Section)
void pi() { while(true){ /*处理代码*/; entercritical(Ra); /*临界区*/ exitcritical(Ra); /*其他代码*/; } }
• 同步机制执行准则:
– 空闲让进 – 忙则等待 – 有限等待 – 让权等待
第二章 进程的描述和控制 • 2.3 进程控制
• 2.4 进程同步
2.3 进程控制 2.3.1 操作系统内核
操作系统中,为了防止用户进程对OS及PCB等 关键信息的破坏。 一个进程在其生命期中有 两种机器运行状态: – 系统态 (核心态,管态) 具有较高的访问权, 可访问核心模块。 – 用户态 (目态 ) 限制访问权。
2.4 进程同步
• 设有一台标准输入设备(键盘),和一台标准输出设备(显示 器或打印机),输入进程负责从标准设备中读取一个字符, 送缓冲区中。输出进程从缓冲区中取数据,送标准设备输 出。
这两个进程并发执行时可能出现的情况?
1、输出重复;
2、数据丢失;
问题的提出
进程之间如何传递消 息?线程呢? 确保各个进程(线程)的关 键活动不会出现交错

简单,高效 代价高,限制CPU并发能力(临界区大小) 不适用于多处理器
• •
硬件解法2 —―测试并设置”(TSL)指令
2.4.2 硬件同步机制 • 硬件方案
– 屏蔽中断、TSL(XCHG)指令
硬件解法1—中断屏蔽方法 • “开关中断”指令
执行“关中断”指令 临界区操作 执行“开中断”指令
while (true) { /* disable interrupts */; /* critical section */; /* enable interrupts */; /* remainder */; }
中断请求
中断响应
保护CPU现场 识别中断源
转中断 处理程序
退出中断
恢复CPU现场
向CPU
内核对中断的有限处理方式 中 断 源 — 引起中断的异步事件(如:系统调用,I/ O 请求,进程调度, 设备驱动,文件处理等)。 中断请求 — 向CPU发出中断信号。 中断响应 — CPU停止执行当前进程,分辨中断请求的类型。 中断处理 — CPU将请求交相关的中断处理程序处理。 中断返回 — 众多处理结束,返回断点。
A B C
D
E
F
G
H
– 进程间的这种关系是非常有用处 的:
• 子进程继承父进程的资源。 • 子进程被撤消时,要归还从父进 程获得的资源。 • 撤消一个进程时,必须同时/事 先撤消其多有子孙进程。
I
J
K
L
M
进程树
• 进程创建过程
– 1)申请空白PCB。 – 2)为新进程分配资源。 – 3)初始化进程控制块。
2.3.5进程的挂起与激活 • 进程的挂起
– 当出现了引起进程挂起的事件时,比如,用户 进程请求将自己挂起,或父进程请求将自己的 某个子进程挂起, 系统将利用挂起原语 suspend( )将指定进程或处于阻塞状态的进程 挂起。挂起原语的执行过程是:首先检查被挂 起进程的状态,若处于活动就绪状态,便将其 改为静止就绪;对于活动阻塞状态的进程,则 将之改为静止阻塞。 为了方便用户或父进程考 查该进程的运行情况而把该进程的PCB复制到 某指定的内存区域。最后,若被挂起的进程正 在执行,则转向调度程序重新调度。

2)异常结束:
– 在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有: • ①越界错误。这是指程序所访问的存储区,已越出该进程的区域; • ②保护错。进程试图去访问一个不允许访问的资源或文件,或者以不适当的方式进行访 问,例如,进程试图去写一个只读文件; • ③非法指令。程序试图去执行一条不存在的指令。出现该错误的原因,可能是程序错误 地转移到数据区,把数据当成了指令; • ④特权指令错。用户进程试图去执行一条只允许OS执行的指令; • ⑤运行超时。进程的执行时间超过了指定的最大值; • ⑥等待超时。进程等待某事件的时间, 超过了规定的最大值; • ⑦算术运算错。进程试图去执行一个被禁止的运算,例如,被0除; • ⑧I/O故障。这是指在I/O过程中发生了错误等。
• 初始化标志符信息 • 初始化处理机状态信息 • 初始化处理机控制信息
– 4)将新进程插入就绪队列
• 如果进程就绪队列能够接纳新进程, 便将新进程插 入就绪队列。
2.3.3 进程的终止
• 引起进程终止的事件
• 1)正常结束:
– 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例如,在批处理系统中, 通常在程序的最后安排一条Holt指令或终止的系统调用。当程序运行到Holt指令时,将产生一 个中断,去通知OS本进程已经完成。 在分时系统中,用户可利用Logs off去表示进程运行完 毕, 此时同样可产生一个中断,去通知OS进程已运行完毕。
内核的功能
– 1)中断处理 中断是OS内核最基本的功能。系统中的所有 中断 都由内核响应。中断是进程并发执行的基 础, OS是由中断驱动的。 – 2) 时钟管理 OS的许多重要操作,都依赖于时钟管理。 – 3)原语操作 原语操作包括涉及CPU管理,存储管理,设备 管理,文件管理的各种基本操作。
中断源
• 进程的激活过程
– 当发生激活进程的事件时,例如,父进程或用户进程 请求激活指定进程,若该进程驻留在外存而内存中已 有足够的空间时,则可将在外存上处于静止就绪状态 的进程换入内存。这时,系统将利用激活原语active( ) 将指定进程激活。 激活原语先将进程从外存调入内存, 检查该进程的现行状态,若是静止就绪,便将之改为 活动就绪;若为静止阻塞便将之改为活动阻塞。假如 采用的是抢占调度策略,则每当有新进程进入就绪队 列时,应检查是否要进行重新调度,即由调度程序将 被激活进程与当前进程进行优先级的比较,如果被激 活进程的优先级更低,就不必重新调度;否则,立即 剥夺当前进程的运行,把处理机分配给刚被激活的进 程。
• 引起创建进程的事件
– 1)用户登录。 – 2)作业调度。 – 3)提供服务。 – 4)应用请求。
2.3.2 进程的创建
• 进程图
– 用于描述进程家族关系的有向树。
• 图中的节点代表进程。进程pi创 建了进程pj后就成pi是pj的父进 程(Parent Process),pj是pi的子 进程(Progeny Process)。用pi指 向pj的有向边描述它们之间的父 子关系。创建父进程的进程称为 祖父进程,从而一个进程家族就 形成了一棵进程树,其中根节点 成为进程家族的祖先(Ancestor)。
相关文档
最新文档