《操作系统》试题库-综合题汇总
操作系统试题及答案

操作系统试题及答案一、选择题1. 操作系统的主要功能是什么?A. 文件管理B. 设备管理C. 内存管理D. 所有选项都是答案:D2. 进程和程序有什么区别?A. 进程是程序的执行实例B. 程序是进程的代码C. 进程是程序的存储D. 程序是进程的输出答案:A3. 在现代操作系统中,虚拟内存的作用是什么?A. 提供额外的存储空间B. 允许程序使用更多的内存C. 允许操作系统管理内存D. 允许多个程序同时运行答案:B4. 死锁的四个必要条件是什么?A. 互斥、占有和请求、不可剥夺、循环等待B. 互斥、占有和请求、可剥夺、循环等待C. 互斥、释放和请求、不可剥夺、循环等待D. 互斥、占有和请求、不可剥夺、非循环等待答案:A5. 什么是分页和分段?A. 分页是内存管理的一种技术,分段是文件管理的一种技术B. 分页是文件管理的一种技术,分段是内存管理的一种技术C. 分页和分段都是内存管理的技术D. 分页和分段都是文件管理的技术答案:C二、简答题1. 简述操作系统的五大基本功能。
答:操作系统的五大基本功能包括:进程管理、内存管理、文件系统管理、设备管理以及用户接口。
2. 解释什么是进程和线程,并说明它们之间的关系。
答:进程是程序的执行实例,是操作系统进行资源分配和调度的一个独立单位。
线程是进程中的一个实体,是CPU调度和执行的单位,一个进程可以包含多个线程。
3. 描述死锁的四个必要条件,并给出一个死锁的实例。
答:死锁的四个必要条件包括:互斥条件(资源不能被多个进程同时使用)、占有和请求条件(进程正在占有某些资源,同时请求其他资源)、不可剥夺条件(已分配给进程的资源,在未使用完之前不能被强制夺走)、循环等待条件(存在一种进程资源的循环等待关系)。
实例:银行家算法中,如果多个客户同时请求资源,且每个客户都占有一些资源,同时请求其他资源,就可能发生死锁。
三、论述题1. 论述操作系统中进程调度的几种基本算法,并比较它们的优缺点。
计算机操作系统题库及答案

第一章操作系统引论一.选择题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.操作系统的基本功能包括( 1 )管理、( 2 )管理、( 3 )管理、( 4)管理以及提供用户接口。
2.系统调用与一般函数调用的执行方式有着明显的不同,系统调用运行在( 5 )态,一般函数调用运行在( 6 )态。
3.进程并发执行时有间断性、(7)和(8)的特点。
4.进程的基本特征有( 9 )、( 10 )、独立、异步及结构特征。
5.UNIX系统的文件目录项由两部分构成,即文件名和( 11 );6.临界资源的概念是(12),而临界区是指(13)。
7.产生死锁的原因可以归结为两点:(14)和(15)。
8.段页式存储管理中,是将作业分( 16 ),( 17 )内分( 18 ),内存分配以( 19 )为单位。
9.分页存储管理方式中,在不考虑使用快表的情况下,每条访问内存的指令需要( 20 )次访问内存;10.在操作系统中,不可中断执行的操作称为( 21 )操作;11.进程访问临界资源的代码段称为( 22 ),为保证进程互斥,应在进程的临界区前设置( 23 ),在临界区后设置( 24 )。
12.银行家算法中,当一个进程提出的资源请求将导致系统从( 25 )进入( 26 )时,系统就拒绝它的资源请求。
13.页面调入策略要解决(27)、(28)两个问题。
14.最佳置换算法是选择(29)或(30)的页面做为被淘汰的页面。
15.UNIX系统中,用于创建进程的两个常用系统调用是( 31 )和( 32 )。
16.进程调度负责( 33 )的分配工作。
17.通常操作系统内核提供( 34 )功能和( 35 )功能。
参考答案:1、(1)存储管理;(2)处理机管理;(3)文件管理;(4)设备管理;2、(5)系统态(核心态) ;(6)用户态;3、(7)失去封闭性;(8)不可再现性4、(9)动态;(10)并发;5、(11)索引结点;6、(12)一次仅允许一个进程访问的资源;(13)进程中访问临界资源的那段程序代码;7、(14)竞争资源;(15)进程推进顺序非法8、(16)段;(17)段;(18)页;(19)页;9、(20)2;10、(21)原子操作;11、(22)临界区;(23)进入区;(24)退出区;12、(25)安全状态;(26)不安全状态;13、(27)何时调入页面;(28)从何处调入页面;14、(29)永不使用的;(30)最长时间内不再被访问的;15、(31)fork();(32)exec();16、(33)作业;17、(34)资源管理(35)支撑二、选择题1、若Wait(s)和Signal(s)操作的信号量S初值为2,当前值为-1,则表示有()等待进程。
计算机操作系统试题及答案

计算机操作系统试题及答案一、选择题1、操作系统是一种()。
A 应用软件B 系统软件C 工具软件D 调试软件答案:B操作系统是管理计算机硬件与软件资源的程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
2、以下不属于操作系统主要功能的是()。
A 进程管理B 存储管理C 设备管理D 文字处理答案:D操作系统的主要功能包括进程管理、存储管理、设备管理、文件管理和作业管理等。
文字处理通常是由专门的文字处理软件来完成,不是操作系统的主要功能。
3、在多道程序设计环境中,操作系统分配资源以()为基本单位。
A 程序B 进程C 作业D 指令答案:B进程是操作系统进行资源分配和调度的基本单位。
4、下列进程状态的转换中,不正确的是()。
A 就绪→运行B 运行→就绪C 运行→阻塞D 阻塞→运行答案:D进程状态的转换中,阻塞状态不能直接转换为运行状态,必须先转换为就绪状态,然后再被调度为运行状态。
5、临界区是指()。
A 一段程序B 一段数据区C 一种同步机制D 访问共享资源的程序段答案:D临界区是指访问共享资源的程序段,在这段程序中,进程可能会改变共享变量的值。
6、采用时间片轮转调度算法时,时间片过大,系统的性能将会()。
A 降低B 提高C 不变D 不确定答案:A时间片过大,会使得每个进程都能在一个时间片内完成大部分工作,导致进程切换次数减少,系统的响应时间变长,性能降低。
7、下面关于死锁的论述中,正确的是()。
A 死锁是指系统中多个进程无限期地等待永远不会发生的条件B 死锁是指系统中多个进程竞争资源而产生的一种僵持状态C 死锁是指系统中多个进程同时被阻塞,并永远无法唤醒D 死锁是指系统中多个进程相互等待对方释放资源答案:D死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进,即相互等待对方释放资源。
8、以下存储管理方式中,会产生内部碎片的是()。
《操作系统》试题4

《操作系统》试题四一、单项选择题(20分)1.多道批处理系统中,用户的作业是由()组成的。
a. 程序b. 程序,数据c. 程序,作业说明书d. 程序,数据,作业说明书2.火车站的售票系统属于()系统。
a. 单道批处理b. 多道批处理c. 实时d. 分时3.在操作系统中,信号量表示资源实体,是一个与队列有关的()变量,其值仅能用P、V操作来改变。
a. 实型b. 整型c. 布尔型d. 记录型4.有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是()。
a. 5b. 3c. 1d. 05.n个进程共享某一临界资源,则互斥信号量的取值范围为()。
a. 0~1b. –1~0c. 1~-(n-1)d. 0~-(n-1)6.具有虚拟存储功能的管理方法包括()。
a. 可变分区存储管理b. 页式存储管理c. 段式存储管理d. 段页式存储管理7.分区分配方案中,需要执行靠拢(或紧凑)的操作是()。
a. 固定式分区b. 可变式分区c. 可再定位式分区d. 多重式分区8.系统“抖动”现象的发生是由()引起的。
a. 置换算法选择不当b. 交换的信息量过大c. 内存容量不足d. 请求页式管理方案9.作业地址空间中使用的逻辑地址变成内存中物理地址成为()。
a. 加载b. 重定位c. 物理化d. 逻辑化10.请求分页存储管理方案中,如果所需的页面不在内存中,则产生缺页中断,它属于()中断。
a. 硬件故障b. I/Oc. 外d. 程序11.联想存储器在计算机系统中是用于()的。
a. 存储文件信息b. 与主存交换信息c. 地址变换d. 存储通道程序12.在可变式分区分配方案中,将空白区在空白区表中按地址递增次序排列是()。
a. 最佳适应算法b. 最差适应算法c. 最先适应算法d. 最迟适应算法13.在下列存储管理方案中,不适应于多道程序设计的是()。
a. 单一连续区分配b. 固定式分区分配c. 可变式分区分配d. 段页式存储管理14.I/O交通管制程序的主要功能是管理()的状态信息。
操作系统试题及答案

操作系统试题及答案一、选择题1. 在操作系统中,进程和程序的主要区别是:A. 进程有程序计数器B. 程序是永久存储的C. 进程具有并发性D. 程序是顺序执行的答案:C2. 分页和分段存储管理方式的主要区别在于:A. 分页有页表,分段没有B. 分页大小固定,分段大小可变C. 分页和分段都需要页表D. 分页和分段的大小都是可变的答案:B二、填空题1. 操作系统的五大基本功能包括________、________、存储管理、设备管理和________。
答案:作业管理;文件系统管理;用户接口2. 死锁的必要条件包括互斥、________、________和循环等待。
答案:占有和请求;不可剥夺性三、简答题1. 简述进程和线程的区别。
答案:进程是操作系统进行资源分配和调度的一个独立单位,是程序的执行实体。
线程是进程中的一个实体,是CPU调度和执行的单位,比进程更小的能独立运行的基本单位。
线程自身基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如执行栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
2. 描述虚拟内存的工作原理。
答案:虚拟内存是一种内存管理技术,它允许操作系统将虚拟地址空间映射到物理内存。
操作系统通过页面置换算法,将当前不活跃的内存页面交换到磁盘上,从而为当前活跃的页面腾出空间。
这样,应用程序可以使用的地址空间就可以大于实际的物理内存大小。
四、计算题1. 假设一个系统有16个页面,页面大小为4KB,主存大小为256KB。
如果一个程序的页表有32个页表项,计算该系统的页表大小。
答案:每个页表项通常包含一个指向页面的指针,假设指针的大小为4字节。
因此,32个页表项的总大小为32 * 4 = 128字节。
页表大小为128KB。
2. 如果一个系统采用二级页表,主存大小为4GB,页面大小为4KB,计算需要多少个一级页表项和二级页表项。
答案:首先,计算一级页表项的数量:4GB / (4KB * 1024) = 1M个一级页表项。
操作系统试题及答案

操作系统试题及答案一、选择题1. 操作系统的主要功能是()A. 实现计算机与外部设备的交互B. 管理计算机的硬件资源C. 控制计算机的运行流程D. 以上答案都正确答案:D2. 下列哪个不属于操作系统的基本功能()A. 进程管理B. 文件管理C. 硬件管理D. 内存管理答案:C3. 操作系统的进程是指()A. 计算机运行的一个程序B. 计算机运行的多个程序C. 计算机运行的最核心程序D. 计算机运行的最后一个程序答案:B4. 下列哪个不是进程状态()A. 运行态B. 就绪态C. 阻塞态D. 结束态答案:D5. 操作系统的调度算法是指()A. 确定进程的执行顺序B. 操作系统的启动顺序C. 进程与外设的交互顺序D. 确定进程的创建顺序答案:A二、填空题1. 操作系统内核是指()。
答案:操作系统的核心部分,负责管理计算机的硬件资源和提供基本的系统调用接口。
2. 进程的状态包括()。
答案:运行态、就绪态、阻塞态。
3. 进程调度算法的目标是()。
答案:提高系统的吞吐量、减少响应时间、提高系统的公平性。
4. 死锁是指进程()。
答案:由于竞争有限的资源而陷入无法继续执行的状态。
5. 虚拟内存是一种()。
答案:将进程的部分或全部地址空间放在磁盘上,以此扩充实际内存的技术。
三、简答题1. 请简要说明进程和线程的区别。
答案:进程是计算机运行的一个程序,包括代码、数据和运行状态等;线程是进程的一部分,是程序执行的最小单位。
一个进程可以包含多个线程,它们共享进程的资源,但拥有各自的执行路径和栈空间。
线程之间的切换开销较小,可以提高系统的并发性。
2. 简述死锁的条件以及解决死锁的方法。
答案:死锁的条件包括互斥、持有并等待、不可剥夺和循环等待。
解决死锁的方法有预防、避免、检测和恢复等。
预防死锁可以通过破坏死锁条件来实现,如破坏循环等待;避免死锁可以通过资源分配策略来避免产生死锁;检测死锁可以通过资源分配图等方法来检测死锁的发生;恢复死锁可以通过资源抢占和进程终止等方式来解除死锁。
操作系统试题与答案1

《操作系统》试题与答案一、选择题(1分×30=30分)1.现代操作系统的两个基本特征是( )和资源共享。
A. 多道程序设计 B.中断处理C.程序的并发执行 D.实现分时与实时2.已经获得除( )以外的所有运行所需资源的进程处于就绪状态。
A.内存 B.I/O设备 C.CPU D.磁盘空间3.一个进程被唤醒意味着( )。
A.该进程重新占有CPU B.进程状态变为就绪C.它的优先权变为最大 D.该进程会立即执行4.在下列情况( ),一定要进行进程调度。
A. 某一进程正在访问临界资源B.某一进程运行时因缺乏资源进入阻塞状态C.某一进程处于运行状态,而另一进程处于阻塞状态D.某一进程正在访问打印机,而另一进程处于就绪状态5.Signal原语对信号量做运算后,( )。
A.当S<0时进程继续执行 B. 当S<0时要唤醒一个就绪进程C. 当S≤0时要唤醒一个等待进程 D.当S≤0 时要唤醒一个就绪进程6.下面关于安全状态和非安全状态说法正确的是( )。
A. 安全状态是没有死锁的状态,非安全状态是有死锁的状态D.安全状态是可能有死锁的状态,非安全状态也可能有死锁状态C.安全状态是可能没有死锁的状态,非安装状态是有死锁的状态D.安全状态是没有死锁的状态,非安全状态可能有死锁的状态7.根据死锁产生的四个必要条件,可采取几种措施预防死锁,采取资源的静态预分配策略,是破坏了哪一个条件? ( )。
A.互斥条件 B.不剥夺条件 C.部分分配 D.循环等待8.设基址寄存器的内容为1000,执行指令"LOAD A,2000"时,操作数的地址是( )。
A.1000 B.2000 C.3000 D.40009.若处理器可进行32位相对地址寻址,则它的虚拟地址空间为( )字节。
A.2GB B.4GB C.100KB D.640KB10.内存碎片是指( )。
A.存储分配完后所剩的空闲区B.没有被使用的存储区C.不能被使用的存储区D.未被使用,而又暂时不能使用的存储区11.以下存储管理中支持多道程序设计,算法简单,但存储碎片最大的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设有三个进程,它们的提交时间及运行时间如下表,若采用短进程优先调度策略,试给出进程串行运行时的调度次序及平均周转时间。
作业提交时间运行时间J1 0 4J2 2 8J3 3 5答:进程提交时间开始时间完成时间周转时间J1 0 0 4 4J2 2 9 17 15J3 3 4 9 6平均周转时间=(4+15+6)/3=25/3=8.33各进程的调度次序: J1,J3,J22、设有三道作业,它们的提交时间及运行时间如下表,若采用短作业优先调度策略,试给出作业单道串行运行时的调度次序及平均周转时间。
(8分)作业提交时间开始时间完成时间周转时间J1 0 0 7 7J2 2 7 11 9J3 3 11 16 13平均周转时间=(7+9+13)/3=29/3=9.67 (4分)各作业的调度次序:1 (3分)3、假定在单CPU条件下,有A,B,C,D四个作业依次到达(后面的作业依次比前一作业迟到一个时间单位)。
四个作业分别需要运行11,6,2和1个时间单位,如果系统采用FCFS的调度算法,请计算:(1)(2)(3)(4)解答:作业作业到达时间运行时间完成时间周转时间带权周转时间A 0 11 11 11 1B 1 6 17 16 2.67C 2 2 19 17 8.5D 3 1 20 17 17平均周转时间T= 15.25平均带权周转时间 W= 7.294、假设在单处理机上有五个(1,2,3,4,5)进程争夺运行,其运行时间分别为10、1、2、1、5(秒),其优先级分别为4、1、3、5、2;在某时刻这五个进程按照1,2,3,4,5的顺序同时到达。
试回答:(1) 给出这些进程分别使用轮转法(时间片为2秒)、非剥夺优先级调度法时的运行进度表。
(2) 在上述各算法的调度下每个进程的周转时间和等待时间为多少?解答:(1) 轮转法运行进度表:P1 P2 P3 p4 P5 P1 P5 P1 P5 P10 2 3 5 6 8 10 12 14 15 19非剥夺优先级调度法运行进度表:0 1 11 13 18 19各作业的周转时间系统此时的平均周转时间;各作业的带权周转时间;系统此时的平均带权周转时间; P4 P1 P3 P5 P225、画出进程的五种状态变化图,并说明状态变化原因。
答:变化原因在图上说明。
6、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。
若把一个购票者看作一个进程,请回答下列问题: (1)用PV(或wait和signal)操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。
(3)根据所定义的信号量,把应执行的PV(或wait和signal)操作填入下述括号中,以保证进程能够正确地并发执行。
Buyi(I=1,2,……) { Do{3进入售票厅;()购票;()退出;}while(1)}解答:(1)定义一信号量S,初始值为20。
(1分)意义:S>0 S的值表示可继续进入售票厅的人数 (1分)S=0 表示售票厅中已有20名顾客(购票者) (1分)S<0 |S|的值为等待进入售票厅的人数 (1分)(2) S的最大值为20 (1分)S的最小值为20-n (1分)(3) 上框为P(S) (1分)下框为V(S) (1分)注:信号量的符号可不同(如写成t),但使用时应一致(即上述的s全应改成t)。
7、现为某临界资源设一把锁w,当w=1时,表示关锁,w=0时,表示锁已打开,试写出开锁和关锁的原语,并说明如何利用它们去控制对该临界资源的互斥访问?(7分)①开锁原语unlock(w)如下:unlock(w):w:=0关锁原语lock(w)如下:Lock(w):L: if w=1 then go to L eelse w:=1; (4分)②可设临界段cs放在两者之间来实现互斥,即Lock(w);cs;unlock(w) (3分)48、有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。
(1) 试说明A、B两进程之间存在什么样的制约关系?(2) 为保证这两个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。
要求给出信号量的含义和初值。
解答:(1) A、B两进程之间存在互斥的制约关系。
因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2分)(2)mutex:用于互斥的信号量,初值为1。
(2分)进程A 进程B... ...P(mutex) P(mutex)申请打印机申请打印机使用打印机使用打印机V(mutex) V(mutex)... ...9、进程process_A 进行计算后通过进程process_B输出,这两个并发进程的程序如下:int Count=0;process_A(){ do{ Count = Count + 10}while(1)}process_B(){ do{ print(Count)Count =0;}while(1)}请回答:(1) 指出这两个并发进程的临界区。
(2) 指出它们并发执行时可能出现的与时间有关的错误。
(3) 用信号量机制进行管理,写出它们能正确并发执行的程序。
解答:(1) 临界区为process_A():Count = Count + 10,process_B():print(Count) Count =0;(2)错误顺序(不是唯一的)① print(Count)5② Count = Count + 10③ Count =0;(3)实现同步信号量:S1=1(含义不清),S2=0;信号量:mutex=1;int Count=0;process_A(){ do{ wait(S1)wait(mutex);Count = Count + 10Signal(mutex)Signal(S2)}while(1)}process_B(){ do{ wait(S2)wait(mutex);print(Count)Count =0;Signal(mutex)Signal(S1)}while(1)}10、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:(?)(1)为描述读者的动作,应编写几个程序,设置几个进程?(2)试用PV操作描述读者进程之间的同步关系。
答:读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。
读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。
算法的信号量有三个:seats——表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers——表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。
读者进入阅览室的动作描述getin:while(TRUE){P (seats); /*没有座位则离开*/P(mutex) /*进入临界区*/6填写登记表;进入阅览室读书;V(mutex) /*离开临界区*/V(readers)}读者离开阅览室的动作描述getout:while(TRUE){P(readers) /*阅览室是否有人读书*/P(mutex) /*进入临界区*/消掉登记;离开阅览室;V(mutex) /*离开临界区*/V(seats) /*释放一个座位资源*/}11、假定进程A负责为用户作业分配打印机,进程B负责释放打印机,系统中设立一个打印机分配表如下,由各个进程共用。
试用P,V操作实现两进程对分配表的互斥操作。
解答: 设一个互斥信号量mutex,其初值为1。
P1(分配进程)和P2(释放进程)的临界区代码可按下述形式组成:P(mutex); P(mutex);分配打印机;释放打印机;(读写分配表)(读写分配表)V(mutex); V(mutex);12、设系统中只有一台打印机,有二个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:这二个进程间有什么样的制约关系?试用P,V操作写出这二7个进程使用打印机的算法。
解答: 因为打印机是一种临界资源,所以这二个进程只能互斥地使用这台打印机。
即一个用户的计算结果打印完后,另一个用户再打印,因此是互斥关系。
设两个进程分别为A和B,设一个互斥信号量mutex,其初值为1,其算法如下:A进程 B进程P(mutex); P(mutex);使用打印机;使用打印机;V(mutex); V(mutex);13、设P1,P2两进程共用一个缓冲区F,P1向F写入信息,P2则从F中读出信息。
问这两个进程间是什么样的制约关系?试用P,V操作写出这两个进程读写缓冲区的算法。
解答: A,B两进程间是同步关系,即A进程向Q写满信息后,B进程才能从Q 中取走信息。
为此,设立两个信号量:empty:表示缓冲区Q为空(0为不空,1为空),初值为1,full:表示缓冲区Q为满(0为不满,1为满),初值为0。
算法如下:A进程: B进程:while(true){ while(true){P(empty); P(full);向Q写入信息;从Q中读出信息;V(full); V(empty);} }注:若信号量初值不同,算法有些不同。
如若empty和full的初值均为0,则A 进程的算法中P(empty)语句应放在V(full)之后,即解法不惟一。
14、设A1,A2为两个并发进程,它们共享一临界资源,其临界区代码分别为CS1,CS2。
问这两个进程间是什么样的制约关系?试用P,V操作写出这两个进程共享临界资源的算法。
解答: 因为A,B两个进程是并发的,它们共享一个临界资源,所以两个进程间应互斥地进入临界区。
设立一个互斥信号量mutex,其初值为1。
具体算法如下:A进程: B进程:8P(mutex); P(mutex);临界区代码Csa;临界区代码Csb;V(mutex); V(mutex);15、设有一台计算机,有一条I/O通道,接一台卡片输入机,卡片机把一叠卡片逐一输入到缓冲区Q1中,计算机从缓冲区Q1中取出数据再进行加工处理。
假设系统中设一个输入进程Pr和一个计算进程Pc来完成这个任务。
问这两个进程间有什么样的制约关系?请用P,V操作写出这些进程的算法。
解答: 进程Pr受Pc进程的影响,B1放满信息后,Pr进程要等待,等Pc进程将其中全部信息取走,才能继续读入信息;同样地,Pc进程受Pr进程的约束,B1中信息放满后Pc进程才能从中取走信息。