第一章复习题名词解释操作系统:是一组控制和管理计算机系统中的各种软硬件资源,合理地组织计算机系统的工作流程,方便用户使用的程序的集合。虚拟机:在计算机上覆盖上一层软件后,系统功能便会增强一级.OS本身包含若干层,所以当在裸机上覆盖OS后,便获得了一台功能显著增强、使用极为方便的虚拟机.分时系统实时系统多道程序设计:在内存中同时存放多道用户作业,使它们都处于执行的开始点和结束点之间.第一章复习题填空操作系统的五大功能是处理机管理、存储器管理、设备管理、文件管理、用户接口。如果一个OS兼有批时处理、分时处理、实时处理OS三者中的两者,这样的OS称为通用操作系统。多道程序设计是利用了CPU和I/O的并行工作能力来提高系统效率的。如果OS具有很强的交互性,它可供多个用户使用,但时间响应不太及时,则属于分时操作系统类型;如果OS可靠,时间响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户提交作业后不提供交互能力,只提供作业流程的自动化,则属于批处理操作系统类型。实时系统应具有两个基本特征:实时性和可靠性。衡量计算机系统性能指标的参数有吞吐量、资源利用率、和周转时间。第一章复习题简答题:OS为实现并发、共享的特性,必须解决哪些问题?什么叫虚机器?利用虚机器的概念设计OS有什么好处?为保证多道程序的正确运行,在技术上要解决哪些基本问题?简述批处理系统、分时系统、实时系统各自的特点。OS中采用多道程序设计技术,带来什么好处OS为实现并发、共享的特性,必须解决哪些问题?答:为使程序能并发执行,系统必须为每个程序建立进程,进程是系统中能独立运行并作为资源分配的基本单位,它是一个活动的实体.多个进程之间可以并发执行和交换信息,有效改善了系统的资源利用率和吞吐率.但是进程的引入增加了OS的复杂性,OS必须具备控制和管理各种并发活动的能力.为使并发进程能共享系统资源,OS必须针对不同属性的资源提供不同的共享方式,即互斥共享和同时共享.另外,还要实现互斥访问方式中进程间的同步.什么叫虚机器?利用虚机器的概念设计OS有什么好处?答:覆盖了软件的机器叫作虚机器.使用了虚机器的概念后,可以使用户在使用计算机时不涉及硬件细节,为用户使用计算机提供了方便.另外,OS使用虚机器概念来设计,每当在计算机系统上覆盖了一层软件后,系统功能便增强一级.OS本身包含若干层,所以当在裸机上覆盖OS后,便获得了一台功能显著增强、使用极为方便的虚拟机.为保证多道程序的正确运行,在技术上要解决哪些基本问题?答:存储管理。在多道程序设计环境下,在主存中的几道程序共享同一主存,硬件必须提供必要的手段,防止各道程序相互侵犯,同时要保证程序在主存中能随机移动。处理机管理和调度。由于多道作业共享CPU,所以需对CPU进行管理,合理调度,以提高其利用率。资源的管理和分配。对系统中的资源进行合理有效的管理,以利于多道程序共享。简述批处理系统、分时系统、实时系统各自的特点。答:单道批处理的特点:自动性、顺序性、单道性。多道批处理的特点:多道性、无序性、调度性。分时系统的特点:多路性、独立性、及时性、交互性。实时系统的特点:多路性、独立性、及时性、交互性、可靠性。OS中采用多道程序设计技术,带来什么好处?答:提高了CPU的利用率。提高了内存和I/O设备的利用率。增加了系统的吞吐量。第二、三章复习题一、名词解释进程、线程、临界资源、临界区、进程同步、进程互斥、死锁二、填空1,进程有三种基本状态,即(1)执行状态、(2)就绪状态、(3)阻塞状态。当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。2,并发进程之间的基本关系是同步或互斥。其中互斥是指进程之间的一种间接关系。3,信号量的物理意义是:当信号量的值大于零时,表示可用资源的数目;当信号量值小于零时,其绝对值为因请求该资源而被阻塞的进程数目。4,某程序运行时经常需打印中间结果。计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。5,对待死锁,一般应考虑预防、避免、检测和解除四个问题。典型的银行家算法属于死锁的避免,破坏环路等待条件属于死锁的预防,剥夺资源属于死锁的解除的基本方法。三、选择题1,进程在处理器上执行时(D)A,进程之间是无关的,具有封闭性;B,进程之间是有交往的,相互依赖、相互制约,具有并发性;C,具有并发性,即同时执行的特性;D,进程之间可能是无关的,但也可能是有交往的。2,在下列的进程状态变换中,(C)是不可能发生的。A,执行——等待B,执行——就绪C,等待——执行D,等待——就绪3,(C)是一种只能进行P、V操作的特殊变量。A,同步B,互斥C,信号量D,管程4,产生死锁的原因是(C、D)A,资源共享B,并发执行的进程数太多C,系统资源不足D,进程推进顺序非法5,设有三个作业J1,J2,J3同时到达,运行时间分别为T,T2,T3,且T≤T2≤T3。若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为(C)。A,T1+T2+T3B,1/3(T1+T2+T3)C,T1+2/3T2+1/3T3D,T1+1/3T2+2/3T3四、简答题1,画出进程基本状态转换图,并标明状态转换条件。2,现代OS一般都提供多进程运行环境,问(1)为支持多进程的并发,系统必须建立哪些有关进程的数据结构?(2)为支持进程状态转换,系统至少应提供哪些进程控制原语?(3)执行每一个进程控制原语时,进程状态发生什么变化?它的相应的数据结构会发生什么变化?3,消息缓冲通信技术是一种高级通信机制。试叙述高级通信机制与低级通信机制P、V操作的主要区别。4,什么叫抢占式处理机调度和非抢占式处理机调度?FCFS、HPF分别属于哪种调度方式?5,银行家算法的主要思想是什么?它能用来解决实际中的死锁问题吗?为什么?6,一系统有8个相同的资源,被7个进程共享,每一个进程最多需2份资源。请说明这一系统不会发生死锁。简答题1:1,画出进程基本状态转换图,并标明状态转换条件。执行状态就绪状态阻塞状态CPU调度2:时间片到,或被其他更重要的进程抢占CPU21343:等待某事件(如I/O完成、或被他人占用的临界资源变为可用)4:等待的事情发生(如I/O完成、或所等待的临界资源变为可用)简答题2:现代OS一般都提供多进程运行环境,问(1)为支持多进程的并发,系统必须建立哪些有关进程的数据结构?(2)为支持进程状态转换,系统至少应提供哪些进程控制原语?(3)执行每一个进程控制原语时,进程状态发生什么变化?它的相应的数据结构会发生什么变化?答:(1)为支持多进程的并发执行,OS必须为每个进程建立一个PCB,来记录OS所需的、用于描述进程、及控制进程运行所需的全部信息。(2)支持进程状态的转换,在三种进程的基本状态中,系统至少应当提供进程创建原语、进程撤消原语、阻塞原语和唤醒原语;在五进程状态中,还应当增加挂起原语和激活原语。(3)执行创建原语:创建一个进程,它的PCB状态为就绪状态。执行撤消原语:撤消一个进程,它的PCB及资源被回收。执行阻塞原语:调用该原语的进程的PCB的状态变为阻塞状态执行唤醒原语:被唤醒进程的PCB中的状态变为就绪状态执行挂起原语:被挂起进程的状态从执行——静止就绪、或活动阻塞——静止阻塞,或活动就绪——静止就绪执行激活原语:被激活的进程的状态从静止就绪——活动就绪,或从静止阻塞——活动阻塞简答题3:消息缓冲通信技术是一种高级通信机制。试叙述高级通信机制与低级通信机制P、V操作的主要区别。答:在交换信息量方面:利用P、V操作原语可以实现进程的互斥和同步,但只能交换少量的信息,缺乏传输消息的能力;而高级通信不仅可以实现进程的互斥和同步,且能交换大量的消息,是理想的进程通信工具。通信对用户透明方面:用P、V操作原语通信时必须在用户程序中增加P、V编程,而且若编程不当,还会出现死锁;而高级通信机制对用户则是透明的。简答题4:什么叫抢占式处理机调度和非抢占式处理机调度?FCFS、HPF分别属于哪种调度方式?答:抢占式是指当一进程正在CPU上运行时,若有优先权更高的进程进入就绪队列,则要中止现运行进程的运行,将CPU分配给优先级更高的进程。而非抢占式则是指当一进程正在CPU上运行时,若有优先权更高的进程进入就绪队列,现行进程继续运行直到完成或出现某些情况才让出CPU。FCFS属于非抢占式;HPF属于抢占式。简答题5:银行家算法的主要思想是什么?它能用来解决实际中的死锁问题吗?为什么?答:银行家算法是一种避免死锁的策略。该策略是在实施资源分配之前先计算实施该分配后是否存在一种顺序,使得所有的进程都能执行结束,即是否处于安全状态。若是,则分配,否则不分配。该算法在实际系统中很难使用。因为算法需已知进程申请资源的最大数目、系统中进程数目要固定,这在现实中很难做到。简答题6:一系统有8个相同的资源,被7个进程共享,每一个进程最多需2份资源。请说明这一系统不会发生死锁。答:因为7个进程共享系统中8个相同的资源,且每个进程最多需2个资源,所以最坏情况是每个进程都已占有一个资源,还再需用一个资源,这时,系统中还有一个资源可用,可以把这个资源分配给其中的一个进程,就满足了它的全部需求,使其运行结束,释放其所占有的资源供其他进程使用。所以系统不会出现死锁。五、应用题1,化简如图所示进程资源图,回答化简前的状态是否为死锁状态。P1......P2P3R4R3R2R12,某系统由数据输入、计算和输出三个进程组成,输入进程把数据送入由M个缓冲块组成的输入缓冲区(每次向一个缓冲块送数据),计算进程从输入缓冲区取数据计算(每次取一个缓冲块的数据),并将计算结果送入到由N个缓冲块组成的输出缓冲区(每次向一个缓冲块送数据),输出进程每次从输出缓冲区取一个结果输出。请写出利用记录型信号量机制实现三者之间同步的算法。Varfull-in,empty-in,mutex-in,full-out,empty-out,mutex-out:semaphore:=0,M,1,0,N,1;buffer-in:array[0,M-1]ofitem;buffer-out:array[0,N-1]ofitem;in1,out1,in2,out2:integer:=0,0,0,0BeginparbeginprocessIN:beginrepeatinputanitemnextin;wait(empty-in);wait(mutex-in);buffer-in(in1):=nextin;in1:=(in1+1)modM;signal(mutex-in);signal(full-in);untilfalse;endcompute:beginrepeatwait(full-in);wait(mutex-in);nextc:=buffer-in(out1);out1:=(out1+1)modM;signal(mutex-in);signal(empty-in);wait(mutex-out);wait(empty-out);buffer-out(in2):=nextc;in2:=(in2+1)modN;signal(mutex-out);signal(full-out);untilfalse;endprocessout:beginrepeatwait(full-out);wait(mutex-out);nexto:=buffer-out(out2);out2:=(out2+1)modN;signal(mutex-out);signal(empty-out);outputtheiteminnexto;untilfalse;end3,设系统中资源类集合为{A,B,C},五个进程{p1,p2,p3,p4,P5}。资源A的数量为17,资源B的数量为5,资源C的数量为20。在T0时刻系统状态如下页图。若采用银行家算法避免死锁,问:(1)