版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统考研习题目录\h第1章操作系统概念与历史考研题精析\h1.1本章概览\h1.2操作系统专有名词缩写\h1.3本章主要知识点\h1.4填空题\h1.5选择题\h1.6简答题\h1.7判断题\h1.8应用题\h第2章进程与线程考研题精析\h2.1本章概览\h2.2本章主要知识点\h2.3填空题\h2.4选择题\h2.5简答题\h2.6判断题\h2.7应用题\h第3章内存与虚拟考研题精析\h3.1本章概览\h3.2本章主要知识点\h3.3填空题\h3.4选择题\h3.5简答题\h3.6判断题\h3.7应用题\h第4章输入与输出考研题精析\h4.1本章概览\h4.2本章主要知识点\h4.3填空题\h4.4选择题\h4.5简答题\h4.6判断题\h4.7应用题\h第5章文件系统考研题精析\h5.1本章概览\h5.2本章主要知识点\h5.3填空题\h5.4选择题\h5.5简答题\h5.6判断题\h5.7应用题\h第6章全国硕士研究生入学统一考试操作系统部分真题解析第1章操作系统概念与历史考研题精析对于任何一个学习操作系统的人来说,理解概念将为理解操作系统的各个关键组件提供基础,明白历史将为把握操作系统提供指导框架。本章习题涉及操作系统概念与历史。1.1本章概览本章的习题包括如下几个方面:·作为计算机的内核态控制系统,操作系统在计算机运行过程中扮演什么角色?·历史上的著名操作系统类型有哪些?·操作系统有一些什么基本概念?·我们应该如何看待操作系统?·操作系统是如何参与到程序的执行过程中来的?操作系统在计算机运行过程中扮演着双重角色:魔幻师和管理者。“魔幻师”将丑陋变得美好,将没有变为有,将少变为多;而“管理者”则对所有计算机资源进行管理,以达到公平和高效。对操作系统这两个角色的理解将非常有助于对进程与线程、内存与虚拟、输入与输出、文件系统等的掌握。本章讨论的其他操作系统概念包括:内核态和用户态、中断、壳、特权指令、操作系统接口、系统调用、单道程序设计、多道程序设计、分时系统、实时系统等。1.2操作系统专有名词缩写Cache:缓存CAW:ChannelAddressWord,通道地址字CPU:CentralProcessUnit,中央处理器CSW:ChannelStatusWord,通道状态字DMA:DirectMemoryAccess,直接内存访问IDT:InterruptDispatchTable,中断分配表I/O:Input/Output,输入/输出LFS:Log-structuredFileSystems,日志结构的文件系统PSW:ProgramStatusWord,程序状态字RPM:RoundsPerMinute,(磁盘)每分钟旋转圈数SDT:SystemDeviceTable,系统设备表TLB:TranslationLookasideBuffer,转换后援缓冲器,快表1.3本章主要知识点操作系统的根本属性直白地说,操作系统在“丑陋”的硬件上构造出漂亮、好用的虚拟机器。通过这个漂亮、易用的界面,人类对计算机的使用达到了空前的境界。操作系统的主要构件从操作系统的内部分工和特点来看,操作系统由处理器管理、内存空间管理、外存空间管理、外部设备管理几个部分组成。这几个部分的学名分别称为进程/线程、虚拟存储、文件系统和输入/输出。网络、数据库、安全等(初始为操作系统的构件)随着网络和数据库的发展逐渐脱离操作系统而成为独立的学科,不再在操作系统中进行讨论。内核态和用户态内核态和用户态是操作系统的一种发明,用来将用户程序和操作系统进行隔离,防止用户程序错误导致操作系统崩溃。内核态是所谓的特权态,有的书称之为管态,在这种态势下执行的程序可以访问计算机的所有资源;用户态当然就是非特权态,有的书称之为目态,在这种态势下执行的程序不能随意访问计算机的资源。态势的识别以处理器的一个状态位为准。操作系统通常运行在内核态下,而用户程序通常运行在用户态下。不过,在微内核系统中,操作系统也有一部分甚至大部分代码运行在用户态下。操作系统结构操作系统主要有大内核、中内核和微内核三种结构。大内核结构下,操作系统全部运行在内核态下,整个操作系统内部的相互调用复杂。微内核结构下,操作系统的核心部分(中断、进程/线程调度、地址翻译等)运行在内核态下,其他部分(如内存管理的其他部分、文件系统等)运行在用户态下,整个操作系统不同功能之间层次分明,等级森严、下级向上级提供服务。中内核结构下,操作系统运行在内核态下的部分比微内核的多,比大内核的少,整个操作系统的功能仍然呈层次分明的结构。操作系统接口操作系统提供给外界两个接口:给终端用户的命令行接口或者壳,给程序调用的系统调用接口或者程序接口。在命令行接口下,用户直接输入要运行的程序名来启动程序,或者运行工具软件来获得操作系统的某些服务(如查询电脑时间)。在程序接口下,程序通过调用操作系统提供的API来使用操作系统服务(如读写磁盘文件)。使用操作系统API的编程称为系统编程或者系统级编程,而开发操作系统的编程称为系统级开发。多道程序设计多道程序设计就是在计算机里面同时运行多个程序。这里的同时并不是指微观上的同时刻执行,而是宏观上的同一段时间内并发。由于程序使用输入/输出的时候不使用CPU,我们可以在一个程序输入/输出的时候,让另一个程序在CPU上执行,从而达到多道并发。多道并发的前提是计算机有能够同时运行的硬件组件。操作系统的分类根据操作系统能力的强弱和其提供抽象的程度来看,操作系统一般分为库函数操作系统、批处理操作系统、多道批处理操作系统、分时操作系统、实时操作系统(或工作控制系统)和多媒体操作系统。如果从操作系统运行的平台范围来看,操作系统又可以分为嵌入式操作系统、个人操作系统、小型机操作系统、主机操作系统、工作站操作系统、超级操作系统、分布式操作系统和网络操作系统等。当然,存在其他不同的分类,但不是主流分类。历史上的重要操作系统历史上的重要操作系统包括批处理操作系统UMES、分时先驱Multics、网络旗舰UNIX、稳定性奇好的VMS、饱受诟病的Windows、企业级服务器操作系统AIX、20世纪末的Linux、别出心裁的MacOS,以及IBM的各种主机操作系统OS/360、390和ZM等。下面我们分填空题、选择题、简答题、判断题和应用题5个部分来解析操作系统概念与历史部分的考研试题。1.4填空题1.在操作系统中,不可中断执行的操作称为____。答:原语操作。原语操作的英文名称为AtomicOperation,有时也称为原子操作。原子在很长时间内被人类认为是不可分割的最小粒子,因此它引申的意思为不可分割或不可中断。原语操作是操作系统提供并发的基础。2.UNIX操作系统在结构上分为两个部分:____和____。答:外壳(Shell)、内核(Kernel)。操作系统的实体通常称为内核,它包括操作系统的所有功能构件,如进程管理、内存管理、文件系统等。这些功能构件并不能直接被一般用户使用。为了方便用户使用操作系统,操作系统设计者还为操作系统覆盖了一层外壳,用户通过外壳与操作系统打交道。这个壳可以看成是操作系统的用户界面。3.特权指令能在____下执行,而不能在____下执行。答:内核态(KernelMode)、用户态(UserMode)。顾名思义,特权指令具有特权,这个特权就是对计算机资源的访问权力。与此相对的是非特权指令,此种指令不能随意访问计算机的资源。操作系统为了实现特权和非特权指令而设计了内核态和用户态。凡是在内核态下执行的指令都是特权指令,在用户态下执行的指令都是非特权指令。4.操作系统向用户提供了两类接口:一类是____,另一类是____。答:命令级接口(CommandInterface)、程序级接口(ProgrammingInterface)。对操作系统的使用有两种方式:直接向操作系统发出命令;编程序调用操作系统服务。前一种接口是所谓的命令接口,通过操作系统的壳实现;后一种接口是程序接口,通过操作系统调用(SystemCall)和程序语言库函数实现。5.分时系统中____是衡量分时系统性能的一项重要指标。答:响应时间(ResponseTime)。响应时间指的是在提交任务后,等待系统做出回应的时间。在分时系统下,多个用户分时共享同一个系统。每个用户在用完自己的分时时间段后需要等待别的用户用完它们的分时时间段,这个等待就是用户对系统的最直观感受,等待时间越长,用户感受越差。6.操作系统的主要功能是____和____。答:管理(Management)、魔幻(Illusion)。管理指的是管理计算机的软硬件资源,如CPU、内存、磁盘、各种表格和数据结构、软件原语等,以保证这些资源在不同用户或程序之间合理分配和使用。魔幻指的是将少变多,难变易,丑变美,如将单CPU通过进程模型虚拟成多个CPU,将有限内存通过虚存变为容量巨大的逻辑内存。7.在现代操作系统中,资源分配的单位是____,而处理机调度的单位是____。答:进程(Process)、线程(Thread)。在操作系统早期,调度单位和资源分配单位均是进程。随着操作系统的发展,线程作为进程中的一个指令执行序列而成为调度的单位。在线程模型下,进程并不运行,系统执行的是线程。8.在操作系统中,一种用空间换取时间的资源转换技术是____。答:缓冲技术(Buffering)。通过提供缓冲区(Buffer),可以让速度慢的设备与速度快的设备进行沟通与协作。9.为实现CPU与外部设备的并行工作,系统引入了____硬件机制。答:中断(Interrupt)。在中断机制下,CPU在发出IO命令后即继续执行别的任务。外部设备在完成IO后便通过中断告诉CPU,CPU通过响应中断来处理外部设备的中断请求。10.中断优先级是由硬件规定的,若要调整中断的响应次序可通过____。答:软件实现。如果硬件结构中的中断控制器只输出一个中断请求而屏蔽其他所有中断请求,则软件无法调整中断响应次序。如果没有中断控制器,而是让所有设备将中断直接发送到CPU,则可以通过在软件中映射硬件的中断优先级来改变响应次序。11.多道程序设计的特点是多道、____和____。答:宏观上并行、微观上串行。多道程序设计的动机是通过并发来提高CPU利用率。这种并发是宏观上的并发,即经过一段时间后,所有的程序都在往前推进。在微观上,同一个时刻只有一个程序可以运行。在今天的多核时代,微观上也可以并发:同时运行多个程序。12.在一台主机上同时连接多台终端,多个用户可以通过终端同时交互使用计算机资源,这种系统称为____;允许多个用户将多个作业提交给计算机集中处理的操作系统称为____;能及时处理过程控制数据并作出响应的操作系统称为____。答:分时系统、批处理系统、实时系统(注意,这道题的第3问不够精确)。分时系统将CPU时间在多个用户之间进行轮流分享;批处理系统将所有用户的工作按照某种次序(称为批处理次序)逐个处理;实时系统在规定的时间内完成给定任务。1.5选择题1.()不是实现分时系统必须采用的技术。A.时钟中断B.人机交互C.多道程序设计D.虚拟内存管理答:D。虚拟内存管理用来将物理内存扩充到外存上,但不是分时所必需的技术。而时钟中断是程序切换的基本技术,因而是分时的基础;多道程序设计是分时的前提技术;人机交互是分时系统的实现技术/手段。2.()可以在目态下执行。A.保护中断现场B.主机与磁盘控制系统以DMA方式交换数据C.启动外设D.解除中断屏蔽位答:B。目态就是用户态(与之对应的是管态,即内核态)。DMA是直接内存访问(DirectMemoryAccess)。除主机与磁盘控制系统以DMA方式交换数据外,保护中断现场、启动外设、解除中断屏蔽位都需要直接操作硬件资源,因而必须在内核态实现。3.实时操作系统必须在()内完成来自外部的事件。A.响应时间B.周转时间C.规定时间D.调度时间答:C。实时系统指的是必须在规定时间完成任务的系统,而不是指响应时间很快的系统。当然,一般情况下,实时系统的响应时间都比较短。4.批处理操作系统的目的是()。A.提高系统与用户的交互性B.提高系统资源的利用率C.降低用户作业的周转时间D.提高系统的吞吐率E.减少用户作业的等待时间答:C、D。批处理环境下,用户将编好的程序交给系统管理员去运行,过一些时间再来取结果。系统管理员通过将多个用户的程序连续执行从而提高系统的吞吐率。而在这个基础上,应该尽量降低用户作业的周转时间。5.当CPU执行操作系统代码时,称CPU处于()。A.执行态B.用户态C.内核态D.就绪态答:C。操作系统掌控计算机的全部资源,其指令为特权指令。而特权指令只能在内核态执行。当执行操作系统代码时,CPU必须处于内核态。6.操作系统提供给程序员的接口是()。A.进程B.系统调用C.库函数D.B和C答:B。程序员通过调用操作系统提供的系统调用函数来使用操作系统提供的服务。这里需要注意的是,虽然大部分程序通过库函数使用操作系统服务,但库函数是由程序设计语言提供的,它不是操作系统提供的接口。7.在下列性质中,()不是分时系统的特征。A.多路性B.交互性C.独占性D.成批性答:D。成批性是批处理系统的特征,其他都是分时系统的特性。这里需要注意的是分时系统的独占性特征。这里的独占不是一个用户独享一个系统,而是系统提供给用户的一种独占的感觉,用时髦的话来说,就是虚拟现实。8.当()时,进程从执行状态转变为就绪状态。A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生答:B。当一个进程的时间片用完时,该进程的CPU控制权将被剥夺。但由于其执行所需的其他资源均处于就绪状态,该进程就从执行状态改变为就绪状态。9.配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的计算机只是一台逻辑上的计算机,称为()计算机。A.并行B.真实C.虚拟D.共享答:C。操作系统的两大功能之一是魔幻,就是提供一个比实际计算机更好的计算机。由于这台看上去和用上去更好的计算机并不是真实的实体,因此被称为虚拟机。10.一个计算机系统可以认为由以下四个层次构成,而我们所说的裸机是指()。A.硬件层B.操作系统层C.语言处理程序层D.应用程序层答:A。裸机是没有加任何修饰的计算机,就是纯粹的硬件。11.在一个计算机系统中,特权指令()下执行。A.只能在内核态B.只能在用户态C.可在内核态,也可在用户态D.不能在内核态,也不能在用户态答:A。特权指令可以访问计算机的所有资源,它不能由用户控制,即不能在用户态执行,而只能在内核态执行。12.采用缓冲技术的主要目的是()。A.改善用户编程环境B.提高CPU的处理速度C.提高CPU和设备之间的并行程度D.实现与设备无关性答:C。缓冲技术解决的是两个互相协作的设备之间速度差异的协调问题。如果没有缓冲,则较高速度的设备需要暂停来等待速度较低的设备。有了缓冲,这种等待就可以降低或消除。13.分时操作系统需要使用下面的()成分。A.多道设计技术B.终端命令解释程序C.中断处理D.优先级调度答:A、C。分时操作系统在多个用户之间分配CPU时间,因此将用到多道设计技术,而在各个用户之间进行切换需要使用中断技术。其他两种技术并不是分时所必需的。14.下列选择中,()不是操作系统关心的主要问题。A.管理计算机裸机B.设计提供用户与计算机硬件系统间的接口C.管理计算机系统资源D.高级程序设计语言的编译器答:D。操作系统的主要功能是管理与魔幻。管理就是管理计算机裸机和系统资源,魔幻就是给用户提供一个使用硬件的界面。而编译器不属于这两种功能里面的任何一种,因此不是操作系统关心的问题。15.从用户角度看,操作系统是()。A.计算机资源的管理者B.计算机工作流程的组织者C.用户与计算机之间的接口D.由按层次结构组成的软件模块的集合答:A、C。操作系统是计算机资源的管理者,同时它提供用户与计算机之间的接口。另外两个选择可能也有一丝合理性,但用户并不能感觉到。(注意:此题题意不够精确。)16.引入多道程序技术的前提条件之一是系统具有()。A.多个CPUB.多个终端C.中断功能D.分时功能答:C中断是操作系统获得CPU控制权,从而进行分时的前提。17.在用户程序中要将一个字符送到显示器上显示,需要使用操作系统提供的()接口。A.系统调用B.函数C.原语D.子程序答:A。程序使用操作系统服务的唯一方式是操作系统提供的系统调用。18.用户程序向系统提出使用外设的请求方式是()。A.作业申请B.原语C.系统调用D.I/O指令答:C、D。在现代操作系统中,用户(通常)通过系统调用来请求使用外设。在传统的操作系统下,用户程序(通常)直接使用I/O指令来请求外设。19.在下列语言中,属于脱机作业控制语言的是()。A.作业控制语言B.汇编语言C.会话式程序设计语言D.解释BASIC语言答:A。脱机控制语言指的是无需在线的控制语言。除了A之外,其他选项均需要在线。20.在请求分页存储管理方案中,如果所需的页面不在内存中,则产生缺页中断,它属于()。A.硬件故障中断B.I/O中断C.外部设备中断D.程序中断答:D。缺页中断属于程序执行过程中的中断,与硬件故障、I/O、外设中断无关。21.多道程序设计是指()。A.在实时系统中并发运行多个程序B.在分布系统中同一时刻运行多个程序C.在一台处理机上同一时刻运行多个程序D.在一台处理机上并发运行多个程序答:D。多道程序设计在同一时间段实现并发。这里需要注意并发与并行的区别。并发是宏观上同时发生,微观上串行;并行指的是微观上同时发生。22.能影响中断响应次序的技术是()。A.时间片B.中断C.中断优先级D.中断屏蔽E.特权指令答:C、D。中断屏蔽是根据需要屏蔽掉某些中断请求,中断优先级则规定了中断响应的次序,这两种技术均能影响中断响应次序。而其他选项均不能影响这个次序。23.()功能/软件不能在用户态实现。A.编译器B.系统诊断程序C.链接器/加载器D.文件系统管理答:B。判断一种功能是否能够在用户态实现,主要看该功能是否必须直接访问硬件资源。如果是,则不能在用户态实现。系统诊断程序需要访问所有的系统资源而不能在用户态实现。24.以下各功能中,()不需要硬件的支持。A.中断系统B.地址映射C.进程调度D.时钟管理E.页面调入F.文件打开答:C、E、F。中断系统、地址映射因其为操作系统的关键操作而由硬件提供支持以提升操作系统效率,时钟管理需要中断计数器的支持。其他功能均不需要硬件支持。25.下列作业类型中,适合在分时系统中运行的有()。A.学习编程B.数据统计C.发送电子邮件D.整理硬盘答:A、C。学习编程和发送电子邮件因为交互性要求高,适合在分时系统中运行。整理硬盘因为无需高交互性,适合在批处理系统中运行。不过这道题的B选项有些歧义,如果这种数据统计需要长时间运行的话,则适合在批处理系统中运行,否则就适合在分时系统中运行。1.6简答题1.从程序调用关系上简要讨论用户程序和操作系统之间的关系。答:从一个方面看,操作系统是主程序,它调用用户程序来实现用户所需要的功能;从另一个方面看,用户程序是主程序,它调用操作系统服务来完成它所从事的使命。2.什么是微内核?答:微内核(Microkernel)就是很小的内核。它指的是必须在特权态下运行的指令尽可能少的操作系统的内核。微内核结构由美国卡内基梅隆大学所提出,其设计目标是使操作系统的内核尽可能小以提高操作可靠性(代码越少越容易做到可靠)和灵活性(运行在用户态的操作系统功能可以更加灵活)。在微内核组织下,所有操作系统服务都放在核外用户态完成。微内核仅提供以下四种内核态操作系统服务:进程间通信、某些存储管理、进程调度和派遣、低级I/O。与微内核对应的操作系统内核组织形式是强内核(MonolithicKernel)。此外,现代的商业操作系统采取的内核组织方式是介于强内核和微内核之间的一种中间结构。3.什么是系统调用?答:系统调用是在程序中能用类似函数调用方式调用的操作系统服务的集合。每一种操作系统服务占用一条系统调用命令(或函数)。系统调用是操作系统给用户提供的程序级接口。如果一个用户需要在程序中使用操作系统的服务,则只能通过系统调用。系统调用与一般过程调用的主要区别是运行的状态不同。系统调用全部运行在内核态,而一般过程调用运行在用户态。此外,系统调用需要经过陷入,而一般的函数调用是直接跳转。4.什么是特权指令?答:人们把只允许在内核态下使用而不允许在用户态下使用的指令称为特权指令。特权指令的特权指的是可以访问计算机所有资源的特权。凡是需要对硬件进行操作的指令均属于特权指令。5.什么是多道程序设计?答:多道程序设计是指在主存中同时存放多个程序,它们都处于执行的开始点和结束点之间。这些程序轮流或以其他方式共享CPU。多道程序设计的根本目的是提高CPU利用率,其体现的结果是并发。6.试述分时系统与实时系统的异同。答:分时系统指的是在一台计算机上连接多个终端,每个用户轮流使用计算机的CPU。从计算机的角度看,它将CPU的执行时间分片给所有的用户,也就是分时。实时系统指的是具有时序可预测性的系统。在实时系统下,所有任务必须在规定的时间内完成。7.简述命令接口与程序接口的区别与联系。答:命令接口提供的是给终端用户使用操作系统服务的接口,它的表现形式是一个交互式命令行或图形界面(操作系统的壳)。用户在界面上直接输入操作系统命令来使用操作系统服务。程序接口提供的是给程序员使用操作系统服务的接口,它的表现形式是一组操作系统调用(函数),程序以(库)函数调用的方式使用操作系统服务。8.操作系统在计算机系统中处于何种地位?操作系统的作用是什么?答:操作系统在计算机系统中处于硬件层之上,应用软件层之下。它是计算机的掌控者,在粗糙的硬件基础上变换出一个漂亮的虚拟的计算机。其根本作用是管理和魔幻。9.叙述中断机制在操作系统中的地位和作用。答:中断机制是操作系统正常运作的基础。操作系统通过中断机制来获得CPU控制权。没有中断机制,操作系统就将和其他用户程序一样,无法对计算机资源进行管理和抽象。10.实现多道程序设计要解决哪些问题?答:为了实现多道程序设计,必须解决两个问题:存储和调度。存储指的是如何在计算机上存储这些程序,它涉及的附加功能包括存储保护和地址重定位。调度指的是如何安排这些程序在处理器上执行,它涉及的附加功能包括资源的管理和调度。11.什么是内核态与用户态?为什么需要区别出二态?系统如何区分出二态?答:内核态是计算机的特权态,用来执行操作系统指令。用户态是非特权态,用来执行用户程序指令。设置二态的根本动机是保护计算机资源的合理分配与使用,防止用户程序干扰操作系统执行,提高计算机的可靠性。二态的区分由处理器的一个态势状态位决定。12.一般从哪些方面对操作系统进行评价?答:一个操作系统由其提供的抽象和其所赖以运行的硬件所框定。其运行的硬件平台决定了一个操作系统能够在何种机器上运行,也就是适应性;其提供的虚拟机抽象决定了操作系统的功能,也就是功用性。具体的评价指标还包括如下几个方面:(1)系统效率:操作系统执行任务的能力,通常以其运行标准测试集所需要的时间来衡量。(2)响应时间:交互式体验的好坏,以用户提交任务到操作系统做出反应的时间来衡量。(3)可靠性:正确执行任务的能力,通常以其运行标准测试集所输出结果的正确性来衡量。(4)健壮性:操作系统容忍错误操作和输入的能力,以错误输入下操作系统不崩溃来衡量。(5)易用性:用户掌握使用操作系统所需要的学习过程的长短。这个时间越短,操作系统的易用性越好。13.什么叫响应时间?影响分时系统响应时间的因素有哪些?答:响应时间是指从终端发出命令到系统予以应答所需的时间。影响分时系统响应时间的几个因素是:用户数目、时间片大小、信息交换速度和信息交换量。14.什么是操作系统?它有什么基本特征?答:操作系统是计算机中的资源管理者和硬件扩展的魔幻师。其基本特征是管理和魔幻。管理指的是对计算机的所有软硬件资源进行合理分配、监控、回收,以使得计算机中的进程和线程能够往前推进。魔幻指的是将计算机抽象成比实际情况更多、更好、更容易使用的虚拟机,以使得用户能够使用本来难以使用的计算机。15.说明操作系统与硬件、其他系统软件以及用户之间的关系。答:操作系统运行在硬件之上,为其他系统软件和用户提供服务。16.实现多道程序系统的最主要硬件支持是什么?答:实现多道程序系统的最主要硬件支持是能够并行运行的设备(如CPU和输入/输出设备)和中断机制。17.系统调用的作用是什么?请给出实现系统调用的步骤。答:系统调用提供给程序一个操作系统接口,用户程序通过系统调用来使用操作系统的服务。系统调用分为三个阶段,分别是参数准备阶段、系统调用识别阶段、系统调用执行阶段。在参数准备阶段,需要使用系统服务的程序将系统调用所需要的参数压到栈上。然后,用户程序调用库函数(操作系统调用的程序语言包装)将所需系统调用的代码放在一个约定好的寄存器里,通过陷入(Trap,一种中断方式)将控制权交给操作系统,由此进入到第二个阶段。操作系统获得控制权后,将系统调用代码从特定寄存器里取出,与操作系统维护的一张系统调用表进行比较,获得用户所需系统调用的程序体所在的内存地址。之后跳到该地址,进入到第三个阶段,执行系统调用函数。系统调用执行完毕后返回到用户程序。18.什么叫“可再入”程序?它有什么特征?答:可再入程序是能够被多个进程共享的程序代码段,又称为可再入码。可再入程序必须是纯代码的,在执行中不变化。一般来说,一个可再入程序要求调用者提供工作区,所有的变化均在工作区发生,以保证程序以同样的方式为不同用户提供服务。19.什么是记录的成组和分解?答:成组是指把若干逻辑记录合并成一组,存入一个物理块的工作;而分解就是从一个物理块中把单个的逻辑记录分离出来的工作。20.何为纯代码?答:纯代码就是不包括数据的代码。纯代码通常就是可再入码,是指进程执行时不可修改的、为多个进程所共享的那部分程序代码。1.7判断题1.特权指令只能在内核态下执行,而不能在用户态下执行。答:正确。特权指令可以访问计算机的所有资源,它的执行只能在内核态下。2.应用软件是加在裸机上的第一层软件。答:错误。一般认为操作系统是加在逻辑上的第一层软件。但是严格地说,微编码才是加在逻辑上的第一层软件。而应用软件则是运行在操作系统所抽象出来的虚拟机上的。3.分布式操作系统和网络操作系统没有本质区别。答:错误。从表面上看,分布式操作系统和网络操作系统通常都涉及多台计算机,能够提供多台计算机之间的通信和协作,两者似乎是一回事。但从本质上看,分布式操作系统和网络操作系统其实存在重大区别:网络操作系统是在现有操作系统上面覆盖的额外一层提供通信功能的软件,它需要每台机器上的本地操作系统的支持才能顺利运行;而分布式操作系统则是从一开始就以网络计算为目标的本地与分布合二为一的操作系统,其网络功能和传统的操作系统功能融为一体。对于分布式操作系统来说,不同计算机必须安装同样的操作系统才能通信;对于网络操作系统来说,不同计算机上的本地操作系统可以不同。4.操作系统本质上也需要时空开销,怎样解释这些开销是值得的。答:操作系统作为一个软件系统,其运行当然需要时空开销,但这些开销存在的目的是为用户服务。在大部分时候,操作系统执行的是用户的请求,这个时候操作系统的开销实际上是用户的开销。在另外一些时候,操作系统自身会做一些清理工作,这些工作虽然不是用户的直接开销,但却是为用户提供服务所需要的。这些开销是用来管理计算机以方便用户使用的。只要操作系统自身的开销相对于其为用户提供的服务来说比较有限,这种开销就是值得的。5.所谓多道程序设计,即指每一时刻有若干个进程在执行。答:错误。多道程序设计是指有多个程序同时存在于计算机主存中,并且在宏观上同时推进。这种宏观上的同时推进并不是指同一个时刻(微观上)可以同时执行多个进程。不过,如果这种执行包括输入输出,则该陈述正确。6.采用多道程序设计的系统中,系统的程序道数越多,系统效率越高。答:错误。一般来说,随着程序道数增多,系统效率会增加。但道数多到一定程度时,系统效率将不再增加。因为这个时候不同程序之间的切换所耗费的成本变得非常高,超过了效率递增的临界点,即切换所费时间与运行程序的实际时间达到了平衡。7.由于采用了分时技术,用户可以独占计算机的资源。答:错误。分时技术让用户感觉他在独占计算机资源,但他并不是真正独占。8.多道程序设计是利用了CPU和通道的并行工作来提高系统利用率的。答:正确。因为CPU和通道可以并行工作,可以容许多个程序同时在CPU或通道上执行。9.多道程序设计可以缩短系统中作业的执行时间。答:错误。多道程序设计不能缩短单个作业的执行时间,但可以缩短一组作业的总体执行时间。10.在一个兼顾分时操作系统和批处理系统的系统中,通常把终端作业称为前台作业,而把批处理型作业称为后台作业。答:正确。这纯粹是对作业的一种称呼,并没有什么道理在里面。11.批处理系统不允许用户随时干预自己程序的运行。答:一般来说,用户不能干预传统的批处理系统,因为用户是将编好的程序交给系统管理员来运行的,自己并不能见到计算机,因此无法干预。但在现代操作系统下,用户在自己的电脑上执行批处理任务,可以通过键入中断键来中止后台运行的批处理程序。12.Windows操作系统完全继承了分时系统的特点。答:这道题不甚合理。这要看是哪个版本的Windows了。对于Windows98以前的Windows,根本不具有分时功能,而对于WindowsNT以后的版本,则具有很强的分时功能。不过,Windows的分时和传统的分时有所不同:它分时但不轮转。13.单用户系统中,任何时刻只能有一个用户进程。答:错误。一个用户可以同时启动多个进程。14.Linux是与UNIX兼容的操作系统,它不仅仅是只能运行在PC机上。答:错误。Linux是从UNIX演化而来的,它也确实可以运行在多种计算机硬件平台上,但Linux并不完全兼容UNIX操作系统:UNIX上的系统程序一般不能直接运行在Linux上。15.并发是并行的不同表述,其原理相同。答:错误。并发指的是宏观上的同时发生,而并行指的是微观上的同时发生。它们的原理虽然相似,但并不相同。在单CPU下,多道程序设计是并发,而不是并行。16.并行性和并发性是两个不同的概念。答:正确。并行指同一时刻运行多个程序(微观上同时运行),并发指同一时间段运行多个程序(宏观上同时运行)。17.在单处理机系统中实现并发技术后,判断以下说法是否正确:(1)各进程在某一时刻并行运行,CPU与外设间并行工作。(2)各进程在一个时间段内并行运行,CPU与外设间串行工作。(3)各进程在一个时间段内并行运行,CPU与外设间并行工作。答:(1)错误。在单处理机系统中的并发是宏观上的同时,而不是微观上的并行。但该陈述的后半句正确。(2)错误。该陈述的前半句正确,但后半句错误。因为CPU与外设之间在实现并发后可以同时(并行)工作。(3)完全正确。18.系统调用与用户程序之间的调用的不同之处是处理机状态的改变。答:正确。但除了这点不同外,系统调用和用户程序之间的调用还存在许多不同点。请参看本章关于系统调用的简答题部分。19.命令解释程序是操作系统的一个程序,它必须在内核态下运行。答:错误。命令解释程序是操作系统的外壳,它不属于内核,无需在内核态下运行。20.三个用户在同一系统上同时对他们的C语言源程序进行编译,此时系统应分别为各用户创建一个C编译进程及保留一份C编译程序副本。答:错误。如果三个用户运行同一个程序(编译程序),则系统将创建3个进程,但这3个进程共享C编译程序的1个副本,而不是3个副本。21.一个作业由若干个作业步组成,在多道程序设计的系统中这些作业不可以并发执行。答:错误。在多道程序设计的系统中,作业之间可以并发执行,但一个作业的作业步骤则需要按次序顺序执行,一般不能并发执行。22.作业的联机控制方式适用于终端作业。答:正确。终端作业指的是交互式作业,当然需要联机。1.8应用题1.在操作系统中引入并发可以提高系统效率。若有两个程序A和B,A程序执行时所做的工作按次序需要用CPU10s,设备一5s,CPU5s,设备二10s,CPU10s;程序B执行时所做的工作按次序需要用设备一10s,CPU10s,设备二5s,CPU5s,设备二10s。请计算:(1)如果在顺序环境下执行两个程序,则CPU的利用率为多少?(2)如果在并发环境下执行两个程序,则CPU的利用率又为多少?答:(1)在顺序执行环境下,A、B两个程序依次从头到尾执行,A的执行时间为10+5+5+10+10=40s,B的执行时间为10+10+5+5+10=40s,A、B两个程序的总执行为40+40=80s,而其中CPU占用时间为35s,因此CPU利用率为35/80=43.75%(这里忽略程序切换时间)。(2)如果在并发环境下运行,则程序A使用CPU时,程序B可以使用设备来进行输入输出,而程序A使用设备时,B可以使用CPU。如果A、B同时加载到系统,则运行情况如下:1)前10s:A使用CPU,B使用设备。2)接下来5s:A使用设备,B使用CPU。3)接下来5s:A等待,B使用CPU。4)接下来5s:A使用CPU,B使用设备。5)接下来5s:A使用设备,B使用CPU。6)接下来5s:A、B均使用设备。7)接下来5s:A使用CPU,B使用设备,并在此时间段结束运行。8)接下来5s:A使用CPU。这样A、B总计在系统中的逗留时间为45s,即总执行时间为45s。其中CPU被使用的时间为40s,CPU利用率为40/45=88.89%。由此可见,并发后CPU利用率大为增加。2.若程序A和程序B单独执行时分别用时TA和TB,且TA=1h,TB=1.5h,其中处理器工作时间分别为TA=18min,TB=27min。如果采用多道程序设计方法,让A,B并发工作,假定处理器利用率达到50%,另加15min系统开销,请问系统效率提高百分之几?答:在单独执行时,处理器的利用率为(18+27)/(60+90)=30%。如果并发后处理器利用率达到50%,则系统整体运行的时间为(18+27)/0.5=90min。这其中有15min的系统开销,剩下75min用来执行程序,这比原来的150min减少了75min,即系统效率提高50%。第2章进程与线程考研题精析2.1本章概览进程是操作系统中最重要的概念之一。在操作系统中,进程是最基本的并发执行单位,并且是资源分配和调度的基本单位。了解进程,理解进程之间的互斥、同步,才能真正深入了解操作系统的工作原理。本章讨论的习题包括如下几个方面:·进程的概念、基本特征、组成结构,进程与程序的区别与联系,进程的状态及其相互转换的条件及过程,进程间的通信方式,线程的定义及其和进程的区别与联系。·进程调度的基本概念、时机、切换过程和各种调度算法。·进程同步相关的概念,实现同步与互斥的机制,信号量和PV操作,管程的基本组成结构和运行过程,用PV操作实现经典同步问题。·死锁的基本概念,死锁产生的四个必要条件,预防、避免、检测和解除死锁的原理与方法。2.2本章主要知识点什么叫进程?为什么要引入“进程”这一概念?进程是程序的一次执行,该程序可与其他程序并发执行。为了提高系统资源的利用率,出现了多道程序设计技术,但多道程序的并发执行和资源共享带来了新的问题,破坏了程序的封闭性和可再现性,程序和机器执行程序的活动不再一一对应,并发程序之间有可能存在相互制约关系。并发程序的独立性、并发性、动态性和相互制约反映了并发程序的本质,而程序的概念已不能反映程序并发执行的实质,因此,人们引入了进程的概念来描述并发程序的执行过程。进程与程序进程由程序、数据和PCB三部分构成。程序是进程的实体。进程与程序的主要区别有:(1)进程是程序的一次执行,属于一种动态的概念;而程序是一组有序的指令,是一种静态的概念。但是进程离开了程序也就失去了存在的意义。因此,进程是程序执行的动态过程,而程序是进程运行的静态文本。(2)程序可以作为一种软件资料长期保存,而进程是程序的一次执行过程,是暂时的。进程具有生命期,它由创建而产生,由调度而运行,因得不到资源而阻塞,因撤销而死亡。(3)一个进程可以执行一个或几个程序;反之,同一个程序也可能由多个进程同时执行。(4)进程具有并发性,它能与其他进程并发运行;而一般的程序不具有这种明显的特性。(5)在没有线程的情况下,进程是一个独立的运行单位,也是系统进行资源分配和调度的基本单位。因此,进程具有独立性,但并发的进程之间还具有相互制约性。进程状态进程在其存在过程中,由于各进程并发执行及相互制约,使得它们的状态不断发生变化。一般来说进程主要有三种基本状态,分别是:就绪状态、运行状态和阻塞状态。线程(Thread)从操作系统管理角度看线程是指“进程的一个可调度实体”,是处理机调度的基本单位:从编程逻辑看线程是指“程序内部的一个单一的顺序控制流”。线程是进程的一个组成部分。进程与线程所谓线程,从操作系统的管理角度看,就是指“进程的一个可调度实体”,是处理机调度的基本单位;从编程逻辑角度看,线程是指“程序内部的一个单一的顺序控制流”。线程是进程的一个组成部分,每个进程在创建时通常只有一个线程,由这个线程再创建其他线程。通常一个进程都有若干个线程,至少会有一个线程。进程和线程是构造操作系统的两个基本元素,两者之间的主要区别是:(1)调度方面:线程作为调度分派的基本单位。(2)并发性方面:进程之间可以并发执行。(3)拥有资源方面:进程是拥有资源的基本单位,线程除少量必不可少的资源外,基本上不拥有资源,但它可以访问其隶属进程的资源。(4)系统开销:进程间切换时要涉及进程环境的切换,开销比较大。而线程间的切换只需保存和设置少量的寄存器内容。因此进程间切换的系统开销远大于线程间切换的系统开销。地址再定位所谓地址再定位,就是当一个程序装入到与其地址空间不一致的存储空间而进行的地址变换过程,即将地址空间给出的逻辑地址映射到内存的物理地址。地址重定位有静态重定位和动态重定位两种方式。作业与进程作业与进程之间的区别和联系是:(1)作业是用户向计算机提交任务的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。(2)一个作业可以由多个进程组成,且必须至少由一个进程组成。(3)作业的概念主要用在批处理系统中,而进程的概念则用在所有的多道系统中。作业调度与进程调度作业调度属于高级调度,而进程调度属于低级调度。作业调度是根据系统内资源的使用情况,从后备作业队列中选择一道作业进入系统,并创建相应的进程,分配必要的系统资源,使其处于“就绪”状态。进程调度是根据CPU的使用情况及时地把CPU分配给一个“就绪”的进程,使其从“就绪”状态变为“运行”状态。周转时间所谓周转时间,是指作业从进入到处理完成所经历的时间。临界区进程中访问临界资源的代码叫做临界区,为保证对临界资源的互斥访问,应保证共享临界资源的各个进程互斥地进入自己的临界区。临界资源一次只运行一个进程访问的资源叫做临界资源。并发与并行若干个事件在同一时刻发生称为并行;若干个事件在同一时间间隔内发生称为并发。并行是并发的特例,并发是并行的拓展。死锁死锁是因竞争资源而引起的一种具有普遍性的现象。在多道程序系统中,由于多个并发进程共享系统的资源,如使用不当有可能造成一种僵局,即系统中两个或多个进程无限期地等待永远不会发生的条件,在无外力的干预下,这些进程都不能向前推进,我们称之为死锁。产生死锁的必要条件产生死锁的必要条件是:(1)互斥控制。进程对所要求的资源进行排他控制,在一段时间内一个资源仅能被一个进程使用。(2)不可剥夺控制。进程所获得的资源在未释放前,不能被其他进程剥夺。即使该进程处于阻塞态,它所占的资源也不能被其他进程使用,只有等待占有该资源的进程释放后才能给别的进程使用。(3)请求和保持。为了提高资源利用率,进程在运行过程中可随时提出对各种资源的请求,当进程因请求资源而阻塞时,对已获得的资源保持不放。(4)环路等待条件。在发生死锁时,进程的资源状态图必构成环路,即前一进程保存着后一进程所要求的资源。UNIX操作系统在其管道通信中避免死锁的方法UNIX操作系统在其管道通信中避免死锁的方法是:当发生读/写等待时,在等待前先检查对方是否已关闭。如果发现对方已关闭,则读/写进程不必等待而直接返回。另外,进程在关闭管道文件时,也要检查对方是否正在等待。如果发现对方正在等待,则应先唤醒等待进程。死锁与竞争死锁是指多个进程因竞争资源而造成的一种僵局,若无外力的作用,这些进程都将永远不能再向前推进。所以,死锁是由于系统中多个进程所共享的资源不足以同时满足需要时,引起对资源的竞争而产生的。但竞争资源不一定都会产生死锁,因为只要进程推进顺序合法,就不会产生死锁。死锁与“饿死”死锁不仅在两个进程之间发生,也可能在多个进程之间,甚至在系统全部进程之间发生。当死锁发生时,一定有一个资源被无限期地占用而得不到释放。“饿死”是指系统中的每个资源占用者都在有限的时间内释放它所占用的资源,但是仍然存在申请者永远得不到资源的现象。因此,在操作系统中,不仅要考虑如何防止“死锁”,还要考虑如何避免“饿死”。下面我们分填空题、选择题、简答题、判断题和应用题来解析进程与线程部分的考研试题。2.3填空题1.如果系统中有n个进程,则在等待队列中进程的个数最多为____个。答:n-1。去除一个在运行的进程,其他进程都在等待队列中。2.进程通常由____、____和____三部分组成。答:程序、数据集合、进程控制块PCB。3.把作业装入内存中随即进行地址变换的方式称为____;而在作业执行期间,当访问到指令或数据时才进行地址变换的方式称为____。答:静态地址再定位、动态地址再定位。4.在UNIX中,一个进程采用____来创建新进程,创建和被创建的进程间形成父子关系。父子间可以____执行,子进程继承父进程的proc、____、____、____。进程终止可以使用____,而父进程可以使用____等待其子进程的终止。答:fork()函数、并发、内存页、打开文件、寄存器状态、exit()、wait()。5.如果一个单处理机系统中有N个进程,运行进程最多____个,最少____个,就绪进程最多____个,最少____个,等待进程最多_____个,最少____个。答:1,0,N-1,0,N,0。因为是单处理机,最多只有1个进程在运行;最少有0个进程在运行,即所有进程都处于阻塞状态。就绪进程最多为N-1,即还有一个进程处于运行状态。等待进程最多为N个,即进程都在等待I/O完成;最少有0个进程在运行,发生在所有进程都阻塞的时候。6.进程申请打印输出完成向系统发出中断后,进程的状态变化为____。答:等待I/O的阻塞状态。7.进程调度算法采用等时间片轮转法,时间片过大,就会使轮转法转化为____调度算法。答:先来先服务(FCFS)。时间片超过进程运行时间的时候,调度算法实际成为先来先服务了。8.如果系统中的所有作业是同时到达的,则使作业平均周转时间最短的作业调度是____。答:短作业优先算法。9.若使当前运行的进程总是优先级最高的进程,应选择____进程调度算法。答:剥夺式优先级。10.就绪队列中有n个就绪进程等待CPU调度,如果采用不同的调度算法,总共可能有____种调度顺序。答:n!(即所有n个进程的排列数量)。11.如果信号量的当前值为-4,则表示系统中在该信号量上有____个等待进程。答:4。有1个等待进程,信号量就减1。12.并发进程中涉及相同变量的程序段叫做____,对这些程序段要执行____。答:临界区、互斥。13.对于一个进程来说,其运行的正确性不仅取决于程序的正确性,而且也与进程在执行过程中与其他相关进程实施____的正确性有关。答:互斥和同步。14.临界区是指____。答:互斥执行的程序段。15.设有4个进程共享一个程序段,而每次最多允许2个进程进入该程序段,则信号量的取值范围可能是____。答:-2~2。初始值为2,允许2个进程进入。当4个进程同时请求进入时,有2个必须等待,即-2。16.在操作系统中,信号量表示资源的实体,它是一个与队列有关的____型变量,其值仅能由____来改变。答:整,P、V操作。17.设系统中仅有一类资源共3个,系统中有3个进程共享该资源,每个进程至少请求一个资源,若它们所需要的资源最大量总和是X,则发生死锁的必要条件是____。答:X≥6。此系统中发生死锁的必要条件是3个进程各占用1个资源并请求第2个资源。18.死锁产生的四个必要条件是:互斥控制____、____、____、____。答:非剥夺控制、持有并等待、循环等待。19.资源的有序分配策略可以破坏死锁____的条件。答:循环等待。20.在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是____。答:2≤k≤m。死锁要求循环等待,所以至少要有2个进程。21.采用资源有序分配算法可以____死锁的发生。答:预防。22.不让死锁发生的策略可以分为静态和动态两种,死锁避免属于____。答:动态策略。2.4选择题1.UNIX操作系统的进程控制块中常驻内存的是()。A.proc结构B.proc结构和核心栈C.proc区D.proc结构和user结构答:A。进程控制块包括proc结构和user结构,其中user结构不必常驻内存,以减少占用的内存资源。2.下列内容中属于进程上下文的是()。A.用户打开文件表B.PCBC.中断向量D.核心栈答:D。进程上下文指进程切换时需要保持的进程状态,包括寄存器值、用户和核心栈状态。3.进程和程序的一个本质区别是()。A.前者分时使用CPU,后者独占CPUB.前者存储在内存,后者存储在外存C.前者在一个文件中,后者在多个文件中D.前者为动态的,后者为静态的答:D。选项A,进程可能独占CPU,而程序只是一个静态的东西,不存在占用CPU的事情。选项B,进程在被交换出内存的时候,也可能存储在外存(硬盘)中。选项C,进程是运行的程序,而程序可能存储在一个或多个文件中。4.能从1种状态转变为3种状态的是()状态。A.就绪B.阻塞C.完成D.执行答:D。执行状态可以转变为其他3种状态,就绪状态只能转变为执行状态,阻塞状态只能转变为就绪状态。5.进程控制块是描述进程状态和特性的数据结构,一个进程()。A.可以有多个进程控制块B.可以和其他进程共用一个进程控制块C.可以没有进程控制块D.只能有唯一的进程控制块答:D。一个进程有且只有一个进程控制块,不能和其他进程公用控制块(否则无法区分不同进程)。6.进程从运行状态转变到阻塞状态可能是由于()。A.进程调度程序的调度B.现运行进程的时间片用完C.现运行进程执行了P操作D.现运行进程执行了V操作答:C。执行P操作,当前进程可能进入信号量队列而阻塞。进程调度或时间片用完时,进程从运行状态转变为就绪状态。执行V操作,当前进程继续处于运行状态。7.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。A.从就绪变为运行B.从运行变为就绪C.从运行变为阻塞D.从阻塞变为就绪答:C。因为等待I/O操作而阻塞。8.在进程的组成成分中,进程在运行中不可修改的部分是()。A.私用程序段B.共享程序段C.数据集合D.进程控制块答:B。其他三个都可能被修改,共享程序段如果可以被修改,那么共享这一段代码的其他进程也会受到影响,这显然是不可以的。9.有关进程的描述中,()是正确的。A.进程执行的相对速度不能由进程自己来控制B.P、V操作都是原语操作C.利用信号量的P、V操作可以交换大量信息D.同步是指并发进程之间存在的一种制约关系E.并发进程在访问共享资源时,不可能出现与时间有关的错误答:A,B,D。选项C,P、V操作只对一个整数操作,交换信息显然只有这个整数。选项E,恰恰相反,最可能出现的是因为不同进程按照不同顺序执行,造成与时间有关的错误。10.以下描述中,()并不是多线程系统的特长。A.利用线程并行地执行矩阵乘法运算B.Web服务器利用线程响应HTTP请求C.键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应该应用的键盘输入D.基于GUI的调试程序用不同的线程分别处理用户输入、计算、跟踪等操作答:C。其他选项都适合用多线程,键盘响应由系统中断完成,不需要多线程。11.最适合分时系统的进程调度算法是()。A.FCFSB.SJFC.优先数法D.轮转法答:D。FCFS有可能造成先到的长任务占用CPU,而不利于后到的短任务执行,因而效率不高。SJF(最短作业优先)算法可能因为短任务不断到来而造成长任务无法得到执行,因此不公平。优先数法与SJF算法类似,高优先级进程可能造成低优先级任务饿死。12.现有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是()。A.T1+T2+T3B.(T1+T2+T3)/3C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3答:C。按照短作业优先算法,执行顺序为J1、J2、J3,三个作业完成时间分别是T1、T1+T2、T1+T2+T3,所以平均周转时间是(T1+T1+T2+T1+T2+T3)/3。13.有一个作业8:00到达系统,估计运行时间为1小时。若10:00开始执行该作业,其响应比是()。A.2B.1C.3D.0.5答:C。周转时间为3小时(11:00~8:00),响应比为3/1=3。14.设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,则平均周转时间为()。A.1小时B.5小时C.2.5小时D.8小时答:B。(2+4+6+8)/4=5小时。15.设有3个作业J1、J2、J3,其运行时间分别为1、2、3小时,假定这些作业同时到达,并在一台处理机上按单道运行,那么按()序列执行时其平均周转时间最小。A.J1;J2;J3B.J2;J3;J1C.J2;J1;J3D.J1;J3;J2答:A。短作业优先算法的平均周转周期最小。16.分时系统的响应时间与下列哪一个因素无关()?A.时间片长短B.系统时钟的频率C.终端用户数D.主存和后援存储器之间的信息对换量答:B。选项A,时间片短,响应时间就短一些。选项C,用户数量多,响应时间会变长,因为等待系统响应的任务数多了。17.所谓临界区是指()。A.一个缓冲区B.一段数据区C.同步机制D.一段程序答:D。18.由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,下面对造成不正确的因素的描述正确的是()。A.与时间有关B.与进程占用的处理机有关C.只与执行速度有关D.只与外界的影响有关答:C。与进程运行的先后顺序相关,与其他因素没有关系。19.在操作系统中,P、V操作是一种()。A.机器指令B.系统调用命令C.作业控制命令D.低级进程通信原语答:D。20.若信号S的初值为2,当前值为-1,则表示有()个等待进程。A.0B.1C.2D.3答:B。信号量小于0时才等待,所以当前有2个进程在运行(临界区中),1个在等待。21.设有五个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是()。A.5B.2C.1D.0答:B。当两个进程进入临界区以后,信号量变为0,不允许其他进程再进入临界区。22.并发进程之间()。A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥答:D。并发进程指一段时间内同时运行的进程,它们之间可能无关,也可能有同步或互斥的关系。23.用V操作唤醒一个等待进程时,被唤醒进程的状态变为()。A.运行B.等待C.就绪D.完成答:C。从阻塞状态变为就绪状态。24.在UNIX系统中,()用于把一个进程的输出连接到另一个进程的输入。A.普通文件B.索引文件C.目录文件D.管道文件答:D。25.银行家算法在解决死锁问题中是用于()的。A.预防死锁B.避免死锁C.检测死锁D.解除死锁答:B。银行家算法的思想是保证满足某一进程的资源请求,等该进程释放资源以后,系统中的空闲资源又可以满足其他进程的需要。这样,银行家算法始终保证系统中有进程可以运行,避免死锁的发生。26.在进程资源图中,资源Rj分配给进程Pi应表示为()。A.(Pi,Rj)B.(Rj,Pi)C.|(Rj,Pi)|D.|(Pi,Rj)|答:B。27.死锁现象并不是计算机系统所独有的,判断下列哪些现象是死锁的体现()。A.杭州西泠桥塞车,因为大修,桥上只有一个车道供双方通行B.高速公路大堵车,因为桥被台风吹垮了C.两列相向行驶的列车在单轨铁路上迎面相遇D.两位木匠钉地板,每位木匠必须有榔头和钉子才能工作。一位只握一把榔头,而另一位没有榔头,却有钉子答:C。考虑死锁的4个条件:互斥使用资源、占有并等待资源、不可抢夺资源、循环等待。选项A不满足循环等待;选项B不满足占有并等待资源,因为资源(公路)不存在;选项D不满足不可抢夺资源,一个木匠可以从另一个木匠那里得到榔头(或钉子)。28.设系统有一类数量为M的独占性资源,系统中N个进程竞争该类资源,各进程对资源的最大需求为W。当M,N,W分别取下列()选项中的值时,系统可能发生死锁。A.M=2,N=2,W=2B.M=3,N=2,W=2C.M=3,N=2,W=3D.M=5,N=3,W=2E.M=6,N=3,W=3答:A,C,E。N个进程各获得(W-1)个资源,且系统中没有资源剩下时,可能发生死锁。所以满足N×(W-1)≥M的情况即有可能发生死锁。2.5简答题1.说明下图中进程状态转换的原因。答:2.在创建和撤销一个进程时所要完成的主要工作分别是什么?当进程A由于所分配的时间片到,由运行状态转入就绪状态;而进程B被调度程序选中由就绪状态转为运行状态时,系统所要做的主要工作是什么?答:创建进程:需要为新进程创建PCB、分配资源(包括内存页面、文件),这些资源通常从父进程继承而来。撤销进程:释放进程所占用的资源,如内存页面、打开文件等。在系统进程列表中删除进程的PCB信息。系统中运行的进程由A转到B时,系统要做的主要工作是进程切换工作:将B进程的上下文信息载入到系统中,包括寄存器状态恢复到进程B的状态、当前运行进程PCB信息和内存页面等。3.在UNIX操作系统中,为什么proc结构常驻内存?为什么PPDA可以不常驻内存?PPDA和其他数据结构合在一起有什么好处?答:为了节省内存,UNIX系统把进程控制块分成两部分。一部分为进程的基本控制块,简称proc结构,它存放着进程最常用的一些信息,所以proc结构一般常驻内存。另一部分称为进程扩充控制块,简称user结构,它存放着进程的一些必要但不常使用的信息。PPDA(进程系统数据区)包含user结构和系统栈,PPDA可以不常驻内存是为了减少内存的开销。把PPDA和其他数据结构(指用户数据区)合起来形成进程的数据段,其好处是方便一起调入调出内存。4.UNIX为什么要把PCB分为进程表项(proc区)和U区?答:UNIX中将那些只在进程运行时才用到的控制信息存储在U区(user结构),从而使这部分信息不必常驻内存,节省内存空间的占用。5.请给出PCB的主要内容,描述当进程发生下面的状态转换时操作系统要使用/修改PCB中的哪些内容:就绪→运行,运行→阻塞。答:PCB中的内容包括:标识进程运行状态的状态位、用户ID、GroupID、进程PID;调度参数(如优先级)、存储区位置和长度、页表指针、进程收到的signal、进程打开的文件列表、上下文相关信息(寄存器状态、栈状态)、系统调用返回值、中断相关参数等。发生就绪→运行和运行→阻塞状态转换时,系统要修改标识进程运行状态的状态位。6.对于运行于UNIX系统中的以下程序,其执行后的输出结果是____。voidmain(){printf("hello1");Fork();printf("hello2");}答:hello1hello2hello2父进程打印出"hello1"和"hello2"。子进程在fork()返回以后继续执行,打印出"hello2"。父子进程打印"hello2"的次序是不确定的。7.关于处理机调度,试问:(1)什么是处理机三级调度?(2)处理机三级调度分别在什么情况下发生?(3)各级调度分别完成什么工作?答:(1)操作系统中有三级调度:高级调度(作业调度)、中级调度(交换调度)和低级调度(进程调度)。它们构成系统内的多级调度。不同类型的操作系统不一定完全都实现上述三种调度。(2)处理机三级调度分别在如下情况下发生:1)高级调度。高级调度是根据系统内所有资源的使用情况,一旦可能便从后备作业中选择一道作业进入系统,并创建相应的进程,分配必要的系统资源,然后将进程“就绪”。2)低级调度。低级调度即为CPU调度,它是根据CPU资源的使用情况及时分配CPU,即从“就绪”的进程中选择一个进程在CPU上“运行”。这种调度不仅要求调度算法本身的时间复杂度小,而且要求策略精良,因为低级调度直接影响着系统的整体效率。在多道程序系统中必须提供低级调度。3)中级调度。在内存中常常有许多进程处于某种等待状态,这些进程在“等待”期间无谓地占用着内存资源,如将它们暂时换至外存,则所节省出来的内存空间可用以接纳新的进程。一旦被换至外存的进程具备运行条件,再将其重新换入内存。为此,在逻辑上将主存延伸,用一部分外存空间(称为交换区)替代主存,并且实施交换调度(中级调度)。在各种类型的操作系统中可以根据内存的配置和系统能承受的最大负载,有选择地进行中级调度,或者不实施中级调度。(3)高级调度完成作业调度,使“后备”状态的作业变为“执行”状态:中级调度完成内存和外存信息的交换调度;低级调度完成进程调度,使“就绪”的进程在CPU上“运行”。8.简述UNIX的进程调度的公式和算法。答:UNIX采用动态优先数调度算法,优先数的计算公式为:p_pri=min{127,(p_cpu/16+PUSER+p_ice)}p_pri=(p_cpu/2+PUSER+NZERO)进程的优先数越大,其优先级越低。在调度时,按照优先级由高到低,从当前优先级队列中选择可运行的进程来运行。9.给出UNIX进程的调度状态,当子进程终止时,处于什么状态?答:在UNIX系统中,进程状态有:运行状态、就绪状态、睡眠状态、创建状态、僵尸状态。当进程终止时处于僵尸状态。10.静态优先数与动态优先数的区别是什么?答:系统在创建进程时就确定了它的优先数,该优先数在进程的整个生存期内不再改变,这种优先数属于静态优先数。系统在创建进程时确定了它的优先数,但该优先数在进程的整个生存期内可以随着情况的变化而发生改变,这种优先数属于动态优先数。11.什么是P、V操作?试用P、V操作描述读者-写者问题。要求允许几个阅读者可以同时读该数据集,而一个写者不能与其他进程(不管是写者还是读者)同时访问该数据集。答:读者-写者问题是经常出现的一种同步问题。计算机系统中的数据(文件、记录)常被多个进程共享,但其中某些进程可能只要求读数据(称为Reader),另一些进程则要求修改数据(称为Writer)。就共享数据而言,Reader和Writer是两种不同类型的进程。一般地,两个或两个以上的Reader进程同时访问共享数据时不会产生副作用,但若某个Writer和其他进程(Reader或Writer)同时访问共享数据时,则可能产生错误。为了避免错误,同时尽可能地让读者进程和写者进程并发运行,只要保证任何一个写者进程能与其他进程互斥访问共享数据即可。这个问题称为读者-写者问题。P、V操作是定义在信号量s上的两条原语,它是解决进程同步与互斥的有效手段。定义下列信号量:互斥信号量rmutex,初值为1,用于使读者互斥地访问读者计数器,共享变量rcount;互斥信号量wmutex,初值为1,用于实现写者之间以及写者与读者之间互斥地访问共享数据集。用信号量和P、V操作描述读者-写者问题如下:Beginrmutexwmutex:semaphore;rcount:Integer;rmutex=wmutex=1;rcount=0;CobeginProcessprocedureReaderbeginP(rmutex);//保护rcountrcount:=rcount+1ifrcount=lthenP(wmutex);//保证没有writer在写V(rmutex);Performreadoperations;P(rmutex);rcount:=rcount-1;ifrcount=OthenV(wmutex);//没有reader时,允许writer写操作V(rmutex);endProcessprocedureWriterbeginP(wmutex);performwriteoperations;V(wmutex);endCoendEnd12.判断以下解决双进程临界区问题的算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰装修防水工程实施方案
- 2026年国家开放大学电大本科《金融风险管理》多项选择题自我提分评估附参考答案详解(达标题)
- 2026年无损探伤工常考点【完整版】附答案详解
- 施工现场团队协作作业指导书
- 2026年机械冷加工工能力提升试题带答案详解(培优A卷)
- 公共设施布线施工技术方案
- 打印耗材公司物流效率提升管理制度
- 12345接听工作制度
- 24小时不打烊工作制度
- hiv抗体初筛实验室工作制度
- 雌性动物的发情南京农业大学课件
- 【复习资料】10633工程造价管理(习题集及答案)
- 德默特生物科技(珠海)有限公司微藻生产基地新建项目环境影响报告表
- 青岛市教育科学规划课题中期报告
- 2023汽车高压电线束技术条件
- 甘肃省2023年中考:《语文》考试真题与参考答案
- 地质灾害风险评估
- 桥梁工程量清单
- 北邮通信原理实验报告
- 河北人社APP认证操作指南
- GB/T 9959.4-2019鲜、冻猪肉及猪副产品第4部分:猪副产品
评论
0/150
提交评论