第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(其中指令地址即入口地址)
第二章 进 程 管 理
中断响应
通常在处理机执行完一条指令后,硬件的中断装置立即 检查有无中断事件发生。若有中断事件发生,则暂停现行进 程的运行,而让操作系统中的相应的中断处理程序占用处理 机,这一过程称为“中断响应”。
- 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