操作系统信 量习题
- 格式:doc
- 大小:17.00 KB
- 文档页数:9
操作系统部分习题参考答案第一章2. 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。
程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
(2) 程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见图中有色部分)。
5. 在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。
它们的执行轨迹如下:Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU。
试求:(1)每个作业从投入到完成分别所需的时间。
(2) 从作业的投入到完成CPU的利用率。
(3)I/O设备利用率。
答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):(1) Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。
(2) CPU空闲时间段为:60ms至70ms,80ms至90ms。
所以CPU利用率为(90-20)/80=77.78%。
(3) 设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。
第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
1【单选题】用P、V操作管理临界区时,互斥信号量的初值应定义为( A)。
•A,1•B,0•C,-1•D,任意值2【单选题】在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。
•A,S>0•B,S = 0•C,S<0•D,S<>0我的答案:C3【单选题】信号量S的初值为8,在S上执行了10次wait 操作,6次signal操作后,S的值为(D )。
•A,10•B,8•C,6•D,4P操作每执行一次,信号量减1;V操作每执行一次,信号量加1.所以答案为8-10+6 = 44【单选题】用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( B)状态。
•A,执行•B,就绪•C,阻塞•D,挂起被唤醒的进程由等待状态变为就绪状态。
5【单选题】利用Wait和signal操作可以( )。
•A,实现进程互斥和同步•B,检测死锁•C,解除死锁•D,防止死锁我的答案:A6【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=0;则(B )•A,表示没有进程进入临界区•B,表示有一个进程进入临界区•C,表示有一个进程进入临界区,另一个进程等待进入•D,表示两个进程进入临界区临界区不允许两个进程同时进入,D选项明显错误。
mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。
7【单选题】V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。
•A,对•B,错我的答案:B8【单选题】有3个进程,两台打印机,用wait和sigual操作来实现互斥访问打印机,则信号量S的取值范围是( )•A,2,1,0,-1•B,3,2,1,0•C,2,1,0,-1,-2•D,1,0,-1,-2我的答案:如果n个进程共享两个打印机,信号量取值范围:-(n-2)~2;9【单选题】设与某资源相关的资源信号量K,初值为3,当前值为1,则可用资源个数为( ),等待资源的进程数为( )。
操作系统练习题+参考答案一、单选题(共100题,每题1分,共100分)1、若系统中有5个并发进程涉及某个相同的变量A,则变量A的相关临界区由()个临界区构成。
A、1B、3C、5D、6正确答案:C2、在分页虚拟存储管理系统中,采用某些页面置换算法,会出现Belady 异常现象,即进程的缺页次数会随着分配给该进程的页面数量的增加而增加。
下列算法中,可能出现Belady现象的是()。
①LRU算法②FIFO 算法③OPT算法A、仅2B、仅1、2C、仅1、3D、仅2、3正确答案:A3、下列关于管道通信的叙述中,正确的是()。
A、一个管道可以实现双向数据传输B、管道的容量仅受磁盘容量大小的限制C、进程对管道进行读操作和写操作都可能被阻塞D、一个管道只能有一个读进程或一个写进程对其操作正确答案:C4、不属于基本操作系统的是()。
A、网络操作系统B、实时操作系统C、分时操作系统D、批处理操作系统正确答案:A5、采用SPOOLing技术的目的是()。
A、提高独占设备的利用率B、提高程序的运行速度C、提高主机的效率D、减轻用户的编程负担正确答案:A6、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。
A、分时操作系统B、实时操作系统C、批处理操作系统D、多处理机操作系统正确答案:B7、在分页虚拟存储管理中,当发现要访问的页面不在主存时,则由硬件发出()。
A、输入输出中断B、时钟中断C、缺页中断D、越界中断正确答案:C8、()可以用来解决临界区问题。
A、时间片轮转算法B、银行家算法C、LRU算法D、Test正确答案:D9、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲分区表”中的空闲区应该按()顺序排列。
A、地址从大到小B、大小从大到小C、地址从小到大D、大小从小到大正确答案:D10、进程从运行状态转换到阻塞状态可能是由于()。
A、现运行进程执行了signal操作B、现运行进程时间片用完C、现运行进程执行了wait操作D、进程调度程序的调度正确答案:C11、()不是进程的特征。
(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。
要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)(1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)当图书馆中没有座位时,后到的读者不等待,立即回家。
解(1 )设信号量:S=100; MUTEX=1P(S)P(MUTEX)登记V(MUTEX)阅读P(MUTEX)注销V(MUTEX)V(S)解(2)设整型变量COUNT=100; 信号量:MUTEX=1;P(MUTEX);IF (COUNT==0){ V(MUTEX);RETURN;}COUNT=COUNT-1;登记V(MUTEX);阅读P(MUTEX);COUNT=COUNT+1;V(MUTEX);RETURN;(二)有一座东西方向的独木桥;用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。
(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。
(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。
(1)解设信号量MUTEX=1P (MUTEX)过桥V (MUTEX)(2)解设信号量:MUTEX=1 (东西方互斥)MD=1 (东向西使用计数变量互斥)设整型变量:CD=0 (东向西的已上桥人数) CX=0 (西向东的已上桥人数)从东向西:P (MD)IF (CD=0){P (MUTEX) }CD=CD+1V (MD)过桥P (MD)CD=CD-1IF (CD=0){V (MUTEX) }V (MD)从西向东:P (MX){P (MUTEX) }CX=CX+1V (MX)过桥P (MX)CX=CX-1IF (CX=0){V (MUTEX) }V (MX)(3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。
操作系统习题第四章第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________.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.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________A.1,0,-1,-2B.2,0,-1,-2C.1,0,-1D.3,2,1,0 7.进程的并发执行是指若干个进程__________.A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。
A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。
A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。
A.大于0B.小于0C.大于等于0D.小于等于0 12.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。
操作系统总复习及相关习题第一章引论名词解释1操作系统操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
2管态当执行操作系统程序时,处理机所处的状态3目态当执行普通用户程序时,处理机所处的状态。
4多道程序设计在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。
这些作业共享CPU和系统中的其他资源。
5并发是指两个或多个活动在同一给定的时间间隔中进行。
它是宏观上的概念。
6并行是指两个或多个活动在同一时刻同时执行的情况。
7吞吐量在一段给定的时间内,计算机所能完成的总工作量。
8分时就是对时间的共享。
在分时系统中,分时主要是指若干并发程序对CPU时间的共享。
9实时表示“及时”或“既时”。
10系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。
每一个子功能称作一条系统调用命令。
它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。
11特权指令指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。
12命令解释程序其主要功能是接收用户输入的命令,然后予以解释并且执行。
13脱机I/O是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。
14联机I/O是指作业的输入、调入内存及结果输出都在cpu直接控制下进行。
15资源共享是指计算机系统中的资源被多个进程所功用。
例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对cpu进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。
简答题1什么是操作系统?它的主要功能是什么?答:操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
《操作系统》考试练习题及参考答案一、单选题1. 在下列存储管理方案中,不适用于多道程序设计的是()。
A 、单一连续分配B 、固定式分区分配C 、可变式分区分配D 、段页式存储管理答案:A2. 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。
A 、5B 、2C 、3D 、4答案:D3. 主要由于()原因,使UNIX易于移植。
A 、UNIX是由机器指令书写的B 、UNIX大部分由汇编少部分用C语言编写C 、UNIX是用汇编语言编写的D 、UNIX小部分由汇编大部分用C语言编写答案:D4. 一个计算机系统有7台可互换的磁带机供N个进程竞争使用。
每个进程在一段时间内需要占用2台磁带机。
N最多为()不会发生死锁。
A 、5B 、12C 、6D 、2答案:C5. 虚拟设备是指()。
A 、允许用户使用比系统中具有的物理设备更多的设备B 、允许用户以标准化方式来使用物理设备C 、把一个物理设备变换成多个对应的逻辑设备D 、允许用户程序不必全部装入主存便可使用系统中的设备答案:C6. 位示图方法可用于( )A 、盘空间的管理B 、盘的驱动调度C 、文件目录的查找D 、页式虚拟存储管理中的页面调度答案:A7. 任何两个并发进程之间( )A 、一定存在互斥关系B 、一定存在同步关系C 、一定彼此独立无关D 、可能存在同步或互斥关系答案:D8. 在UNIX系统中,请求调用是采用()算法。
A 、LFUB 、FIFOC 、LRUD 、LIFO答案:C9. ()存储器管理方法可能使系统产生抖动。
A 、简单页式B 、请求页式C 、段式D 、可变连续分区答案:B10. 某系统采用固定分区分配存储管理,内存空间为640K,其中地址0到40K被系统占用,其他空间按分区大小相等的方法划为4个分区,则当有大小分别为7KB 、90KB 、30KB 、20KB的作业进入内存时,浪费的内存为()。
操作系统练习题含参考答案一、单选题(共90题,每题1分,共90分)1、在大多数Linux发行版本中,以下哪个属于块设备(blockdevices)?A、硬盘B、打印机C、串行口D、虚拟终端正确答案:A2、在随机存取方式中,用户以______为单位对文件进行存取和检索。
A、数据项B、字节C、逻辑记录D、字符串正确答案:C3、在UNIX系统中获取帮助信息的命令为()。
A、manB、cdC、catD、help正确答案:A4、如何删除一个非空子目录/tmp?A、del/tmp/*B、rm-Ra/tmp/*C、rm-rf/tmpD、rm-rf/tmp/*正确答案:C5、运行一个脚本,用户不需要什么样的权限?A、browseonthedirectoryB、readC、executeD、write正确答案:D6、下列关于批处理操作系统的叙述中错误的是()。
A、“通道”和“中断”技术的出现,使得输入/输出设备与CPU可并行工作B、批处理系统可分为单道批处理系统和多道批处理系统C、批处理系统具有用户与计算机的直接交互能力,提高了系统资源的利用率D、单道批处理系统是一种单用户操作系统正确答案:C7、采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是()。
A、216B、224C、232D、28正确答案:A8、如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。
若要调整中断事件的响应次序,可以利用()。
A、中断屏蔽B、中断向量C、中断嵌套D、中断响应正确答案:A9、把作页地址空间中的逻辑地址变成内存中物理地址的过程称为()。
A、物理化B、重定位C、逻辑化D、加载正确答案:B10、当CPU执行系统程序时,CPU处于()。
A、管态B、目态C、系统态D、A和C正确答案:D11、若一个系统内存有64MB,处理器是32位地址,则它的虚拟地址空间为()字节。
B、4GBC、100KBD、64MB正确答案:B12、操作系统负责为用户和用户程序完成所有()的工作A、硬件有关和应用无直接关系B、硬件无关和应用有直接关系C、硬件有关和应用有直接关系D、硬件无关和应用无直接关系正确答案:A13、使用页式存储管理使处理器执行指令的速度______。
操作系统练习题(带答案)第1-3章练习题⼀、选择题1.关于操作系统的叙述( D )是不正确的。
A.管理资源的程序B.管理⽤户程序执⾏的程序C.能使系统资源提⾼效率的程序D.能⽅便⽤户编程的程序2.下⾯关于操作系统的叙述中正确的是( A )。
A.批处理作业必须具有作业控制信息B.分时系统不⼀定都具有⼈机交互功能C.从响应时间的⾓度看,实时系统与分时系统差不多D.由于采⽤了分时技术,⽤户可以独占计算机的资源3.⽤户程序调⽤操作系统的功能必须使⽤( B )。
A.调⽤命令B.系统调⽤C.作业控制D.控制命令4.批处理操作系统提⾼了计算机的⼯作效率,但( B )。
A.系统资源利⽤率不⾼ B. 在作业执⾏时⽤户不能直接⼲预C. 系统吞吐量⼩D. 不具备并⾏性5.引⼊进程概念的关键在于( A )。
A.共享资源B.独享资源C.顺序执⾏D.便于执⾏6.操作系统提供给程序员的接⼝是( B )。
A.进程B.系统调⽤C.库函数D.B和C7.进程和程序的最根本区别在于( B )。
A.对资源的占有类型和数量B.进程是动态的,⽽程序是静态的C.看它们是否能够并发地在处理机上运⾏D.进程的规模较⼩,程序的规模较⼤8.在多道程序设计技术的计算机系统中,CPU( C )。
A.只能被⼀个进程占⽤B.可以被多个进程同时占⽤C.可以被多个进程交替占⽤D.可以被操作系统和另⼀个进程同时占⽤9.当CPU处于内核态时,它可以执⾏的指令是( D )。
A.只有特权指令B.只有⾮特权指令C.只有访管指令D.计算机中的所有指令10.在进程的状态转换过程中,( D )是不可能发⽣的。
A.运⾏态变为就绪态B.就绪态变为运⾏态C.运⾏态变为阻塞态D.阻塞态变为运⾏态11.在⼀个单处理机系统中,若有5个⽤户进程,则处于就绪状态的⽤户进程最多有( C )个。
A.0B.1C.4D.512.当⼀个进程处于这样的状态时,( A ),称为阻塞状态。
A.它正等着输⼊⼀批数据B.它正等着进程调度C.它正等着分给它⼀个时间⽚D.它正等着进⼊内存13.进程间的同步和互斥,分别表⽰了进程间的( B )。
单项选择1. 两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。
A. 同步B. 执行C. 互斥D. 调度2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。
A. 进程互斥B. 进程同步C. 进程通信D. 进程制约3.除了因为资源不足,进程竞争资源可能出现死锁外,不适当的一 C 一也可能产生死锁。
A. 进程优先权B. 资源线性分配C. 进程推进顺序D. 分配队列优先权4.除了可以采用资源剥夺法解除死锁外,还可以采用一 C 一方法解除死锁。
A. 修改信号量B. 拒绝分配新的资源C. 撤消进程D. 执行并行操作5 .资源的按序分配策略可以破坏一DH 条件。
A. 互斥B. 请求与保持C. 不剥夺D. 环路等待6 .在一C 一的情况下,系统出现死锁。
A. 计算机系统发生了重大故障B. 有多个阻塞的进程存在C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数7 . 某系统中有3 个进程,都需要同类资源 4 个,试问该系统不会发生死锁的最少资源数是—B—。
A.9B.10C.11D.128 .银行家算法是一种一B 一算法。
A. 解除死锁B. 避免死锁C. 预防死锁D. 检测死锁9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。
A. 银行家算法B. 资源有序分配C. 死锁检测法D. 资源分配图化简法10. 设有n 个进程共用一个相同的程序段(临界区),如果每次最多允许m 个进程(n)同时进入临界区,则信号量的初值应为一 B — oA.nB.mC.m-nD.-m11. 死锁定理是用于处理死锁的哪一种方法—C—。
A. 预防死锁B. 避免死锁C. 检测死锁D. 解除死锁12. AND 信号量集机制是为了—C—。
操作系统练习题三四五章第三章进程管理练习题一、选择题1.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。
A.继续运行 B.进入阻塞态,让出CPUC.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程2. 正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的()。
A.等待队列B.提交队列C.后备队列D.就绪队列3.在非剥夺调度方式下,运行进程执行V原语后,其状态()。
A.不变B.要变C.可能要变D.可能不变4. 一个进程被唤醒,意味着()。
A.改进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首5.. 系统感知进程的唯一实体是()。
A.JCBB.FCBC.PCBD.SJT6. 一进程在某一时刻具有()。
A.一种状态B.二种状态C.三种状态D.四种状态7. 进程从运行状态变为等待的原因可能是()。
A.输入/输出事件发生B.时间片到C.输入/输出事件完成D.某个进程被唤醒8. 进程创建原语的任务是()。
A.为进程编制程序B.为进程建立PCB表C.为进程分配CPUD.为进程分配所需的各种资源9. 进程被创建后即进入()排队。
A.阻塞队列B.就绪队列C.缓冲队列D.运行队列10.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次。
A)等待活动 B)运行活动 C)单独操作 D)关联操作11.下面对进程的描述中,错误的是。
A)进程是动态的概念 B)进程执行需要处理机 C)进程是有生命期的D)进程是指令的集合12. 进程和程序的本质区别是( ) 。
A)存储在内存和外存 B)顺序和非顺序执行机器指令 C)分时使用和独占使用计算机资源 D)动态和静态特征13.下列的进程状态变化中,( ) 变化是不可能发生的。
A)运行一就绪 B)运行一等待 C)等待一运行 D)等待一就绪14.一个运行的进程用完了分配给它的时间片后,它的状态变为A)就绪 B)等待 C)运行 D)完成15.在进程管理中,当时,进程从阻塞状态变为就绪状态。
(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。
要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)
(1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)
(2)当图书馆中没有座位时,后到的读者不等待,立即回家。
解(1 )
设信号量:S=100; MUTEX=1
P(S)
P(MUTEX)
登记
V(MUTEX)
阅读
P(MUTEX)
注销
V(MUTEX)
V(S)
解(2)
设整型变量COUNT=100;
信号量:MUTEX=1;
P(MUTEX);
IF (COUNT==0)
{ V(MUTEX);
RETURN;
}
COUNT=COUNT-1;
登记
V(MUTEX);
阅读
P(MUTEX);
COUNT=COUNT+1;
V(MUTEX);
RETURN;
(二)有一座东西方向的独木桥;用P,V操作实现:
(1)每次只允许一个人过桥;
(2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。
(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。
(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。
(1)解
设信号量MUTEX=1
P (MUTEX)
过桥
V (MUTEX)
(2)解
设信号量:MUTEX=1 (东西方互斥)
MD=1 (东向西使用计数变量互斥)
MX=1 (西向东使用计数变量互斥)
设整型变量:CD=0 (东向西的已上桥人数) CX=0 (西向东的已上桥人数)
从东向西:
P (MD)
IF (CD=0)
{P (MUTEX) }
CD=CD+1
V (MD)
过桥
P (MD)
CD=CD-1
IF (CD=0)
{V (MUTEX) }
V (MD)
从西向东:
P (MX)
IF (CX=0)
{P (MUTEX) }
CX=CX+1
V (MX)
过桥
P (MX)
CX=CX-1
IF (CX=0)
{V (MUTEX) }
V (MX)
(3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。
(三)有一个俱乐部,有甲乙两个服务员,当顾客有请求时,甲负责送烟,乙负责送火,无顾客请求时,服务员睡眠。
顾客自己不能带烟和火,当顾客要抽烟时,可请求服务员送烟和火,烟和火还未送到时,顾客必须等待。
设信号量:SY, SH,CY,CH:初值都为0 S 理解为请求量,C 理解为现有量
甲服务员
REPEAT
P(SY)
送烟
V(CY)
UNTIL FALSE
乙服务员
REPEAT
P(SH)
送火
V(CH)
UNTIL FALSE
顾客
V(SY) /*(请求送烟)*/
V(SH) /*(请求送火)*/
P(CY) /* (等烟) */
P(CH) /* (等火) */
抽烟
(四)一家四人父、母、儿子、女儿围桌而坐;桌上有一个水果盘;
(1)当水果盘空时,父亲可以放香蕉或者母亲可以放苹果,但盘中已有水果时,就不能放,父母等待。
当盘中有香蕉时,女儿可吃香蕉,否则,女儿等待;当盘中有苹果时,儿子可吃,否则,儿子等待。
解设信号量:SE=1 (空盘子);SA=0 (放了苹果的盘子);SB=0 (放了香蕉的盘子)
父亲
REPEAT
剥香蕉
P(SE)
放香蕉
V(SB)
UNTIL FALSE
母亲
REPEAT
削苹果
P(SE)
放苹果
V(SA)
UNTIL FALSE
儿子
P(SA)
拿苹果
V(SE)
吃苹果
女儿
P(SB)
V(SE)
吃香蕉
(2)把(1)改为:儿子要吃苹果时,请母亲放苹果,女儿要吃香蕉时,请父亲放香蕉,(还是盘子为空时才可以放)。
(2)解:再增加两个信号量:SF=0, SM=0
父亲
REPEAT
P(SF)
剥香蕉
P(SE)
放香蕉
V(SB)
UNTIL FALSE
母亲
REPEAT
P(SM)
削苹果
P(SE)
放苹果
V(SA)
UNTIL FALSE
儿子
V(SM)
P(SA)
拿苹果
V(SE)
吃苹果
女儿
V(SF)
P(SB)
拿香蕉
V(SE)
吃香蕉
(五)有一个超市,最多可容纳N个人进入购物,当N个顾客满员时,后到的顾客在超市外等待;超市中只有一个收银员。
可以把顾客和收银员看作两类进程,两类进程间存在同步关系。
写出用P;V操作实现的两类进程的算法(2003年系统设计员考试的题目)
解:设信号量:S=0,C=0 (顾客与收银员的同步信号量)(一个请求,一个付出),M=N
P(S)
收银
V(C)
顾客
P(M)
进入店内购物
V(S)
P(C)
V(M)
(六)有一个理发店,店内共有20个座位供顾客等待理发,(进入理发店的顾客,都在此座位上等待理发,正在理发的顾客不占用此座位),当20个座位坐满了,后到的顾客不等待,立即回家。
当没有顾客时,理发师睡眠等待。
解:设信号量:S=0.C=0,MUTEX=1 互斥锁
设整型变量 SM=20
理发师
REPEAT
P(S) -------如无顾客,理发师等待
V(C) 叫一个顾客理发
理发
UNTIL FALSE
顾客
P(MUTEX)
IF (SM=0)
{ V(MUTEX)――――满座,离开,回家
RETURN
ELSE
SM=SM-1―――――空座位数减1
V(MUTEX)
}
V(S)――――――――通知理发师,增加了一个顾客,如理发师在等待则唤醒他
P(C) ———————等理发师叫自己理发
P(MUTEX)
SM=SM+1―――――被叫到,释放一个空的座位
V(MUTEX)
接受理发
如果此题改为:满座时,顾客等待空座位:则顾客进程的程序修改如下:
把SM设为信号量 SM=20
顾客
P(SM) ---------------------申请一个座位,无则等待
V(S)――――――――通知理发师,增加了一个顾客,如理发师在等待则唤醒他
P(C) ———————等理发师叫自己理发
V(SM)
接受理发
(七)一个盒子,内有黑白两种棋子(数量相等),甲每次从盒子中取出一颗黑子,乙每次从盒子中取出一颗白子,一人取了棋子后,必须等另一方取过棋子方可再取,(可假设甲先取)。
解:设信号量:SJ=1,SY=0
甲
REPEAT
P(SJ)
取一颗黑子
V(SY)
UNTIL 盒子中无黑子
乙
REPEAT
P(SY)
取一颗白子
V(SJ)
UNTIL 盒子中无白子
(八)按要求完成下面的程序。
设有三个进程,input进程、compute进程和output进程;它们通过共享一个缓冲区buf的合作关系如下:
(1)input进程每次输入数据后,把数据送到buf,供compute进程计算和output进程打印;
(2)comput进程每次从buf取出已输入的可计算的数据进行计算,并当output进程把输入数据打印完成后,把计算结果送入buf供output进程打印;
(3)output进程每次按顺序把buf中的输入数据和计算结果在打印机上输出。
解:
设信号量:sa=1,sb=sc=sd=0, 请把能正确实现这三个进程同步关系的P、V 操作的语句填入下面的程序。
procedure input
begin
local data
repeat
get(data); /*输入数据到data*/
p(sa);
buf=data;
(1)
V ( sc )
v(sb);
until false
end;
procedure compute
begin
locol data
repeat
(2)
P ( sb )
data=buf;
计算data并把结果保存在data;
(3)
P ( sd )
buf=data;
v(sc);
until false
end;
procedure output
begin
local data
repeat
P(sc)
打印buf;
(4)
V ( sd )
p(sc)
打印buf;
v(sa);
until false
end;。