操作系统经典习题含答案_第1页
操作系统经典习题含答案_第2页
操作系统经典习题含答案_第3页
操作系统经典习题含答案_第4页
操作系统经典习题含答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题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 C1/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 027进程之间交换数据不能通过 _途径进行。A共享文件 B消息传递 C 访问进程地址空间 D访问共享存储区域28进程控制块 PCB 不包括的内容是_。A CPU 现场 B 进程优先级 C进程运行状态 D 文件缓冲区29 PCB 是描述进程状态和特性的数据结构,一个进程 _。A可以有多个 PCB B 可以和其他进程共用一个 PCBC可以没有 PCB D 只能有唯一的 PCB30资源顺序分配法破坏了死锁发生的 _必要条件。A互斥占用 B占有等待 C非剥夺 D循环等待31进程和程序的本质区别是 _。A内存和外存 B 动态和静态特征C共享和独占使用计算机资源 D顺序和非顺序执行指令32设有两个进程共享 3 个同类资源,为使系统不死锁,每个进程最多可以申请 _资源。A 0 B 1 C 2 D 333作业调度中的先来先服务算法是以 _为出发点考虑的。A 作业执行时间 B 作业的周转时间C 作业等待时间 D 等待时间加运行时同34设 m 为同类资源数,n 为系统中的并发进程数。当 n 个进程共享 m 个互斥资源时,每个进程的最大需求是 w。下列情况下,系统会死锁的是 _。A m=2,n=l,w=2 B m=2,n=2 ,w=1C 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;BeginParbeginPC:beginRepeatcomputrt next number;wait(empty1) :wait (empty2) ;add the number to bufer;signal(full1);signal (full2);Until false;endP01: beginrepeatwait (full1) ;take from bufer;signal (emptyl) :print last number;until flase;endP02 :beginRepeatwait (full2) ;take from buffer;signal (empty2);print last number;until falseendparendend3. 设有三个进程,输入进程 (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 C A B C A B CP1P2P3P4P51 2 10 0 0 3 1 6 31 7 5 1 0 02 3 5 1 3 50 6 4 0 0 20 6 5 0 0 1(1 )系统是否处于安全状态?(请给出详细的判断过程)如是,则给出进程安全序列。(2 )如果进程 P5 申请 1 个资源类 A 和 1 个资源类 C,能否实施分配?为什么?5. 设有五道作业,它们的提交时间和运行时间见下表,试给出在如下表所示的三种调度算法下,作业的执行顺序,以及平均周转时间和带权平均周转时间:(1) 先来先服务调度算法;(2) 短作业优先调度算法;(3) 响应比高优先调度算法。作业提交和运行时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论