为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

操作系统经典习题(含答案)part2

2019-05-14 26页 doc 62KB 104阅读

用户头像

is_212655

暂无简介

举报
操作系统经典习题(含答案)part2一、选择题 1.在进程的组成部分之中,进程在运行中不可修改的部分是 ______。 A.私用程序段           B .共享程序段 C.数据段               D .进程控制块 2.响应比高者优先作业调度算法是以计算时间和 ______来考虑的。 A. 输入时间    B . 完成时间     C. 周转时间     D. 等待时间 3.在消息缓冲通信中,消息队列属于 ______资源。 A. 临界    B . 共享     C. 永久    D. 可剥夺 4.进程间的同步是指进程间在逻辑上的相互 ___...
操作系统经典习题(含答案)part2
一、选择题 1.在进程的组成部分之中,进程在运行中不可修改的部分是 ______。 A.私用程序段           B .共享程序段 C.数据段               D .进程控制块 2.响应比高者优先作业调度算法是以计算时间和 ______来考虑的。 A. 输入时间    B . 完成时间     C. 周转时间     D. 等待时间 3.在消息缓冲通信中,消息队列属于 ______资源。 A. 临界    B . 共享     C. 永久    D. 可剥夺 4.进程间的同步是指进程间在逻辑上的相互 ______关系。 A. 联接    B . 制约     C. 继续    D . 调用 5.最适合于分时系统的进程调度算法是 ______。 A.先来先服务( FCFS)     B .最短作业优先( SSJF) C.优先数法                 D .轮转法(RR ) 6.进程 A和进程B 通过共享缓冲区协作完成数据处理,进程 A负责生产数据并放入缓冲区,进程 B从缓冲区中读数据并输出。进程 A和进程B 之间的关系是 ______。 A.互斥关系      B.同步关系      C.互斥和同步       D.无制约关系 相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。 也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)! :互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。 7.在优先级调度中, ______类进程可能被“饿死”,即长时间得不到调度。 A.短进程       B.长进程      C .低优先级进程      D.大内存进程 8.进程从运行状态到阻塞状态可能是由于 ______。 A.进程调度程序的调度           B .现运行进程的时间片耗尽 C. 现运行进程执行了 wait操作     D.现运行进程执行了signal操作 9.银行家算法在解决死锁问题中是用于 ______的。 A.预防死锁     B.避免死锁     C.检测死锁    D.解除死锁 10. ______不是进程调度算法。 A. 时间片轮转法         B. 先来先服务方法 C. 响应比高者优先法     D. 均衡调度算法 11.下面关于线程的叙述中正确的是 ______。 A. 线程包含 CPU现场,可以独立执行程序     B.每个线程有自己独立的地址空间 C.线程之间的通信必须使用系统调用函数      D.进程只能包含一个线程 12.并发进程之间 ______。 A.彼此无关     B.必须同步    C.必须互斥     D.可能需要同步或互斥 13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是 ______。 A.非剥夺方式     B.剥夺方式    C.中断方式    D.查询方式 14.信号量 S不能用于______ 操作。 A. signal      B .wait       C.赋初值        D .运算表达式 15. ______是一种只能进行wait操作和 signal操作的特殊变量 A. 调度      B . 进程       C. 同步      D. 信号量 16.分配给进程占用处理机的时间到而强迫进程 P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程 P让出处理器,则进程P状态变化的情况为 ______ A. 运行态-> 就绪态     B. 运行态-> 等待态 C. 就绪态-> 运行态     D. 等待态-> 就绪态 17.下面关于进程的叙述中正确的是 ______。 A. 进程获得 CPU运行是通过调度得到的 B.优先级是进程调度的重要依据,一旦确定就不能改变 C.在单 CPU的系统中,任何时刻都有一个进程处于运行状态 D.进程申请 CPU得不到满足时,其状态变为阻塞 B.错误优先级是可以动态改变的。 C.错误没进程的时候,系统可以空闲。 D.错误变为就绪态。 18.操作系统通过 ______对进程进行管理。 A. 进程    B . 进程控制块     C. 进程启动程序    D. 进程控制区 19. 若一个进程拥有 100个线程,这些线程属于用户级线程,它们在系统调度执行时间上占用的时间片个数是 ______。 A. 1    B. 100   C.1/100    D .0 本题主要考查关于进程和线程之间资源共享的。在引入线程的操作系统中,线程是进程中的一个实体,是系统独立调度和分派的基本单位。但是线程自己基本上不拥有系统资源,所以它不是资源分配的基本单位,它只拥有一部分在运行中必不可少的与处理机相关的资源,如线程状态、寄存器上下文和栈等,它同样有就绪、阻塞和执行三种基本状态。它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。由于用户线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调度的,用户利用线程库提供的 API来创建、同步、调度和管理线程。所以,用户线程的调度在用户程序内部进行,通常采用非抢先式和更简单的,也无须用户态和核心态切换,所以速度很快。由于操作系统不知道用户线程的存在,所以,操作系统把 CPU的时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。那么,用户进程能得到的时间片即为所有用户线程共享。因此,正确答案应为 A。 20. 解除死锁通常不采用的方法是 ______。 A.终止一个死锁进程         B .终止所有死锁进程    C.从死锁进程处抢夺资源     D.从非死锁进程处抢夺资源 21. 到其他 3种状态的进程状态是______。 A.就绪         B .阻塞        C.完成        D .执行 22.信号量的初值为 2,当前值为-3,则表示等待进程有 ______。 A. 1个           B .2个           C .3个          D .5个 若信号量为正,则表示资源数;若信号量为负,则表示等待的进程数 23. wait操作可能导致______。 A.进程就绪        B .进程结束      C.进程阻塞(等待)     D.新进程创建 24.在操作系统中为避免系统的死锁采用 ______。 A. 银行家算法               B .破坏占有并等待条件 C.死锁检测和恢复           D .破坏非剥夺条件 25.下列的进程状态变化中 不可能发生的变化是 ______。 A. 等待→运行       B.运行→等待     C.运行→就绪       D.等待→就绪 26.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为 ______。 A.   3    B. 1    C . 2    D . 0 27.进程之间交换数据不能通过 ______途径进行。 A.共享文件     B.消息传递   C. 访问进程地址空间     D.访问共享存储区域 28.进程控制块 PCB不包括的是______。 A. CPU现场    B .进程优先级    C.进程运行状态    D. 文件缓冲区 29. PCB是描述进程状态和特性的数据结构,一个进程 ______。 A.可以有多个 PCB  B .可以和其他进程共用一个 PCB C.可以没有 PCB     D. 只能有唯一的 PCB 30.资源顺序分配法破坏了死锁发生的 ______必要条件。 A.互斥占用      B.占有等待     C.非剥夺      D.循环等待 31.进程和程序的本质区别是 ______。 A.内存和外存                   B .动态和静态特征 C.共享和独占使用计算机资源     D.顺序和非顺序执行指令 32.设有两个进程共享 3个同类资源,为使系统不死锁,每个进程最多可以申请 ______资源。 A. 0    B. 1    C . 2    D . 3 33.作业调度中的先来先服务算法是以 ______为出发点考虑的。 A. 作业执行时间    B. 作业的周转时间 C. 作业等待时间    D. 等待时间加运行时同 34.设 m为同类资源数,n为系统中的并发进程数。当 n个进程共享m个互斥资源时,每个进程的最大需求是 w。下列情况下,系统会死锁的是 ______。 A. m=2,n=l,w=2    B. m=2,n=2 ,w=1 C. m=4,n=3,W=2    D. m=4,n=2,w=3 当2 个进程已经拥有 2个资源,都申请第3个资源时,导致死锁。 35.用于解决进程间互斥的方法是 ______。 ① 信号量及 wait、signal 操作     ② 加锁与解锁    ③ 信箱方式 ④ 消息缓冲方式      ⑤ 特权指令方式 A.③、④和⑤     B.①和②    C.①和③    D .②和⑤ 36.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。对于任何两个并发进程 ,它们______ 。 A. 必定无关    B . 必定相关     C. 可能相关    D. 可能相同 二、简答题 1.什么是线程?进程和线程的关系是什么? 2.进程能自己将自己唤醒吗?进程能自己将自己撤销吗? 3.父进程创建子进程之后,父子进程间的关系是什么? 4.简述引进线程的好处。 5.当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好? 6.为什么说进程同步问题关系到 OS的成败?同步机制应遵循的准则是什么? 7.进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? (1 )若干同学去图书馆借书。 (2 )两队举行篮球比赛。 (3 )流水线生产的各道工序。 (4 )商品生产和消费。 8.高级调度和低级调度的主要任务是什么?为什么引入中级调度? 9.在剥夺调度中,有哪些剥夺原则? 10.引起进程调度的主要因素。 11.何为死锁?产生死锁的原因和必要条件是什么?比较三种解决死锁的方法 ? 12.试比较说明进程和程序的区别有哪些? 三、应用题 1. 有一个理发师,一把理发椅和 n把供等候理发的顾客坐的椅子。如果没有顾客,则理发师便在理发椅子上睡觉;当一个顾客到来时,必须唤醒理发师,进行理发;如果理发师正在理发时,又有顾客来到,则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就离开。为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。 2. 计算进程 PC和打印进程P01、 P02共享一个单缓冲区,计算进程负责计算,并把计算结果放入单缓冲中;打印进程 P01、P02 则负责从单缓冲中取出计算结果进行打印,而且对每个计算结果, P01和P02 都需分别打印一次。请用型信号量描述上述进程间的同步关系。 wait(s) 就是s减1; 如果原来是0; 那么就是wait(0); 与C语言中的while很像, while(0)就是不进入循环 ,一直等到while(1)再进入循环可以这么理解,但实际while直接不执行循环里的语句,跳过去了) 如果原来>0; 直接减1,s的资源少了一个; 如果原来<0; 那么跟0一样还要等,等到大于0,继续执行。 signal(s)就是s加1; 原理同上。 【 11分】 可设置四个信号量: full1表示缓冲中是否有可供P01打印的计算结果, full2表示缓冲中是否有可给P02打印的计算结果; emptypl、empty2 则表示计算结果是否已被 P01l、P02 取走,只有当一个结果被两个打印进程都取走后,缓冲区才变空,计算进程才可将下一个计算结果放入单缓冲。 Var empty1, empty2, full1, full2: semaphore:=1,1,0,0; Begin Parbegin PC:begin Repeat computrt next number; wait(empty1) : wait (empty2) ; add the number to bufer; signal(full1); signal (full2); Until false; end P01: begin repeat wait (full1) ; take from bufer; signal (emptyl) : print last number; until flase; end P02 :begin Repeat wait (full2) ; take from buffer; signal (empty2); print last number; until false end parend end 3. 设有三个进程,输入进程 (input)、计算进程(compute)和输出进程 (output),它们通过共享两个缓冲区 buf1和buf2 协作完成任务。如下图所示 三个进程之间的合作关系如下: (1 )输入进程使用 put()函数把数据送到buf1,供计算进程调用 calculate()函数计算; (2 )计算进程每次调用 get()函数从buf1 取出已输入的可计算的数据进行计算,并把计算结果使用 put()函数把数据送到buf2送入 buf供输出进程打印; (3 )输出进程调用 get()函数把buf2 中的数据使用 print()函数输出。 定义合适的信号量,并用伪代码完成实现过程。 4. 设系统中有三类资源 A、B 和C,又设系统中有 5个进程P1 ,P2, P3,P4 和P5。在 T0时刻系统状态如下: 最大需求量 已分配资源量 剩余资源量 A B CA B CA B C P1 P2 P3 P4 P5 1 2 100 0 31 6 3 1 7 51 0 0 2 3 51 3 5 0 6 40 0 2 0 6 50 0 1     (1 )系统是否处于安全状态?(请给出详细的判断过程)如是,则给出进程安全序列。 (2 )如果进程 P5申请1 个资源类 A和1 个资源类 C,能否实施分配?为什么? 5. 设有五道作业,它们的提交时间和运行时间见下表,试给出在如下表所示的三种调度算法下,作业的执行顺序,以及平均周转时间和带权平均周转时间: (1)  先来先服务调度算法; (2)  短作业优先调度算法; (3)  响应比高优先调度算法。 作业提交和运行时间表 作业名 提交时间 /h 需执行时间 /h J1 10.1 0.8 J2 10.3 0.5 J3 10.5 0.4 J4 10.6 0.3 J5 10.7 0.2       6. 假设系统有同类资源 10个,供P ,Q、 R三个进程共享,P、 Q、R 所需资源总数分别为 8、4 、9,它们申请资源的次序和数量如下表所示。 进程资源申请表 次序 进程 申请量 1 2 3 4 5 6 … R P Q P R Q … 2 4 2 2 1 2 …       按银行家算法为它们分配资源: (1) 写出执行完序号为 6的申请时,各进程的状态和已占的资源数。 (2) 请估计系统是否会出现死锁,并简要说明理由。 7.下面给出的两个进程互斥的算法是安全的吗?为什么? #define true; # define false; Int flag[2]; flag[1]=flag[2]=false; enter-crtsec(i) int i; { While(flag[1-i]) flag[i]=true; } leave-crtsec(i) Int i; { flag[i]=false; } process I; … Enter-crtsec(i); In critical section; Leave-crtsec(i); 8. 设系统有三种类型的资源,数量为 (4,2 ,2),系统中有进程 A,B ,C按如下顺序请求资源: 进程A申请 (3,2 ,1) 进程B申请 (1,0 ,1) 进程A申请 (0,1 ,0) 进程C申请 (2,0 ,0) 请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。 9. 进程 A1,A2 ,…,An 通过 K 个缓冲区向进程 B1, B2,…,Bm  不断地发送消息。发送和接收工作遵循如下规则: (1) 每个发送进程一次发送一个消息,写入缓冲区,缓冲区大小与消息长度一致; (2) 对每个消息, B1,B2 ,…,Bm 都需接收一次,读入各自的数据区内; (3) K 个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。 试用 wait 和 signal 原语操作组织正确的发送和接收操作。
/
本文档为【操作系统经典习题(含答案)part2】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索