第二章 进程的描述和控制
范围:进程描述与控制
练习题范围:进程描述与控制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东北农业大学操作系统原理离线作业答案
东北农业大学网络教育学院操作系统及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章进程的描述和控制博主:海底淤泥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章 进程
第二章 进 程 管 理
对于具有下述四条语句的程序段: 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章进程
对于进程的定义,从不同的角度可以有不同的定义,其 中较典型的定义有:
(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-8章 课后答案(全)
第一章操作系统引论1.设计现代OS的主要目标是什么?答:方便性,开放性,有效性,可扩充性2.OS的作用可表现在哪几个方面?答:OS作为用户与计算机硬件系统之间的接口;OS作为计算机系统资的管理者;OS实现了对计算机资源的抽象。
3.为什么说操作系统实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层1/0设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
0s通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4·说明推动分时系统形成和发展的主要动力是什么?答:主要动力是提高资源利用率和系统吞吐里,为了满足用户对人一机交互的需求和共享主机。
5.何谓脱机I/O和联机I/O?答:脱机1/0是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或一片上的数据或程序输入到殖带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而耽机1/0方式是指程序和数据的輸入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及寸接收并及时处理该命令,在用户能接受的时采内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设路多路卡,健主机能同时接收用户从各个终端上轮入的数据;为每个终端配路缓冲区,暂存用户捷入的命令或教据。
针对反时处理问题,应便所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。
操作系统题目1-2章
D、释放系统资源
9、为了方便用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口
又可进一步分为(
)。
A、联机用户接口和脱机用户接口
B、程序接口和图形接口
C、联机用户接口和程序接口
D、脱机用户接口和图形接口
10、操作系统与用户通信接口通常不包括(
)。
A、shell
B、命令解释器
C、广义指令
D、线程之间的通信必须使用系统调用函数
2、进程之间交换数据不能通过( )途径进行。
A、共享文件
B、消息传递
C、访问进程地址空间
D、访问共享存储区
3、若某一进程拥有 100 个线程,这些线程都属于用户级线程,则在系统调度执行时间上占
用的时间片是(
)。
A、1
B、100
C、1/100
D、0
4、在单处理机系统中,如果同时存在 10 个进程,则处于就绪队列中的进程最多有( )
个。
A、1
B、8
C、9
D、10
5、并发进程失去封闭性,是指(
)。
A、多个相对独立的进程以各自的速度向前推进
B、并发进程的执行结果与速度无关
C、并发进程执行时,在不同时刻发生的错误
D、并发进程共享变量,其执行结果与速度有关
6、一个计算机系统中,进程的最大数目主要受到( )限制。
A、内存大小
B、用户数目
B、被控制对象规定时间
C、周转时间
D、时间片
16、实时系统的进程调度,通常采用(
)算法。
A、先来先服务
B、时间片轮转
C、抢占式的优先级高者优先
D、高响应比优先
17、( )不是设计实时操作系统的主要追求目标。
计算机操作系统第四版教案
(2) CPU等待人工操作。当用户进行装带(卡)、卸带(卡) 等人工操作时,CPU及内存等资源是空闲的。
整理课件 13
第一章 操作系统引论
2. 脱机输入/输出(Off-Line I/O)方式 为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛 盾,20世纪50年代末出现了脱机I/O技术。该技术是事先将 装有用户程序和数据的纸带装入纸带输入机,在一台外围机 的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当 CPU需要这些程序和数据时,再从磁带上高速地调入内存。
整理课件 9
第一章 操作系统引论
图1-2 I/O软件隐藏了I/O操作实现的细节
整理课件 10
第一章 操作系统引论
1.1.3 推动操作系统发展的主要动力 1.不断提高计算机资源利用率 2. 方便用户 3. 器件的不断更新换代 4. 计算机体系结构的不断发展 5. 不断提出新的应用需求
整理课件 11
整理课件
2
第一章 操作系统引论
第一章 操作系统引论
1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS结构设计 习题
整理课件 3
第一章 操作系统引论
1.1 操作系统的目标和作用
操作系统的目标与应用环境有关。例如在查询系统中所 用的OS,希望能提供良好的人—机交互性;对于应用于工 业控制、武器控制以及多媒体环境下的OS,要求其具有实 时性;而对于微机上配置的OS,则更看重的是其使用的方 便性。
(1) 人—机交互。 (2) 共享主机。
整理课件 26
第一Байду номын сангаас 操作系统引论
操作系统第二章_dsf
•
如何协调各程序的执行顺序?
多个执行程序共享系统资源,程序之 间可能会相互影响,甚至影响输出结 果。 选择哪些、多少个程序进入内存执行? 内存中的执行程序谁先执行? 内存如何有效分配?
• • •
操作系统
第二章 进程的描述与控制
2.2 进程的描述
• 通常的程序不能参与并发执行,为了让程序 能并发执行,人们引入进程的概念对并发执行 的程序加以描述和控制。
操作系统
第二章 进程的描述与控制
顺序执行与并发执行特征对比
I1 I2
输入1
C2
输入2 计算1
输入3 计算2 输出2
输入4 计算3 输出3
C1
P1
P2
输出1
• 1. 2. 3.
操作系统
程序的顺序执行 顺序性 封闭性 可再现性
程序的并发执行 间断性 失去封闭性 不可再现性
第二章 进程的描述与控制
程序的并发执行引发的问题
应当注意,前趋图中必须不存在循环,但在图 2-2(b)中却有
着下述的前趋关系:S2→S3, S3→S2
操作பைடு நூலகம்统
第二章 进程的描述与控制
2.1.2 程序的顺序执行及其特征
– 程序:源代码程序、目标程序和可执行程序; 例如:sample.cpp sample.obj sample.exe – 程序执行:编辑、编译、链接、执行
I1 I2 I3 I4
C1
C2
C3
C4
P1
P2
P3
P4
•图 2-3 并发执行时的前趋图
操作系统 第二章 进程的描述与控制
在该例中存在下述前趋关系:
Ii→Ci,Ii→Ii+1, Ci→Pi, Ci→Ci+1,Pi→Pi+1 而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间, 可以并发执行。 对于具有下述四条语句的程序段: • • • •
第2章 进程的描述和控制
引 起 阻 塞 和 唤 醒 的 事 件
请求系统服务
启动某种操作
新数据尚未到 无新工作可做
• 进程阻塞过程 –正在执行的进程,发生上述事件时, 自身调用有关阻塞原语,进入等待队 列。进程的主动性行为。 –进程由运行态变为阻塞态 –引起处理机调度。 –例如UNIX:暂停一段时间sleep;暂停 并等待信号pause;等待子进程暂停或 终止wait。
1 2 3
• 顺序执行的特征: – 顺序性:按照程序结构所指定的次序 执行(可能有分支或循环) – 封闭性:独占全部资源,计算机的状 态只由于该程序的控制逻辑所决定, 结果不受外界因素的影响 – 可再现性:初始条件相同则结果相同。
2)程序的并发执行
• 引入并发执行的目的是为了提高资源利用率。 • 并发执行的特征(在不加入任何系统控制情况 下): – 间断性:表现为“走走停停”,一个程序可 能走到中途停下来,失去原有的时序关系; – 失去封闭性:共享资源,受其他程序的控制 逻辑的影响。如:一个程序写到存储器中的 数据可能被另一个程序修改,失去原有的不 变特征。 – 失去可再现性:失去封闭性 ->失去可再现 性;外界环境在程序的两次执行期间发生变 化,失去原有的可重复特征。
执行指针 就绪队列指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9 4 3 0 8
阻塞队列指针 空闲队列指针
7 9 0 0
索引方式
执行指针
PCB1 PCB2
PCB3
就绪表指针
PCB4 PCB5 PCB6
阻塞表指针
PCB7
2.2
进程控制
• 进程管理中最基本功能是进程控制 • 进程控制任务: – 进程的创建、终止、进程状态的转变等 • 进程控制一般由OS内核的原语(primitive)来 实现。 – 原语:由若干条指令构成的“原子操作 (atomic operation)”过程,作为一个整 体而不可分割--要么全都完成,要么全 都不做。 – 许多系统调用是原语。但并不是所有的系 统调用都是原语
《操作系统》课程教学大纲
《操作系统》课程教学大纲一、课程基本情况课程代码:10411290课程名称(中/英文):操作系统/Operating System课程类别:专业基础课学分:3.5总学时:56理论学时:48实验/实践学时:8适用专业:数据科学与大数据技术适用对象:本科先修课程:计算机组成与系统结构、java程序设计、数据结构教学环境:多媒体开课学院:计算机与信息工程学院二、课程简介《操作系统》是高校软件工程专业的一门专业核心课,是后续专业课程的理论基础,本课程讲述操作系统的基本原理,主要偏重于操作系统功能与结构的理论分析,对其中的重要算法辅以实验,以加深对理论知识的理解和掌握。
主要内容包括操作系统概论;进程的概念、进程的描述与控制、进程的同步与互斥以及进程管理的常用算法;处理机调度的策略和处理死锁的方法;存储器管理的方案和分配算法以及存储保护和共享;文件系统的运行机制及关键的数据结构;设备与系统的结合方式,设备驱动程序的结构及加载机制。
通过该课程的学习要求学生理解和掌握操作系统的原理和实现方法,培养分析、比较操作系统实现方法优劣的基本能力,加深对操作系统的理解,提高深入编程和借鉴操作系统的设计思想和算法的能力。
本课程主要讲述操作系统的原理,使学生不仅能够从操作系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。
主要内容包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理;操作系统的进程概念、进程调度和控制、进程同步和互斥等;操作系统的各种存储管理方式以及存储保护和共享;操作系统的设备管理原理。
三、课程教学目标2.课程教学目标及其与毕业要求指标点、主要教学内容的对应关系四、教学内容第一章操作系统引论1.主要内容:阐述操作系统的目标和作用;操作系统的发展过程;操作系统基本特性;操作系统主要功能;操作系统的结构设计。
2.基本要求:掌握操作系统的定义;理解操作系统目标、作用和功能;。
3.重点:操作系统的定义与功能。
计算机进程的描述与控制思维导图
软件同步机制:都没有解决让权等待,而且部分方 法还会产生死锁的情况
关中断
利用Tes - n -Se 指令实现互斥
硬件同步机制
利用 w 指令实现进程互斥
整型信号量
由于整型信号量没有遵循让权等待原则,记录型 允许负数,即阻塞链表
记录型信号量
进程同步机制
进程同步
D型信号量
进程控制
理解: D型号量的w i 和 i n 仅能对信号施 以加1或减1操作,意味着每次只能对某类临界 资源进行一个单位的申请或释放。当一次需要N 个单位时,便要进行N次w i 操作,这显然是低 效的,甚至会增加死锁的概率。此外,在有些情
进程是竞争计算机资源的基本单位,程序不是 进程是程序在数据集上的一次执行
程序是构成进程的组成部分,一个程序可对应多 个进程,一个进程可包括多个程序
进程的运行目标是执行所对应的程序
从静态看,进程由程序、数据和进程控制块( P B)组成
就绪状态 ea
进程的三种基本状态
执行状态 n n
阻塞状态 lo
进程的基本状态及转换
进程的阻塞与唤醒
互斥——竞争 同步——协作
间接相互制约关系 直接相互制约关系
un ac
进程的挂起与激活
两种形式的制约关系
临界资源
进入区 n ec i
临界区 i ic ec i 退出区 i ec i
分区
剩余区 m n
ec i
1.空闲让进
2.忙则等待 3.有限等待
同步机制应遵循的规则
4.让权等待
基本概念
三种基本状态的转换 创建状态和终止状态
五状态进程模型
注意
阻塞态->运行态和就绪态->阻塞态这二种状态 转换不可能发生
操作系统第二章习题
第二章进程的描述与控制1、在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有封闭性和可在现性特征。
2、并发进程之间的相互制约,是由于他们共享资源和相互合作而产生的,因而导致程序在并发执行时具有间断性或异步性特征。
3、程序并发执行与顺序执行是相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性。
4、引入进程的目的是使程序能正确地并发执行,以提高资源利用率和系统吞吐量,而引入线程的目的是减少并发执行的开销,提高程序执行的并发程度。
5、进程由进程控制块(PCB)、程序段和数据段组成,其中PCB是进城存在的唯一标志。
6、进程最基本的特征是动态性和并发性,除此之外,它还有独立特征和异步性特征。
7、由于进程的实质是程序的一次执行,故进程有动态性的基本特征,该特征还表现在进程由创建而产生,由调度而执行,由撤销而消亡,即进程具有一定的生命期。
8、引入进程带来的好处提高资源利用率和增加系统吞吐量。
9、当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞状态;若因终端用户的请求而暂停执行时,他应转为静止就绪状态。
10、用户为阻止进程继续运行,应利用挂起原语,若进程正在执行,应转变静止就绪状态,以后,若用户要恢复期运行,应利用激活原语,此时进程应转变为活动就绪状态。
11、系统中共有5个用户进程,且当前CPU在用户态下执行,则最多可有4个用户进程处于就绪状态,最多可有4个用户进程处于阻塞状态;若当前在核心态下执行,则最多可有4个用户进程处于就绪状态,最多可有5个用户进程处于阻塞状态。
12、为了防止OS本身及关键数据(如PCB等),遭受到应用程序有意或无意的破坏,通常也将处理机的执行状态分成用户态和系统态两种状态。
13、进程同步主要是对多个相关进程在执行次序上进行协调。
14、同步机制应遵循的准则有空闲让进、忙则等待、有限等待和让权等待。
计算机操作系统期末复习
2.2 进程的描述
进程的定义 ➢为了使参与并发执行的每个程序都能独立执行,在操作系
统中必须为之配置一个专门的数据结构,称为进程控制块 (Process Control Block,PCB)。
➢由程序段、相关的数据段和PCB三部分构成了进程实体,
我们把进程实体简称为进程。
进程的特征 ➢动态性 ➢并发性 ➢独立性 ➢异步性
3.2 作业与作业调度
作业调度算法 先来先服务调度算法(FCFS)(不可抢占的) 短作业优先调度算法(SJF) 优先级调度算法(PSA) 高响应比调度算法(HRRN)
FCFS例题
例:下面三个作业几乎同时到达系统并立即进行FCFS调度:
作业名 所需CPU时间
作业1
28
作业2
10
作业3
1
假设提交顺序为1、2、3,则平均作业周转时间T = (28+38+39)/3 = 35
44 3 2
5
2
1
5
1
哲学家进餐问题的改进解法
semaphore chopstick[5]={1,1,1,1,1};
void philosopher(int i)
{
while(true)
{
if(i mod 2 == 0)
//偶数哲学家,先右后左。
{
wait (chopstick [(i + 1) mod 5]);
他们共用一张圆桌,分别坐在五张椅子上。在圆桌上有五个 碗和五支筷子,平时一个哲学家进行思考,饥饿时便试图取 用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能 进餐。进餐毕,放下筷子又继续思考。
哲学家进餐问题的改进解法
方法一:至多只允许四位哲学家同时去拿左筷子,最终 能保证至少有一位哲学家能进餐,并在用完后释放两只 筷子供他人使用。
操作系统(第四版)期末复习总结
操作系统(第四版)期末复习总结第一章操作系统引论1、操作系统是什么?操作系统为用户完成所有“硬件相关,应用无关“的工作,以给用户方便、高效、安全的使用环境1.1、定义:操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调多个任务的活动,实现信息的存取和保护。
它提供用户接口,使用户获得良好的工作环境。
1.2、目标(1)、方便性:配置OS后计算机系统更容易使用(2)、有效性:改善资源利用率;提高系统吞吐量(3)、可扩充性:OSde结构(如层次化的结构:无结构发展->模快化结构->层次化结构->微内核结构)(4)、开放性:OS遵循世界标准范围。
1.3、作用:(1)、OS作为用户与计算机硬件系统之间的接口(API/CUI/GUI)即:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
(2)、OS是计算机系统资源的管理者(处理机、存储器、I/O设备、文件)处理机管理是用于分配和控制处理机存储器管理是负责内存的分配与回收I/O设备管理是负责I/O设备的分配(回收)与操纵文件管理是用于实现文件的存取、共享和保护(3)、OS实现了对计算机资源的抽象(OS是扩充机/虚拟机)2、操作系统的发展过程2.1、未配置操作系统的计算机系统(40年代手工操作阶段)(1)、人工操作方式:用户独占全机,资源空闲浪费。
缺点:手工装卸、人工判断、手工修改与调试内存指令等造成CPU空闲;提前完成造成剩余预约时间内的CPU完全空闲;I/O设备的慢速与CPU的速度不匹配造成的CPU空闲等待时间(2)、脱机输入输出(Off-Line I/O)方式。
优点:减少了CPU的空闲时间提高了I/O速度2.2、单道批处理系统(50年代)(1)、解决问题:单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。
批处理系统旨在提高系统资源的利用率和系统的吞吐量。
(但单道批处理系统仍不能充分利用资源,故现在已很少用)单道批处理分为:联机批处理、脱机批处理联机批处理:CPU直接控制作业输入输出脱机批处理:由外围机控制作业输入输出(2)、缺点:系统资源利用率低(因为内存中只存在一道程序,I/O请求成功前CPU都处于空闲状态)(3)、特征自动性。
第二章 进程的描述与控制
第二章进程的描述与控制1. 以下有关进程的描述中,错误的是() [单选题] *A 进程是动态的概念B 进程执行需要处理器C 进程是有生命周期的D 进程是指令的集合(正确答案)2. 以下关于进程的描述中,正确的是() [单选题] *A 进程获得CPU运行是通过调度实现的(正确答案)B 优先级是进程调度的重要依据,一旦确定就不能改变C 在单CPU的系统中,任意时刻都有一个进程处于运行状态D 进程申请CPU得不到满足时,其状态变为阻塞3.以下关于进程的描述中,()最不符合操作系统对进程的理解 [单选题] *A 进程是多个程序并行环境中的完整的程序(正确答案)B 进程可以由程序、数据和进程控制块描述C 线程是一种特殊的进程D 进程是程序在一个数据集合上运行的程序,是系统进行资源分配和调度的独立单位。
4. 一个进程是() [单选题] *A 由处理器执行的一个程序B 一个独立的程序+数据集C PCB结构、程序和数据的组合(正确答案)D 一个独立的程序5. 并发进程是指() [单选题] *A 可并行执行的进程B 可同一时刻执行的进程C 可同时执行的进程(正确答案)D 不可中断的进程6.在单处理器系统中实现并发技术后,() [单选题] *A 各进程在某一时刻并行运行,CPU和I/O设备间并行工作B 各进程在一个时间内并行运行,CPU和I/O设备间串行工作C各进程在一个时间段内并行运行,CPU和I/O设备间并行工作(正确答案)D 各进程在某一个时刻并行运行,CPU和I/O设备间串行工作7.在多道程序设计环境下,操作系统分配资源以()为基本单位 [单选题] *A 程序B 指令C 进程(正确答案)D 作业8. 分配到必要的资源并获得处理器时间的进程状态是() [单选题] *A 就绪状态B 运行状态(正确答案)C 阻塞状态D 撤销状态9. 当一个进程处于这样的状态时,()称为阻塞状态 [单选题] *A 它正等着输入一批数据(正确答案)B 它正等着进程调度C 它正等着分给它一个时间片D 它正等着进入内存10. 某个运行中的进程要申请打印机,它将变为() [单选题] *A 就绪态B 阻塞态(正确答案)C 创建态D 撤销态11. 以下进程状态转换中,()转换是不可能发生的。
chap2进程管理
end
S6
例题
设有一个作业由4个进程组成,这4个进程必须按下图所 示的次序运行,试用P、V操作表达4个进程的同步关系。 a
P2
P1
b
P3
c
P4
d
习题1
1. 在多进程的系统中,为了保证公共变量的完整性, 各进程应互斥地进入临界区。所谓临界区是指 ( )。 A.一个缓冲区 B.一段数据区 C.同步机制 D.一 段程序 2. 如果多个进程共享系统资源或相互合作完成一个 共同的任务,则诸进程是以( )方式运行的。对 临界资源访问时采用( )方式,对于相互合作的 进程采用( )方式以协调各进程执行的( )。 A.共享 B.独立 C.互斥 D.同步 E. 次序 F. 次数 G.异步 3. 请阐述对于互斥临界区的管理要求。
问题思考:进程和程序的区别和联系?
区别: 1)进程是指令的有序集合,是静态的,进程是程序的执行,是 动态的。 2)进程的存在是暂时的,程序的存在是永久的。 3)进程的组成应包括程序和数据。除此之外,进程还应由记录 进程状态信息的“进程控制块”组成。
联系: 程序是构成进程的组成部分之一,一个进程的运行目标是 执行它所对应的程序。如果没有程序,进程就失去了其存在的 意义。从静态的角度看,进程由程序、数据和进程控制块三部 分组成。
创建进程(调用原语Create())的主要工作
向系统申请一个空闲的PCB。 分配资源,如内存。 给PCB的各数据项臵初值(进程名,状态,CPU信息,程序 计数器,栈指针,寄存器)——故调用创建原语的进程,必须提 供PCB的有关参数。 把新的PCB插入就绪队列。
课
堂 练 习
1、进程的定义是什么?它由哪几部分组成?它最少有哪 几种状态? 答:进程是进程实体的一次执行过程。进程由程序、数据 和进程控制块组成。一个进程至少有就绪、执行和阻塞三种 状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)。