1、11.叙述操作系统在计算机系统中的位置。答:操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所有的系统硬件CPU、主存、各种硬件部件和外部设备等,也控制和管理着所有的系统软件(系统程序和用户进程等,操作系统对计算机使用者提供了一种良好的操作环境,也为其他各种应用系统提供了最基本的支撑环境。现代操作系统是一个复杂的软件系统,它与计算机硬件系统有千丝万缕的联系,也与用户有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。如图 1.1 所示,紧挨着硬件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处理机、存储器、输入/输出设备、数据与文档资源
2、、用户作业等,并向用户提供若干服务,通过这些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境。在操作系统的外层是其他系统软件。操作系统是最基本的系统软件。用户可以直接通过系统软件层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问题。由此可见,操作系统是介于计算机硬件和用户之间的一个接口。2.推动批处理系统和分时系统形成和发展的主要动力是什么?答:(1)推动批处理系统形成和发展的主要动力是“不断提高系统资源利用率“和“提高系统吞吐量“。主要表现在:脱机输入/输出技术的应用和作业的自动过渡大大地提高了 I/0 的速度及 I/O 设备与 CPU 并行工作的程度
3、,减少了 CPU 的空闲时间;多道程序设计技术的应用更进一步提高了 CPU、内存和 I/O 设备的利用率和系统的吞吐量。(2)推动分时系统形成和发展的主要动力是“为了更好地满足用户的需要“。主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力的提供使用户能方便地直接控制自己的作业;主机的共享使多个用户(包括远程用户)能同时使用同一台计算机独立地、互不干扰地处理自己的作业。3.怎样理解“由于计算机上装有操作系统,从而扩展了原计算机的功能“。答:计算机系统的硬件结构和机器一级的操作包含了诸如指令集、存储器组织、总线结构和输入/输出部件等的操作与控制,这些最基本的操作恰恰又是最复杂和
4、最难以由用户直接进行的操作。例如 z 用户要进行文件读写,而文件是以二进制代码的方式存放在磁盘、磁带等存储装置中,需要有一种途径把用户的要求转换成对具体的硬件部件、电路信号、选择开关等的细微操作,用户自己不可能完成这些操作,但操作系统把用户的高级操作转换成一系列的低级操作,最终完成文件的读写。所有的低级操作对用户来讲都是透明的,即无需用户关心的、看不见的,操作系统把硬件全部隐藏起来,给用户提供了一个友好的、易于操作的界面。此外,操作系统还要进行大量的系统事务处理。如响应中断的发生、处理定时操作、管理存储器及其他低级操作。所以,可以说操作系统是硬件系统的扩展,从而扩展了原计算机的功能,它比直接对
5、计算机硬件系统进行操作要容易得多。4.试从交互性、及时性以及可靠性三个方面:比较分时系统与实时系统。答:(1)从交互性方面来考虑:交互性问题是分时系统的一个关键问题,在分时系统中,用户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享。实时系统也具有交互性,但在实时系统中仅限于访问系统中某些特定的专用服务程序,也就是说它的交互性具有很大的局限性。(2)从及时性方面来考虑:分时系统的及时性是指用户能在很短的时间内获得系统的响应,此时间间隔是由人们能接受的等待时间决定的,一般为 23s。对实时系统来说,及时性是它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系
6、统的及时性要求则是由被控制对象所要求的开始截止时间和完成截止时间决定的, 一般要求秒级、2毫秒级甚至微秒级的响应时间。(3)从可靠性方面来看:可靠性是实时系统的另一个关键问题,实时系统中的任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果,所以实时系统往往采取多级容错措施来保证系统的高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。其他进程的制约,不再“一气呵成“,这必然导致不确定性特征的产生。5.试比较分层式结构与模块式结构的异同。答:分层式结构与模块式结构一样具有模块化的特征。分层式结构也要将复杂的操作系统按其功能分成若干个比较简单、相对独立的模块。为了使模块之间能够交互,
7、它也必须规定模块之间的接口。因此,分层式结构具有模块式结构的优点。分层式结构与模块式结构的主要区别在于,分层式结构中各模块之间是有序的。分层式结构将各个功能模块按它们的功能流图的调用次序安排成若干层,各层之间的模块不能像模块式结构那样通过接口毫无规则地相互依赖、互相调用,而只能是单向依赖或单向调用,即每层中的模块只能使用较低层模块提供的功能和服务。因此,分层式结构中,模块之间的组(织结构和依赖关系更加清晰,这不仅增加了系统的可读性和可适应性,同时还可使每一层建i 立在可靠的基础上,从而提高系统的可靠性。6.微内核结构具有哪些优点?答:微内核结构的优点如下:(1)提高了系统的灵活性和可扩充性。在
8、微内核结构中,操作系统的大部分功能都是由相对独立的服务器来实现的,用户可以根据需要选配其中的部分或全部服务器:还可以随着计算机硬件和操作系统技术的发展,相应地更新若干服务器或增加一些新的服务器。(2)提高了操作系统的可靠性。由于所有的服务器都是运行在用户态,它们不能直接访问硬件,因此,当某个服务器出现错误时,通常只会影响到它自己,但不会引起内核和其他服务器的损坏和崩溃。(3)适用于分布式系统。对用户进程(即客户)而言,如果他通过消息传递与服务器通信,那么他只需发送一个请求,然后等待服务器发来的响应,而根本无需知道这条消息是在本地机就地处理还是通过网络送给远地机上的服务器。1.操作系统的接口有哪
9、几种?它们分别适用于哪种情况?答:操作系统提供的接口主要有:(1)命令接口。它包括脱机命令接口和联机命令接口,其中前者适用于批处理作业用户间接地控制自己的作业,后者适用于联机用户通过终端命令直接控制自己的作业和管理系统资源。(2)程序接口。程序接口即系统调用,它适用于用户在编程时请求操作系统提供的服务,如申请和释放内存、打开和关闭文件等。(3)图形用户接口。它也适用于联机用户直接控制自己的作业,而且,它比联机命令接口显示更直观,操作更简便。2.作业的输入方式有哪儿种?各有何特点?答:作业的输入方式有 5 种:联机输入方式、脱机输入方式、直接搞合方式、SPOOLING系统和网络输入方式,各有如下
10、特点:(1)联机输入方式 z 用户和系统通过交互式会话来输入作业。(2)脱机输入方式 z 又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连?从而在较短的3时间内完成作业的输入工作。(3)直接藕合方式:把主机和外围低档机通过一个公用的大容量外存直接藕合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。(4)SPOOLING 系统:可译为外围设备同时联机操作。在 SPOOLING 系统中,多台外围设备通过通道或 DMA 器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。(5)网络输
11、入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。3.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需
12、要一个类似于硬件中断处理的中断处理机制来提供系统服务。4.高响应比优先调度算法的优点是什么?答:它具有以下的优点:(1)如果作业(进程)的等待时间相同,则要求服务时间最短的作业(进程)的优先权最高,因此它有利于短作业(进程),从而可降低作业(进程)的平均周转时间,提高系统吞吐量。(2)如果作业(进程)的要求服务时间相同,则其优先权将取决于作业到达(或进程进入就绪状态)的先后次序,因此体现了公平的原则。(3)如果作业(进程)较长,它的优先权将随着等待时间的增长而提高,从而使长作业(进程)不会长期得不到服务。1.在操作系统中为什么要引入进程概念?它会产生什么样的影响?答:在操作系统中引入进程概念,
13、是为了实现多个程序的并发执行。传统的程序不能与其他程序并发执行,:只有在为之创建进程后,才能与其他程序(进程)并发执行。这是因为并发执行的程序(即进程)是“停停走走“地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的 PCB 中,待下次被调度执行时,再从 PCB 中恢复 CPU 现场而继续执行,而传统的程序却无法满足上述要求。建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也需付出一定的代价,包括进程控制块及协调各运行的机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。2.作业、进程和程序之间的区别和联
14、系答:(1)作业、进程和程序之间的联系:一个作业通常包括程序、数据和操作说明书三部分。每一个进程由 PCB、程序和数据集合组成,这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每个进程又都有其实体一程序和数据集合。(2)进程和程序的区别进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。一个进程可以执行一个或几个程序 z 反之,同一程序可能由几个进程同时执行。程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有4生命期。进程具有并发性,能与其它进程并发运行。而程序不具备这种特征
15、。进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。注意:说进程是一个独立的运行单位,是指在不具有线程的系统中而言的,在引入线程的系统中,进程不再是运行的基本单位,只是资源分配的基本单位。3.PCB 的作用是什么?为什么说 PCB 是进程存在的惟一标志?答:进程控制块的作用,是使一个在多道程序环境下,不能独立运行的程序,成为一个能独立运行的基本单位、一个能与其他进程并发执行的进程。在创建进程时,系统将为它配置一个 PCB:在进行进程调度时,系统将根据 PCB 中的状态和优先级等信息来选择新进程,然后将老进程的现场信息保存到它
16、的 PCB 中,再根据新进程PCB 中所保存的处理机状态信息来恢复运行的现场:执行中的进程,如果需要访问文件或者需要与合作进程实现同步或通信,则也都需要访问 PCB:当进程因某种原因而暂停执行时,也必须将断点的现场信息保存到它的 PCB 中:当进程结束时,系统将回收它的 PCB。可见,在进程的整个生命周期中,系统总是通过其 PCB 对进程进行控制和管理,亦即系统是根据其 PCB而不是任何别的什么而感知到一进程的存在,所以说,PCB 是进程存在的惟一标志。1.为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?答:对终端型作业用户而言,他们提交的作业大多属于交互型作业,作业通常较小,系统只
17、要能使这些作业在一个队列所规定的时间片内完成,便可使他们都感到满意。对短批处理作业用户而言,开始时他们的作业像终端型作业一样,如果仅在第一个队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间:对于稍长的作业,通常也只需在第二队列和第三队列各执行一个时间片即可完成,其周转时间仍然很短。对长批处理作业用户而言,他们的作业将依次在第 1,2,n 个队列中运行,然后再按轮转方式邑行,用户不必担心其作业长期得不到处理; 而且每往下降一个队列,其得到的时间片将随着增加,故可进一步缩短长作业的等待时间。 3.何谓自调度方式?其主要优缺点是什么?答:自调度方式是多处理器系统中的一种处理机调度方式
18、,它在系统中设置一个公用的进程(或线程)队列,所有的处理器在空闲时,都可自己到该队列中取一进程(或线程)来执行。在自调度方式中,可采用单处理机环境下的进程调度算法(如先来先服务、最高优先权优先、抢占式最高优先权优先调度算法等)来进行进程调度。自调度算法的主要优点是:系统中公用就绪队列的组织方式以及具体的进程(或线程)调度算法都可沿用单处理机中的方式,因而容易实现:不会发生处理器忙闲不均的现象,因而有利于提高处理器的利用率。而它的缺点主要是:公用就绪队列很容易成为整个系统的瓶颈:一个线程在整个生命期中,可能要多次更换处理器,从而使处理器上的高速缓存使用率降低,并进一步降低整个系统的性能:相互合作
19、型的线程很难同时获得处理器而同时运行,这将会增加合作线程之间的阻塞频率,从而提高线程切换的频率,增加系统的开销并降低进程的运行速度。4.何谓成组调度方式?其主要优点是什么?答:成组调度方式是多处理器系统中的一种处理机调度方式,它将一组相互合作的进程或一个进程的一组线程分配到一组处理器上去同时执行。成组调度的主要优点是:如果一组相互合作的进程或线程能并行执行,则可有效地减少同步阻塞的现象,从而可以减少进程和线程的切换次数,使系统性能得到改善;另外,由于每次调度都可以解决一组进程或线程的处理器分配问题,因而可显著地减少调度频率,降低调度开销。55. 产生死锁的四个必要条件是什么?试以过河问题中产生
20、的死锁为例加以说明。答:产生死锁的必要条件如下:(1)互斥:系统中至少有一个(类)资源必须用非共享方式使用。过河问题中,每一块垫脚石任一时刻仅能为一个人占用。(2)占用并等待:一个进程至少占有一个资源并正等待得到其他资源,而这些资源已被其他进程所占用.过河问题中,相遇的两个人各自踏在一块垫脚石上,并同时等待踏上对方占用的那一块。(3)非抢占:资源不可能被抢占.在过河问题中,由于垫脚石不能强行移动,“非抢占“条件满足。(4)循环等待:存在循环等待情况。从东岸来的人等着从西岸来的人,而从西岸来的人则等着从东岸来的人。于是,大家都不能过河,每人都等待对方从其占用的垫脚石上移开脚,具备以上四个条件,死
21、锁发生.6.在哲学家就餐问题中,如果将先拿起左边的筷子的哲学家称为左撇子,而将先拿起右边的筷子的哲学家称为右撇子,请说明在同时存在左撇子和右撇子的情况下,任何就座安排都不会产空死锁。分析:这类题目的关键是必须证明产生死锁的 4 个必要条件的其中一个不可能望成立。在本题中,互斥条件、请求与保持条件、不剥夺条件是肯定成立的,因此必须证明“循环等待“条件不成立。答:对本题,死锁产生的必要条件-一“循环等待“不可能成立。如果存在所有左边的哲学家等待右边的哲学家放下筷子的循环等待链,则每个哲学家肯定已获得左边的筷子,但还没得到右边的筷子,这与存在右撇子的情况不符:同样,也不可能存在相反的循环等待链。而且
22、,系统中也不可能存在 5 个以下哲学家的循环等待链,因为,不相邻的哲学家之间不竞争资源。因此,不可能产生死锁。1.存储器管理的基本任务是为多道程序的并发执行提供良好的存储器环境。“良好的存储器环境“应包含哪几个方面?答:存储器管理的基本任务是为多道程序的并发运行提供良好的存储器环境。它包括以下内容:(1)能让每道程序“各得其所“,并在不受干扰的环境中运行号还可以使用户从存储空间的分配、保护等繁琐事务中解脱出来。(2)向用户提供更大的存储空间,使更多的作业能同时投入运行 z 或使更大的作业能在与较小的内存空间中运行。(3)为用户对信息的访问、保护、共享以及动态链接等方面提供方便。(4)能使存储器
23、有较高的利用率。2.何谓虚拟存储器?举一例说明操作系统是如何实现虚拟内存的。答:在操作系统中,通过一些硬件和软件的措施为用户提供了一个其容量比实际主存大得多的存储器,称为虚拟存储器。操作系统要实现虚拟内存,必须把主存和辅存统一管理起来,即大作业程序在执行时,有一部分地址空间在主存,另一部分在辅存,当访问的信息不在主存时,由操作系统将其调入主存并实现自动覆盖功能,使用户在编写程序时不再受主存容量的限制。例如在请求分页存储管理系统中,用户作业的所有页面并不一定都在实存,在作业运行过程中再请求调入所用的虚页。为了实现从逻辑地址空间到物理地址空间的变换,在硬件上必须提供一套地址变换机构,动态地址变换机
24、构自动地将所有的逻辑地址划分为页号和页内地址两部分,并利用页表将页号代之以块号,把块号和页内地址拼接就得到了内存的物理地6址,从而实现了虚拟存储器。3.什么叫重定位? 采用内存分区管理时,如何实现程序运行时的动态重定位? 答:所谓地址重定位,就是当一个程序装入到与其地址空间不一致的存储空间而进行的地址变换过程,即将地址空间给出的逻辑地址映射到内存的物理地址上。地址重定位有静态重定位和动态重定位两种方式。采用内存分区管理时,在硬件上设置一个“重定位寄存器“可以实现程序运行时的动态重定位。这种情况下地址重定位是在程序执行期间由地址变换机构动态实现的,主要的计算依据是:物理地址=逻辑地址+重定位寄存器的内容