第2章 进程管理(3)
第二章进程管理答案
第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。
A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。
A. 异步性B. 并发性C. 静态性D. 动态性5A6A.7A.8A.9A.10A.11A.12。
A.13A.14A.15A.16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。
A. S>0B. S=0C. S<0D. S≠017、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。
A.10 B.8 C.6 D.418、在进程通信中,使用信箱方式交换信息的是()。
A.低级通信B.高级通信C.共享存储器通信D.管道通信19.( )必定会引起进程切换。
A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。
A.中断B.查询c.同步D互斥21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。
A.顺序执行B.同时执行c.并行执行D.并发执行22.操作系统根据( )控制和管理进程,它是进程存在的标志。
A.程序状态字B.进程控制块 c.中断寄存器 D.中断装置23.若干个等待占有cPU并运行的进程按一定次序链接起来的队列为( )。
A.运行队列 B.后备队列 c.等待队列D.就绪队列24.进程的( )和并发性是两个很重要的属性。
A.动态性 B.静态性 c.易用性 D.顺序性25引入多道程序设计技术后,处理器的利用率( )。
计算机操作系统题库及答案
第一章操作系统引论一.选择题1.操作系统是一种。
A.通用软件B.系统软件C.应用软件D.软件包答:B2.操作系统的管理部分负责对进程进行调度。
A.主存储器B.控制器C.运算器D.处理机答:D3.操作系统是对进行管理的软件。
A.软件B.硬件C.计算机资源D.应用程序答:C4.从用户的观点看,操作系统是。
A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成答:A5.操作系统的功能是进行处理机管理、管理、设备管理及信息管理。
A.进程 B. 存储器C.硬件 D. 软件答:B6.操作系统中采用多道程序设计技术提高CPU和外部设备的。
A.利用率B.可靠性C.稳定性D.兼容性答:A7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的和方便用户使用计算机而配备的一种系统软件。
A.速度B.利用率C. 灵活性D.兼容性答:B8.操作系统的基本类型主要有。
A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统答:B9.所谓是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。
A. 多重处理B.多道程序设计C. 实时处理D. 共行执行答:B10. 下面关于操作系统的叙述中正确的是。
A.批处理作业必须具有作业控制信息。
B.分时系统不一定都具有人机交互功能。
C.从响应时间的角度看,实时系统与分时系统差不多。
D.由于采用了分时技术,用户可以独占计算机的资源.答:A11. 如果分时操作系统的时间片一定,那么,则响应时间越长。
A.用户数少B.用户数越多C.内存越少D.内存越多答:B12.实时操作系统必须在内完成来自外部的事件。
A. 响应时间B.周转时间C.规定时间D.调度时间答:C13.分时系统中为了使多个用户能够同时与系统交互,最关键的问题是。
操作系统作业一及答案
第一章:操作系统引论1.什么是操作系统?可以从哪些角度阐述操作系统的作用?答:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序模块的集合。
作用:控制管理计算机的全部硬软件资源,合理组织计算机内部各部件协调工作,为用户提供操作和编辑界面的程序集合。
2、简要叙述批处理操作系统、分时操作系统和实时操作系统的概念及特点。
答:批处理操作系统:通常是把一批作业以脱机方式输入到磁带(磁盘)上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直到磁带(磁盘)上所有的作业全部完成。
其特点:(1)自动性;(2)顺序性。
分时操作系统:是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性。
实时操作系统:是指系统及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性;(5)可靠性。
3操作系统需要管理哪些资源?它的基本功能是什么?答:硬件资源:CPU,打印机等,软件资源:数据,程序等4操作系统对外提供了哪些接口?答:(1)操作系统的命令接口通过在用户和操作系统之间提供高级通信来控制程序运行,用户通过输入设备发出一系列命令告诉操作系统执行所需功能,它包括了键盘操作命令和作业控制命令,称为作业一级的用户接口。
命令接口的两种最普遍和主要的方式是直接命令方式(命令行)和间接命令方式(命令文件)。
(2)操作系统的程序接口它是用户程序和操作系统之间的接口,用户程序通过它们使用系统资源及系统服务,这种接口方式通常采用若干系统调用组成。
操作系统复习资料全第二章 进程管理(3)-经典同步问题
信号量S的值除初始化(为资源数目)外,其值只能通过原
语wait和signal,也称P、V操作来改变。
整型信号量的P、V操作描述
wait和signal
wait(S): while S≤0 do no-op S∶=S-1; signal(S): S∶=S+1; 解释:P或wait操作:当S≤0时,说明无资源可用,一直测试直到其他进程 释放该类资源。
1. 至多只允许有四位哲学家同时去拿左边的筷子,最终能保证至少 有一位哲学家能够进餐。(增加一个总资源信号量S=4)
2. 仅当哲学家的左、右两只筷子均可用时,才允许他拿起筷子进餐 (AND型信号量)。
3. 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子; 而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号 筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数 号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家 能获得两只筷子而进餐。
1. 利用记录型信号量解决读者 为实现Reader与Writer进程间在读或写时的互斥而设置了一个互 斥信号量Wmutex; 设置一个整型变量Readcount表示正在读的进程数目; 当 Readcount=0 时,表示尚无 Reader 进程在读时, Reader 进 程才需要执行 Wait(Wmutex) 操作。若 wait(Wmutex) 操作成功, 做Readcount+1和读文件操作; 当Reader进程在执行了Readcount减1操作后其值为0时,才须 执行signal(Wmutex)操作,以便让Writer进程写; 又因为Readcount是一个可被多个 Reader进程访问的临界资源, 因此,应该为它设置一个互斥信号量rmutex。
第二章_进程管理习题修改
一、选择题1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是 B 。
A.就绪状态B.执行状态C.阻塞状态D.撤消状态3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。
A.运行(就绪B.就绪(运行C.等待(运行D.等待(就绪6.一个运行的进程用完了分配给它的时间片后,它的状态变为 A 。
A.就绪B.等待C.运行D.由用户自己确定7.操作系统通过 B 对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT8.一个进程被唤醒意味着 D 。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态9.多道程序环境下,操作系统分配资源以C 为基本单位。
A. 程序B. 指令C. 进程D. 作业10. 从下面的叙述中选出一条正确的叙述:(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。
(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。
(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。
(4)当进程申请CPU得不到满足时,它将处于阻塞状态。
(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。
11. 从下面的叙述中选出4条正确的叙述:(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
《计算机操作系统》第2章 进程管理
2.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。
第2章 进程管理3
第二章 进程管理
2.1 前趋图和程序执行 2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信 2.7 线程
湖南理工学院计算机学院
第二章 进程管理
掌握内容: 掌握生产者-消费者问题、读者-写者问 题、哲学家就餐问题的P、V操作实现方法。 掌握进程同步和互斥问题的P、V操作实现 过程。
湖南理工学院计算机学院
第二章 进程管理
parend end
湖南理工学院计算机学院
第二章 进程管理
在生产者—消费者问题中应注意: (1)在每个程序中用于实现互斥的 wait(mutex) 和signal(mutex)必须成对地出现; (2) 对资源信号量 empty 和 full 的 wait 和 signal 操作,同样需要成对地出现,但它们分别处于 不同的程序中。 (3)在每个程序中的多个wait操作顺序不能颠 倒。应先执行对资源信号量的wait操作,然后再 执行对互斥信号量的wait操作。
湖南理工学院计算机学院
第二章 进程管理
假定这些生产者和消费者相互等效,只要缓 冲池未满,生产者便可将消息送入缓冲池;只要 缓冲池未空,消费者便可从缓冲池中取走一个消 息。对生产者—消费者问题可描述如下: Var mutex, empty, full:semaphore∶=1,n,0; buffer:array[0, …, n-1] of item; in, out: integer∶=0, 0; begin parbegin
湖南理工学院计算机学院
第二章 进程管理
第i位哲学家的活动可描述为: repeat wait(chopstick[i]); wait(chopstick[(i+1) mod 5]); … eat; … signal(chopstick[i]); signal(chopstick[(i+1) mod 5]); … think; until false;
二章节进程管理
第二章 进 程 管 理
第一章 操作系统引论
1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计
第二章 进 程 管 理
第一章 习题课
一、单选题
(1)当CPU执行操作系统代码时,称处理机处于( C )。
A.执行态 B.目态 (2)在下列性质中,( D
第二章 进 程 管 理
中断响应过程
(1)中断装置(硬件)发现中断源;置当前PSW的中断码;交换 PSW;保存“当前PSW”到约定的单元成为“旧PSW”,“新 PSW”成为“当前PSW”。 (2)中断处理程序 ①保护被中断进程的现场,通用寄存器、控制寄存器内容以 及“旧PSW”保存到PCB中; ②根据“旧PSW”分析中断原因; ③对不同性质的中断事件,转交给不同的例行程序处理。
第二章 进 程 管 理
中断类型
1. 强迫中断 (1)硬件故障中断 (2)程序中断 (3)外部中断 (4)输入输出中断
2. 自愿中断 (5)访管中断
第二章 进 程 管 理
管目态
特权指令:有少数指令是为编制系统管理程序专门设置的。如 果用户误用这些特权指令,称为非法指令,将引发故障中断。 目态:程序执行时不可使用特权指令,I/O指令、时钟设置等。 管态:程序执行时可以使用特权指令。 目态:用户态,执行用户程序。 管态:系统态,执行系统管理程序,又称核心态。
程) 2. “旧PSW”. 保护起来的被中断进程的PSW 3. “新PSW”. 中断处理程序的PSW(其中指令地址即入口地址)
第二章 进 程 管 理
中断响应
通常在处理机执行完一条指令后,硬件的中断装置立即 检查有无中断事件发生。若有中断事件发生,则暂停现行进 程的运行,而让操作系统中的相应的中断处理程序占用处理 机,这一过程称为“中断响应”。
第2章_进程管理
系统用PCB来描述进程的基本情况以及运行 变化的过程,PCB是进程存在的唯一标志。
进程的创建:为该进程生成一个PCB; 进程的终止:回收它的PCB; 进程的组织管理:通过对PCB的组织管理来实现;
PCB存放在哪? 进程的状态转换:……?
22
两个进程的状态转换 运行 | 就绪 运行 | 阻塞 阻塞 | 就绪 就绪 | 运行
12
从技术上来说,只有一种创建进程的方法,
即在一个已经存在的进程(用户进程或系统
进程)当中,通过系统调用来创建一个新的 进程。 Unix:fork函数; Windows:CreateProcess函数;
13
2.1.5 进程的终止
在以下四种情形下,进程终止:
• 正常退出(自愿的);
• 错误退出(自愿的);
如何实现逻辑PC?
(本图摘自Andrew S. Tanenbaum: “Modern Operating Systems‖)
四个进程在并发地运行
11
2.1.4 进程的创建
引起进程创建的四个主要事件:
• 系统初始化时; • 在一个正在运行的进程当中,执行了 创建进程的系统调用; • 用户请求创建一个新进程; • 初始化一个批处理作业。
在并运行。
3
multi-programming
4
Why processes? (Cont.)
在多道程序系统中,各个程序之间是并发执 行的,共享系统资源。CPU需要在各个运行 的程序之间来回地切换,这样的话,要想描 述这些多道的并发活动过程就变得很困难。
5
程序1 MOV AX, 0040
程序2
POP
描述进程的数据结构:进程控制块
(Process Control Block,PCB)。
现代操作系统课后习题答案
第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于存中,能在一段时间同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
计算机操作系统课后习题答案
计算机操作系统(第三版)课后习题答案第一章操作系统引论1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;15.内存管理有哪些主要功能?答:内存管理的主要功能有:内存分配、内存保护、位置映射和内存扩充。
内存分配:为每道程序分配内存。
16.设备管理有哪些主要功能?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
17.文件管理有哪些主要功能?答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。
计算机操作系统第二章进程管理2. 画出下面四条诧句的前趋图:S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1;答:其前趋图为:8.试说明迚程在三个基本状态之间转换的典型原因。
图P38答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成16.进程在运行时存在哪两种形式的制约?答:(1)间接相互制约关系。
同处于一个系统中的进程,通常都共享着某种系统资源,也叫资源共享(2)直接相互制约关系。
这种资源于进程间的合作。
互斥:指几个并发进程若共享同一个临界资源,它们必须错开使用这个临界资源,即当一个进程正在使用临界资源且尚未使用完毕之前,其他进程不能抢夺使用该临界资源18. 同步机构应遵循哪些基本准则?答:同步机构应遵循的基本准则是空闲让进、忙则等待、有限等待、让权等待。
19. 试从物理概念上说明记录型信号量wait 和signal。
答:wait(S):当S.value>0 时,表示目前系统中这类资源还有可用的。
《操作系统实训(Linux)——习题解答、例题解析、实验指导》-王红-电子教..
第2章进程管理进程是操作系统中非常重要的概念,进程管理是操作系统最为重要的功能之一。
12.1 基本结构图2进程管理基本知识结构图(见下页)进程管理进程的概念进程的描述进程控制进程的创建与终止进程通信线程程序的顺序执行程序的并发执行进程的概念及特征进程的状态及转换Linux进程的状态Linux进程的PCBLinux进程的系统调用进程的阻塞与唤醒进程的同步与互斥临界资源锁机制信号量进程控制块信号量的应用及同步举例进程的同步与互斥进程控制块的组织方式共享存储器机制消息传递机制管道通信机制信号通信机制线程的概念线程的特点2.2 知识点2.2.1 进程的概念1.程序的顺序执行我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。
程序顺序执行时的特征为:顺序性、封闭性和可再现性。
4顺序性是指,程序执行时严格按照程序的语句或指令的顺序执行。
封闭性是指,程序执行的结果只有程序本身才可以改变,而与其它外界因素无关。
可再现性是指,只要输入的初始条件相同,则无论何时重复执行该程序,结果都是相同的。
52.程序的并发执行所谓程序的并发性,是指多道程序在同一时间间隔内同时发生。
63.进程的概念及特征(1)进程的概念进程是操作系统中最基本、最重要的概念之一。
进程可以如下定义:进程是程序的一次执行。
进程是可以和别的进程并发执行的计算。
进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。
进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。
进程是动态的,有生命周期的活动。
内核可以创建一个进程,最终将由内核终止该进程使其消亡。
7(2)进程与程序的区别进程和程序是两个完全不同的概念,但又有密切的联系。
8(3)进程的特征进程具有动态性、并发性、独立性、异步性及结构性的特征。
4.进程的状态及转换在操作系统中,进程通常至少有三种基本状态:就绪状态、执行状态和阻塞状态。
910程执行完成或撤消阻塞状态就绪状态进程创建调度用片间时进等待某事件发生如I/O 请求外部事件发生进程的基本状态及转换图完5.Linux进程的状态Linux系统内核在进程控制块中用state成员描述进程当前的状态,并明确定义了5种进程状态。
第二章-操作系统进程(练习题答案)教学教材
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
第二章课后习题解答
1
第2章 进程管理
3.程序并发执行,为什么会失去封闭性和可再现性? 【解答】在程序并发执行的环境下,多个进程共享系统中 的资源,这些资源是否被使用,及每一时刻由哪个进程使 用,将由多个进程的相互作用而决定。这样,程序的执行 就失去了封闭性。某个进程的执行必然受到其它进程的影 响。 由于进程在并发执行的过程中失去了封闭性,当下一次再 运行该程序时,系统中存在的进程及各进程的状态都可能 发生变化,导致进程的执行失去可再现性。 4.什么叫进程的并发性?试举一个进程并发执行的例子。 【解答】多个进程在同一时间间隔内同时发生,叫做进程 的并发性。 例如:我们在Linux系统下使用编辑器vi进行编辑,而此 时系统正在后台运行一个编译程序,此时,两个进程并发 执行。
/*写者进程*/ void writer() { while(1) {wait(s); wait(wmutex); 执行写操作; signal(wmutex); signal (s);
} }
第2章 进程管理
18.试利用记录型信号量写出一个不会出现死锁的哲学家进 餐问题的算法。 【解答】有多种算法可解决该问题。
5
10.在创建一个进程时,所要做的工作有 哪些?
第二章 进程管理-答案
第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。
A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。
A. 异步性B. 并发性C. 静态性D. 动态性5、各进程向前推进的速度是不可预知,体现出“走走停停”的特征,称为进程的()。
A.动态性B.并发性C.调度性D.异步性6、在单处理机系统中,处于运行状态的进程()。
A.只有一个B. 可以有多个C.不能被挂起D. 必须在执行完后才能被撤下7、下列进程状态的转换中,不正确的是()。
A. 就绪→运行B. 运行→就绪C. 就绪→阻塞D. 阻塞→就绪8、已经获得除()以外的所有运行所需资源的进程处于就绪状态。
A.存储器B. 打印机C. CPUD. 磁盘空间9、一个进程被唤醒意味着()。
A.该进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首10、进程从运行状态变为阻塞状态的原因是()。
A.输入或输出事件发生B.时间片到C.输入或输出事件完成D.某个进程被唤醒11、为了描述进程的动态变化过程,采用了一个与进程相联系的(),根据它而感知进程的存在。
A.进程状态字B. 进程优先数C.进程控制块D. 进程起始地址12、操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为()。
A.初始化程序B. 原语C.子程序D. 控制模块13、进程间的基本关系为()。
A.相互独立与相互制约B.同步与互斥C.并行执行与资源共享D. 信息传递与信息缓冲14、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
操作系统第二、三章 进程管理习题
第二、三章进程管理习题一、选择题1.从静态角度上看,进程是有A、B、C三部分组成,其中C是进程存在的唯一标志。
当几个进程共享A时,A应当是可重入代码。
A,B,C:(1)JCB;(2)PCB;(3)DCB;(4)FCB;(5)程序段;(6)数据段;(7)I/O缓冲区。
2.进程的三个基本状态是A、B、C。
由A到B是由进程调度所引起;由B到C是正在执行的进程发生了某事件,使之无法执行而暂停。
A,B,C:(1)挂起;(2)阻塞;(3)就绪;(4)执行。
3.产生死锁的四个必要条件是互斥条件、A、不剥夺条件和B。
A:(1)请求和阻塞条件;(2)请求和释放条件;(3)请求和保持(占有且等待)条件;(4)释放和阻塞条件;(5)释放和请求条件。
B:(1)线性增长条件;(2)环路条件;(3)无序释放条件;(4)有序释放条件;(5)无序请求条件。
4.A是一种只能由P和V操作所改变的整型变量,A可用于实现进程的B和C,B是排它性地访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型号量。
B,C:(1)同步;(2)通信;(3)调度;(4)互斥。
5.对于记录型信号量,在执行一次P操作时,信号量的值应当A;当其值为B时,进程应阻塞。
在执行V操作时,信号量的值应当C;当其值为D时,应唤醒阻塞队列中的进程。
A,C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B,D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0。
6.我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用A,为照顾紧急作业的用户,应采用B,而能使短作业、长作业及交互作业用户都比较满意时,应采用C。
A,B,C:(1)FCFS调度算法;(2)短作业优先调度算法;(3)时间片轮转法;(4)多级反馈队列调度算法;(5)基于优先权的剥夺调度算法。
二、填空题1. 在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有性和性。
第2章 进程管理
第2章进程管理解答一、单项选择题[解答]1.d。
.2.c。
进程的实体由PCB、程序与数据3部分组成。
3.b。
4.b。
允许3个进程同时进入互斥段的互斥信号量初值设为3。
5.d。
并发进程之间可能存在同步与互斥关系,也可能不存在任何关系。
6.a。
7.c。
由于互斥信号量的初值是1,则极端情况是一个进程访问临界资源而其余N-1个进程处于等待状态,即信号量的值为-(N-1)8.d。
当资源总数为4,并发进程为2,每个进程的最大需求是3时,可能够出现每个进程都占用2个资源而又申请第3个资源的死锁状态。
9.a。
先来先服务、响应比高者优先和均衡调度算法都属于作业调度算法。
10.b。
进程从执行态变成就绪态通常有两种情况:(1)分时操作系统下时间片到;(2)剥夺式进程调度方式下有更高优先级的进程进入就绪状态。
11.b。
12.c。
13.d。
如果存在就绪进程且处理机空闲时,进程调度程序就必然选中一个就绪进程使之投入运行;所以d错误。
14.d。
a~c概念都不完全。
15.d。
a~c都会引进操作系统选择新进程运行,仅d不会。
16.a 17. a 18。
d 19。
d 20。
b 21。
a 22。
d 23。
d 24。
a 25.b 26.c 27。
b 28。
d 29。
c 30。
B二、填空题[解答]1.线性表链接表(或队列) 2.删除剥夺3.因为PCB是进程存在的唯一标志,故填PCB 4.资源竞、进程推进顺序不当5.非剥夺条件逐次请求条件环路条件 6.就绪运行7.进程中访问临界资源的那段程序代码8.当出现死琐的极端情况时,处于等待的进程数为n,故填n9.可用资源的数目,因请求该资源而被阻塞的进程数目10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填“剥夺式”11.P V12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填413.互斥、同步、条件变量14. —2~2 15.临界区(或互斥段) 16.程序数据 PCB. 17.银行家算法 18.同步 19.运行态进程调度 20.创建消亡21.资源分配独立运行调度 22.临界区 P操作 V操作23.引起进程调度的原因进程调度算法的选择就绪队列的组织.三、问答题1.试比较进程和程序的区别。
第二章 课后习题解答
13.在生产者—消费者问题中,如果两个 .在生产者 消费者问题中 如果两个wait操 消费者问题中, 操 作即wait(mutex)和wait(empty)位置互换, 位置互换, 作即 和 位置互换 会产生什么后果? 会产生什么后果? 解答】如果两个wait操作即 操作即wait(mutex)和 【解答】如果两个 操作即 和 wait(empty)位置互换,则有可能产生死锁。 位置互换, 位置互换 则有可能产生死锁。
6
10.在创建一个进程时,所要做的工作有 .在创建一个进程时, 哪些? 哪些? 解答】 【解答】操作系统通过进程创建原语来创 建一个进程。 建一个进程。创建原语通过下述步骤创建 一个进程: 一个进程: (1)申请空白 )申请空白PCB。 。 (2)为新进程分配资源。 )为新进程分配资源。 (3)初始化进程控制块。 )初始化进程控制块。 (4)将新建进程插入就绪态队列。 )将新建进程插入就绪态队列。
8
第2章 进程管理 章
12.在生产者—消费者问题中,如果缺少了 .在生产者 消费者问题中 消费者问题中, signal(full)或signal(empty),对执行结果将 或 , 会有何影响? 会有何影响? 【解答】若缺少释放资源的原语操作,则会导致生产者或 解答】若缺少释放资源的原语操作,
消费者进程不能再继续工作。 消费者进程不能再继续工作。 如缺少了signal(full),则消费者进程可能得不到所需的临 如缺少了 , 界资源如缓冲区,不能取一件产品;同样,如果缺少signal 界资源如缓冲区,不能取一件产品;同样,如果缺少 empty),则生产者进程又可能得不到所需的资源, ),则生产者进程又可能得不到所需的资源 (empty),则生产者进程又可能得不到所需的资源,不 能存放一件产品。 能存放一件产品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、进程的通信类型
共享存储器系统(SharedSystem) 1 共享存储器系统(Shared-Memory System) 在共享存储器系统中,相互通信的进程共享某些数据 在共享存储器系统中,相互通信的进程共享某些数据 结构或共享存储区, 结构或共享存储区,进程之间能够通过这些空间进行通 可分为两类: 信。可分为两类: 基于共享数据结构 共享数据结构的通信方式 1)基于共享数据结构的通信方式 基于共享存储区 共享存储区的通信方式 2)基于共享存储区的通信方式
procedure entry put(item) begin
if count≤0 then notempty.wait; nextc:=buffer(out); out:=(out+1) mod n; count:=count-1; if notfull.quene then notfull.signal;
10/18/2011
3
2.4.1 管程的引入
信号量机制是一种方便而有效的进程同步机制, 信号量机制是一种方便而有效的进程同步机制,但每个要访问临界 资源的进程须自备wait signal操作 wait和 操作。 资源的进程须自备wait和signal操作。这样不仅给系统管理造成麻 而且还会因同步操作使用不当而导致死锁, 烦,而且还会因同步操作使用不当而导致死锁,甚至产生与时间有 关的错误,例如: 关的错误,例如: 颠倒wait signal操作导致临界资源被同时访问 wait和 操作导致临界资源被同时访问; 1、颠倒wait和signal操作导致临界资源被同时访问; signal误写为wait操作 导致任何进程无法访问临界资源, 误写为wait操作, 2、signal误写为wait操作,导致任何进程无法访问临界资源,
10/18/2011
第一部分
第二部分
第三部分
7
2、条件变量 、
在管程机制中,引起进程等待的原因可能很多,为了区 在管程机制中,引起进程等待的原因可能很多, 别他们,有引入了条件变量condition。 别他们,有引入了条件变量 。 管程中对每个条件变量,都须予以说明,其形式为: 管程中对每个条件变量,都须予以说明,其形式为: Var x, y:condition。该变量应置于 之前, 。该变量应置于wait和signal之前,即可 和 之前 表示为X.wait和X.signal。 表示为 和 。 X.wait操作的作用是将调用进程加入到与条件变量 相 操作的作用是将调用进程加入到与条件变量X相 操作的作用是将调用进程加入到与条件变量 关联的资源的等待队列。 关联的资源的等待队列。X.signal操作的作用是释放与条件 操作的作用是释放与条件 变量X相关联的资源的阻塞队列中的一个等待进程 相关联的资源的阻塞队列中的一个等待进程, 变量 相关联的资源的阻塞队列中的一个等待进程,把它移 入到就绪队列;但如果没有被阻塞的进程, 入到就绪队列;但如果没有被阻塞的进程,则X.signal操作 操作 不产生任何后果。这与信号量机制中的wait操作和 操作和signal操 不产生任何后果。这与信号量机制中的 操作和 操 作不同。因为,后者总是要执行s:=s-1 或s:=s+1的操作 作不同。因为,后者总是要执行 的操作
end begin
if count≥n then notfull.wait; buffer(in):=nextp; in:=(in+1) mod n; count:=count+1; if notempty.queue then notempty.signal;
end
10/18/2011
in:=out:=0; count:=0;
PC.get(item); consume the item in nextc;
until false; end
10/18/2011 13
2.4.4 利用管程解决哲学家进餐问题
type dining-philosophers=monitor var
state: array[0..4] of (thinking, hungry, eating); self: array[0..4] of condition;
发生死锁; 发生死锁; 遗漏wait操作会导致多个进程同时访问临界资源, wait操作会导致多个进程同时访问临界资源 3、遗漏wait操作会导致多个进程同时访问临界资源,遗漏 signal则导致其他进程无法进入临界区 则导致其他进程无法进入临界区。 signal则导致其他进程无法进入临界区。 基于以上情况,1971年DIjkstra提出了秘书 进程”机制。1973年 提出了秘书“ 基于以上情况,1971年DIjkstra提出了秘书“进程”机制。1973年 Hansan和Hoare又讲 秘书”进程思想发展为“管程”概念, 又讲“ Hansan和Hoare又讲“秘书”进程思想发展为“管程”概念,把并发 进程间的同步操作分别集中在相应的管程中。 进程间的同步操作分别集中在相应的管程中。
进程管理(3) 第2章 进程管理(3)
2011-102011-10-18
10/18/2011
1
2.4 管程机制 2.5 进程通信 线程(Thread) 2.6 线程(Thread)
10/18/2011
2
2.4 管程机制
2.4.1 2.4.2 管程的引入 管程的基本概念
2.4.3 利用管程解决PC问题 利用管程解决PC问题 2.4.4 利用管程解决哲学家进餐问题
10/18/2011 9
2.4.3 利用管程解决PC问题 利用管程解决PC问题 PC
1、基本思想 2、管程描述 3、生产者和消费者进程描述
10/18/2011
10
1、基本思想
在利用管程方法来解决生产者-消费者问题时, 在利用管程方法来解决生产者-消费者问题时,首先便是 为它们建立一个管程,并命名为Proclucer Consumer, Proclucer为它们建立一个管程,并命名为Proclucer-Consumer,或简 称为PC 其中包括两个过程: PC。 称为PC。其中包括两个过程: put(item)过程 过程。 (1) put(item)过程。生产者利用该过程将自己生产的 产品投放到缓冲区中,并用整型变量count来表示在缓冲区 产品投放到缓冲区中,并用整型变量count来表示在缓冲区 count 中已有的产品数目, count≥n时 表示缓冲区已满, 中已有的产品数目,当count≥n时,表示缓冲区已满,生产 者须等待。 者须等待。 get(item)过程 过程。 (2) get(item)过程。消费者利用该过程从缓冲区中取 出一个产品, count≤0时 出一个产品,当count≤0时,表示缓冲区中已无可取用的产 消费者应等待。 品,消费者应等待。
初始化代码
10/18/2011
进入队列
6
1、管程的定义 、
type monitor-name=monitor
variable declarations procedure entry P1(…); begin … end; procedure entry P2(…); begin … end; … procedure entry Pn(…); begin … end; begin initialization code; end
10/18/2011
11
2、管程描述 、
type producerconsumer=monitor var
procedure entry get(item) begin
in,out,count:integer; buffer: array [0..n-1] of item; notfull, notempty: condition;
end
12
3、生产者和消费者进程描述
在利用管程解决生产者-消费者问题时, 在利用管程解决生产者-消费者问题时, 其中的生产者和消费者可 描述为: 描述为: producer:begin
repeat
produce an item in nextp; PC.put(item);
until false; end consumer:begin repeat
state[i] := thinking; test(i+4 mod 5); test(i+1 mod 5);
end;
10/18/2011
procedure test(k: 0..4); begin if state[k+4 mod 5] <> eating and state[k] = hungry and state[k+1 mod 5] <> eating then begin state[k] := eating; self[k].signal; end; end; begin for i := 0 to 4 do state[i] := thinking; end
重点
10/18/2011
4
2.4.2
管程的基本概念
1、管程的定义 、 2、条件变量 、
10/18/2011
5
1、管程的定义
管程由三部分组成: 管程由三部分组成: ①局部于管程的共享 条件(不忙)队列 条件(不忙) 共享数据 变量说明; 变量说明; ②对该数据进行操作 的一组过程; 的一组过程; ③对局部于管程的数 … 据设置初始值的语句。 据设置初始值的语句。 一组操作过程 此外, 此外,还须为管程赋 予一个名字。 予一个名字。
procedure entry pickup(i: 0..4); ry; test(i); if state[i] <> eating then self[i].wait;
end; procedure entry putdown(i: 0..4); begin