操作系统复习_第1页
操作系统复习_第2页
操作系统复习_第3页
操作系统复习_第4页
操作系统复习_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第一章练习试给出操作系统的定义,并说明现代操作系统的基本特征是什么?答:操作系统是管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。操作系统的主要特征是:并发性、共享性、虚拟性、不确定性。操作系统在计算机系统中的处于和地位?操作系统的作用是什么?答:操作系统的地位:在硬件基础上的第一层软件;其他软件和硬件之间的接口;系统软件中最为重要的组成部分。操作系统的作用是:OS作为用户与计算机硬件系统之间的接口OS作为计算机系统资源的管理者OS用作计算机裸机的扩充机器多道程序设计的硬件基础是什么?答:多道程序设计的硬件基础是中断系统和通道技术。举例说明多道程序设计的基本原理,多道程序的特征是什么?多道程序设计的基本原理:P8多道程序设计的特点如下:多道,即主存中有两道或两道以上的程序,它们都处于执行的开始点和结束点之间,也就是说,它们在任一时刻必处于就绪、运行、阻塞三种状态之一。宏观上并行。从宏观上看,它们在同时执行。微观上串行。从微观上看,它们在交替、穿插地执行,因为在任一时刻,在一台处理机上只能执行一道程序的一条指令。实现多道程序设计必须解决那些问题?答:为实现多道程序设计,必须妥善解决以下三个问题存储保护和地址重定位。处理机管理和调度。资源的管理和分配。设有两道程序按A、B的优先次序运行,其内部计算和I/O操作的时间如下:程序人使用30msCPU后使用40msI/OA,最后使用20msCPU程序8使用60msCPU后使用20msI/OB,最后使用30msCPU试画出按多道程序运行的时间关系图。完成两道程序共花多少时间?它比单道运行节省多少时间?答本题是关于多道程序设计的计算题。通过计算,可以更好的理解为什么要引入多道程序设计。多道程序运行的并发执行时间关系图如下:1程序A1珥岸R1程序A1珥岸RCPU1程序ACPU301I/0A4011等待CPU20进程A结束程序B11等待1CPU601I/0B201CPU301进程B结束按单道程序运行时需花时间为:30ms+40ms+20ms+60ms+20ms+30ms=200ms两道程序并发运行共花时间为:30ms+40ms+20ms+20ms+30ms=140ms所以完成两道程序并发运行共花140ms,它比单道运行节省60ms时间。设在内存中存在有三道程序A、B和C,并按A、B、C的优先次序运行,其内部计算和I/O操作的时间由图给出。要求:P29操作系统通常应具有哪些功能?答:处理机管理:进程控制;进程调度;进程同步;进程通信。存储管理:地址重定位;存储分配;存储保护;存储扩充。设备管理:缓冲管理;设备分配;设备处理;设备独立性和虚拟设备。文件管理:目录管理;文件读、写管理;文件存取控制;文件存储空间的管理。用户接口:命令接口;程序接口;图形接口。操作系统在结构上分为哪两部分?各部分的作用是什么?答:操作系统在结构上分为:内核和核外两部分。操作系统内核是对硬件的首次延伸,是实现操作系统各项功能的基础。操作系统整体式结构有何优点和缺点?层次式结构的特点是什么?这样构造操作系统有什么好处?答:整体式结构的优点提高了OS设计的正确性、可理解性和可维护性。增强了OS的可适应性。加速了OS的开发过程。缺点有:模块的划分及对接口的规定并不精确,很难保证按此规定所设计出的模块会完全正确,这将使在把这些模块装配成OS时发生困难;模块间存在着复杂的依赖关系使OS结构变得不清晰。层次式结构的特点是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易。采用客户/服务器模式构造操作系统的基本思想是什么?这样构造操作系统有什么好处?答:基本思想是:为了提高OS的灵活性和可扩充性而将OS划分为两部分,一部分是用于提供各种服务的一组服务器(进程),如用于提供进程管理的进程服务器、提供存储器管理的存储器服务器提供文件管理的文件服务器等,所有这些服务器(进程)都运行在用户态。当有一用户进程(现在称为客户进程)要求读文件的一个盘块时,该进程便向文件服务器(进程)发出一个请求;当服务器完成了该客户的请求后,便给该客户回送一个响应。另一部分是内核,用来处理客户和服务器之间的通信,即由内核来接收客户的请求,再将该请求送至相应的服务器;同时它也接收服务器的应答,并将此应答回送给请求客户。此外,在内核中还应具有其它一些机构,用于实现与硬件紧密相关的和一些较基本的功能。采用客户/服务器模式构造操作系统的好处是:简化了基本操作系统。提高了可靠性。适合分布式计算环境。什么是强内核,什么是微内核?为什么说未来的发展趋势是微内核逐步占据统治地位,而强内核最终会消失?答:操作系统采用强内核结构,是基于传统的集中式操作系统的内核结构。在这种强内核的操作系统中,系统调用是通过陷入内核实现的,在内核完成所需要的服务,最后返回结果给用户程序。微内核结构是一种新的结构组织形式,它体现了操作系统结构设计的新思想。进程间通信机制;某些存储管理;有限的低级进程管理和调度;低级I/O。微内核与强内核相比具有以下优点:灵活性。;开放性;可扩充性。因此,未来的发展趋势是微内核逐步占据统治地位,而强内核最终会消失。什么是分时系统,分时系统的特点是什么?答:两个或两个以上的事件按时间划分轮流地使用计算机系统中的某个资源。在一个计算机系统中如果多个用户分时地使用一个计算机,那么这样的计算机系统就称为分时系统。分时系统具有如下特点:同时性。若干用户可以同时操作,共同使用同一系统的资源。独立性。每个用户都有一种“独占感”。及时性。用户的请求能得到及时响应。交互性。它是分时系统的主要属性,所以分时系统也称交互作用系统。请从同时性、独立性、及时性、交互性和可靠性方面比较分时系统和实时系统的主要区别。答本题是检查能否较全面地对目前常用的两种操作系统进行比较,通过比较能较深入地了解这两种操作系统的设计目标、特点,以及它们适用的场合。分时系统和实时系统的主要区别是:同时性:两者都具有同时性。分时系统按分时原则为多个终端用户服务,而实时控制系统是对多路的现场信息进行采集以及对多个执行机构进行控制。独立性:两者都具有独立性。在分时系统中每个终端用户向系统提出的服务请求是彼此独立进行的。而在实时控制系统中,信息的采集和控制也是彼此独立进行的。及时性:分时系统的响应时间是以人能够接受的等待时间为标准,而实时系统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标准。交互性:分时系统能使用户和系统进行人一机对话。实时系统也具有交互性,但人与系统的交互仅限于访问系统中的某些特定的专用服务程序。可靠性:实时系统要求系统可靠性要比分时系统高。在实时系统中往往采用多级容错措施,来保证系统的安全及数据的安全。什么是网络操作系统?网络操作系统的主要功能是什么?答:网络操作系统能够使计算机在网络中方便地传送信息和共享资源。网络操作系统具有两种工作模式:第一种是客户机/服务器(Client/Server)模式;另一种是对等(Peer-to-Peer)模式。网络操作系统应该具有以下主要功能:网络通信;资源管理;网络管理;网络服务。网络操作系统与分布式操作系统的关键区别是什么?答:耦合程度:分布式系统是紧密耦合系统,分布式OS是在各机上统一建立的,直接管理CPU、存储器和外设;统一进行全系统的管理;网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议互操作并行性:分布式OS可以将一个进程分散在各机上并行执行”进程迁移”;网络则各机上的进程独立透明性:分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定健壮性:分布式系统要求更强的容错能力(工作时系统重构)什么是作业、作业步和作业流?答:(1)作业:用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称作业步:一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编辑”、“编译”、“连接装配”、“运行”作业流:由若干个作业组成的,形成了一个作业流。何谓操作系统与用户的接口?它有哪几种类型?其主要的功能是什么?答:操作系统与用户的接口是指用户通过操作系统提供的手段和方法可以使用计算机的各类资源,支持用户与操作系统之间进行交互。有两类接口:控制级接口和命令级接口。控制级接口又包括脱机接口和联机接口。脱机用户接口由一组作业控制命令,在批处理系统中,用户利用作业控制(命令)语言写成作业说明书提交给系统,由系统按照作业说明书上的命令,逐条解释执行。联机用户接口是由一组操作系统命令组成,它由一组键盘操作命令及命令解释程序所组成。用于联机作业的控制。包括命令驱动方式;窗口系统与菜单驱动方式和命令文件方式。脱机用户接口。该接口是为批处理作业的用户提供的,故也称为批处理用户接口。该接口由一组作业控制语言JCL组成。程序接口。该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。操作系统是如何防止用户使用特权指令的?答为了防止用户程序中使用特权指令,计算机硬件结构区分两种操作模式:目态和管态,其中目态下只能使用除特权指令以外的指令,管态下可以使用全部指令。当在目态下使用特权指令时,硬件就发出信号:“程序使用非法指令”,且不允许程序继续执行下去。所以可以把用户程序置在目态下运行,而操作系统中必须使用特权指令的那部分程序可在管态下运行,这样可保证计算机系统的安全可靠。什么是系统调用?它的主要功能是什么?答:系统调用是操作系统为扩充机器指令、增加系统的功能、方便用户使用而提供的。因此,在一些计算机系统中,把它称为“广义指令”。每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。第二、三、四章1.什么叫进程?为什么要引入“进程”这一概念?答:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。在多道程序环境下,程序的并发执行代替了程序的顺序执行,资源共享和竞争又导致并发程序之间的相互制约性,使得系统中运行的程序是处于走走停停的状态之中,当一个程序获得处理机后向前推进,当它需要某种资源而未得到时只好停下来,以后得到所申请资源时再继续前进。因此,一个程序的活动规律是:推进f暂停f推进f暂停一•。这种新的特征和新的活动规律,基于“程序”这个静态概念已不能完整、有效地描述并发程序在内存中的运行状态。因此,为了解决相关问题和实现程序在多道程序环境下的并发执行,必须建立并发执行程序的新的描述和控制机制,有必要引入一个能确切描述并反映并发过程的新概念一进程(process),以便从变化的角度动态地研究程序的执行。2.试比较程序的顺序执行与并发执行顺序执行与并发执行见下表。顺序执行并发(共行)执行程序顺序执行间断执行,多个程序各自在“走走停停”中进行程序具有封闭性程序失去封闭性独享资源共享资源具有可再现性失去可再现性有直接和间接的相互制约请说明进程与程序的联系与区别?进程与程序是两个既有联系又有区别的概念。进程与程序的联系是:进程包括一个程序;进程存在的目的就是执行这个程序。进程与程序的区别主要表现在下列几点:进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。程序是由若干行代码组成。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程能够独立运行,可以为其独立分配资源,独立接受调度,而程序不能在多道程序设计环境下运行。试述作业、进程和程序三者的关系。答进程和程序:进程是动态概念,程序是静态概念进程是有生命周期的,而程序的存在是永久的进程的组成应包括程序和数据一个程序对应多个进程一个进程可以包含多个程序进程和作业:作业有四个状态:提交、后备、执行和完成。当作业进入执行状态时,开始建立进程,包含进程的三个状态。一个作业至少包含一个进程。进程具有哪些特征?进程具有以下重要特征:动态性。指进程所对应的程序的执行过程。一个进程的动态性体现在:进程是动态产生和动态消亡的,有它的生命周期。动态特征是进程最重要的特征。并发性。一个进程可以与其它进程一道向前推进。独立性。一个进程是一个相对完整的调度单位,它可以获得处理机并参与并发执行。异步性。每个进程都以其相对独立的、不可预知的速度向前推进。结构特征。为了控制和管理进程,系统为每个进程设立一个进程控制块(PCB)。进程由哪几部分组成,每一部分的内容和作用是什么?答:(1)程序。它主要用于描述进程所要完成的功能。如果一个程序允许多个进程所共享,其程序的代码在执行过程中不应被修改,即程序代码是可重入码(reentrycode)或是纯码(purecode)。(2)数据集合。它包括程序执行时所需要的数据和工作区,本部分只能为一个进程专用,是进程执行时可修改部分。(3)进程控制块(ProcessControlBlock,PCB)。它是操作系统能“感知”进程存在的唯一标志,它和进程是一一对应的,操作系统正是通过管理PCB来管理进程的。当系统创建进程时,为每一个进程设置了一个进程控制块。它记录了该进程的描述信息和控制信息,是进程动态特性的集中反映。当进程被撤消时,系统收回其PCB。何谓原语?进程基本调度状态有哪些?他们之间如何转变?如果将调度状态进一步细分,试画出相应的进程状态转换图。答:p40,p42什么是线程?引入线程的目的?线程的概念:又称轻型进程,是进程内的一个可调度的实体,是处理机调度的基本单位。引入线程的目的:提高系统效率、提高系统资源利用率、减少程序并发执行时所付出的时空开销,使OS具有更好的并发性。请从调度、并发性、拥有资源和系统开销四个方面来比较进程和线程。(1)调度。在传统的操作系统中,拥有资源的基本单位及独立调度和分派CPU的基本单位都是进程。而在引入线程的操作系统中,则把线程作为调度和分派CPU的基本单位,而把进程作为资源分配的基本单位,使传统进程的两个属性分开,线程可以轻装运行,从而可以显着地提高系统的并发程度。在同一个进程中,线程的切换不会引起进程的切换,只有当从一个进程中的线程切换到另一个进程中的线程时,才会引起进程的切换。由于系统调度的基本单位是线程而不是进程,所以,每当创建一个进程时,至少要同时为该进程创建一个线程,否则该进程无法被调度执行。(2)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行,因而操作系统具有更好的并发性,从而可以更有效地使用系统中的资源,提高系统的吞吐量。例如在一个没有引入线程的单处理机系统中,若仅设计了一个文件服务进程,当该进程由于某种原因被阻塞时,用户的文件服务请求就得不到响应。在引入线程的操作系统中,可以在一个文件服务进程中设计多个服务线程,当第一个线程被阻塞时,文件服务进程中的第二个线程可以继续执行;当第二个线程被阻塞时,第三个线程可以继续执行,从而显着地提高了文件服务的质量和系统的吞吐量。(3)拥有资源。不论是传统的操作系统,还是具有线程的操作系统,进程都是拥有资源的独立单位。一般地说,线程自己不拥有系统资源(只有少量的必不可少的资源),但它可以访问其隶属进程的资源。也就是说,一个进程的代码段、数据段及系统资源(如打开的文件、I/O设备等)可供同一进程中的所有线程共享。(4)系统开销。由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等,操作系统所付出的时间和空间开销较大。类似地,在进程切换时,涉及到当前进程CPU环境的保存及新被调度运行的进程CPU环境的设置,包括程序地址和数据地址等。而线程的切换只须保存和设置少量寄存器的内容,并不涉及到存储器管理方面的操作。可见,进程切换的开销远远大于线程切换的开销。此外,由于同一进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的实现,变得非常容易。在有些操作系统中,线程的切换、同步和通信都无须操作系统内核的干预。说明三级调度各有什么用处?高级调度发生在新进程的创建中,它决定一个进程能否被创建,或者是创建后能否被置成就绪状态,以参与竞争处理器资源获得运行;中级调度反映到进程状态上是挂起和解除挂起,它根据系统的当前负荷情况决定停留在主存中进程数;低级调度则是决定哪一个就绪进程或线程占有CPU运行。选择进程调度算法的原则是什么?答:一个好的调度算法应该考虑的因素主要有:(1)CPU利用率。使得CPU尽可能的忙。CPU利用率的计算公式有:CPU的利用率=CPU有效工作时间/CPU总的运行时间CPU总的运行时间=CPU有效工作时间+CPU空闲等待时间一般CPU的利用率应从40%(轻负荷系统)到90%(重负荷系统)。(2)吞吐率。是一种测量CPU工作量的方法。它是指一个时间单位内所完成的作业数量。(3)周转时间。用户作业从提交给系统开始,到作业完成中间的时间间隔称为作业周转时间,应使作业周转时间或平均作业周转时间尽可能短。批处理系统的调度性能主要用作业周转时间和作业带权周转时间来衡量。如果作业i提交给系统的时刻是ts,完成时刻是tf,所需运行时间为tr。那么,ti=tf-ts为该作业的周转时间。wi=ti/tr为该作业的带权周转时间。则:平均作业周转时间T=(St)i/n平均作业带权周转时间W=(Swi)/n为了提高系统的性能,要让若干个用户的平均作业周转时间和平均带权作业周转时间最小。通常,用平均作业周转时间来衡量对同一作业流施行不同作业调度算法时,它们呈现的调度性能;用平均作业带权周转时间来衡量对不同作业流施行同一作业调度算法时,它们呈现的调度性能。这两个数值均越小越好。(4)等待时间。指作业或进程从进入系统到被调度到并开始执行所经历的时间。等待时间越短越好。(5)响应时间。对于交互式系统,周转时间并不是最佳准则。交互式系统中定义进程从提交一个请求到产生响应所需的时间间隔称为响应时间。分时系统要求用户的响应时间尽可能短,实时系统要求尽快处理实时任务。(6)公平性。确保每个用户的每个进程获得合理的CPU份额或其它资源份额,不会出现饿死情况。在设计进程调度算法时,应着重考虑哪几个问题?试详细说明之。答(1)进程调度方式所谓进程的调度方式是指当一个进程正在处理机上运行时,若有更高优先权(级)的进程进入就绪队列时,如何分配CPU的方式,一般来说进程调度方式有下列两种:非剥夺方式(或非抢占方式)当一个进程正在处理机上运行时,若有优先权更高的进程要求使用CPU,现运行进程不予理睬,继续运行,直到它运行完成或出现某些情况被阻塞时,才把CPU分配给别的进程使用。这种调度方式的优点是简单易实现,系统开销小。但这种方式不太灵活,难以满足紧迫任务必须立即执行的要求。显然,在实时系统中不宜采用这种调度方式。可剥夺方式(或可抢占方式)当一个进程正在处理机上运行时,有更重要、更紧急或特殊要求的进程,即优先权更高的进程进入就绪队列时,就立即中断现运行进程的运行,使其从运行状态回到就绪状态,将CPU分配给更高优先权的进程。(2)引起进程重新调度的时机当发生下述几种情况之一时,现运行进程要放弃处理机的使用:(1)当一个进程从运行状态转换到阻塞状态(如请求I/O或等待子进程的终止)。(2)当一个进程从运行状态转换到就绪状态(如当出现时间片到和抢占式调度等中断)。(3)当一个进程从阻塞状态转换到就绪状态(如I/O完成)。(4)当一个进程终止时。进程的调度算法有哪些?答:常用的进程调度算法有:(1)先来先服务算法(FirstComeFirstServer,FCFS);(2)最短优先算法(ShortestProcessFirst,SPF);(3)优先级算法(HighestPriorityFirst,HPF);(4)轮转算法(RoundRobin,RR);(5)多级队列调度算法(multilevelqueue-schedulingalgorithm)(5)多级反馈队列调度算法(multilevelfeedbackqueuescheduling);(6)实时调度算法(Real-Time,RT)。一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用基于优先级的抢占式调度算法,如表3-10所示的作业序列(表中给出的作业优先数即为进程优先数,优先数越小优先级越高)。要求:列出所有作业进入内存时间及结束时间计算平均周转时间表3-10作业运行情况作业名到达时间估计运算时间优先数A8:0050分4B8:2040分2C8:3060分3D8:5030分66.假定三个作业同时到达系统,证明在非抢占式调度算法中,采用短作业先算法,它的平均等待时间是最短的以及平均周转时间是最短的。试说明同步与互斥这两个概念有何区别?答:进程的互斥:进程在运行中争用系统资源,对于独占型资源,只能一个进程使用完,另一个进程才能使用。进程的同步:在异步环境下,互相合作的进程按各自独立的速度向前推进,但在某些确定点上必须协调工作。即当某个进程到达这些点后,等待另一进程发来信息,否则就只能停下来等待其操作的完成,进程间的这种协同关系称为进程同步。什么是临界资源?对相关临界区管理的原则是什么?答临界资源:把一次只允许一个进程使用的资源称为临界资源。如独占性硬件资源有卡片输入机、打印机等;若干进程共享的变量、表格、队列、栈、文件等软件资源都是临界资源。对若干个进程共享一个资源的相关临界区,其管理原则必须满足如下三项要求:互斥。如果某Pi进程在临界区内执行,则其它进程不能进入临界区。有空让进。如果没有进程在其临界区内执行,则选择一进程(如有)进入临界区。有限等待。当有若干个进程同时要求进入临界区时,应在有限时间内使一个进程进入。给出信号量的定义,并给出P、V操作定义。信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用临界区的进程数。P原语操作的定义是:S减1;若S减1后仍大于或等于零,则进程继续执行;若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。V原语操作的定义是:S加1;若相加结果大于零,则进程继续执行;若相加结果小于或等于零,则

温馨提示

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

评论

0/150

提交评论