操作系统

来源:互联网 发布:纳米水离子 知乎 编辑:程序博客网 时间:2024/05/22 09:48

http://book.51cto.com/art/201204/331592.htm

操作系统的内核(中断控制),进程和线程的概念。

处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)。

存储管理(主存保护、动态连接分配、分段、分页、虚存)。

设备管理(I/O控制、假脱机)。

文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)。

作业管理(作业调度、作业控制语言(JCL)、多道程序设计)。

网络操作系统和嵌入式操作系统基础知识。

操作系统的配置。

历年考点分布

 

考点分析与预测

考试内容对操作系统的要求不高,主要考查操作系统的功能以及在各种管理功能中涉及到的算法和管理过程,存储管理、进程管理是考查的重点,特别是进程的同步与互斥( PV)、进程状态转换过程、死锁、存储器的页式和段式存储涉及到的调度算法。当然对于目前流行的操作系统也要有所了解。

一、操作系统的定义和分类

1.操作系统的基础知识

计算机系统中的软件极为丰富,通常分为应用软件和系统软件两大类。应用软件是指计算机用户利用计算机的软件、硬件资源为某一专门的应用目的而开发的软件。例如,科学计算、工程设计、数据处理、事务处理和过程控制等方面的程序,以及文字处理软件、表格处理软件、辅助设计软件(CAD)和实时处理软件等。系统软件是计算机系统的一部分,由它支持应用软件的运行。常用的系统软件有操作系统、语言处理程序、链接程序、诊断程序和数据库管理系统等。操作系统是计算机系统中必不可少的核心系统软件,其他软件是建立在操作系统的基础上,并在操作系统的统一管理和支持下运行,是用户与计算机之间的接口。

2.操作系统的概念

操作系统是控制和管理计算机系统内各种硬件和软件资源,合理有效地组织计算机系统工作流程,控制程序的执行,为用户提供一个良好的工作环境和友好的接口。

3.操作系统的分类

操作系统的基本类型可以分为三大类:批处理操作系统、分时操作系统和实时操作系统。随着计算机体系结构的发展,又出现了许多类型的操作系统,比如嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统。

二、操作系统的特征与功能

操作系统的4个特征是并发性、共享性、虚拟性和不确定性。从资源管理的观点来看,操作系统的功能可分为处理机管理、文件管理、存储管理、设备管理和作业管理 5大部分。操作系统的5大部分通过相互配合、协调工作,以实现对计算机系统中资源的管理,控制任务的运行。

(1)处理机管理:主要任务是对处理机进行分配,并对其进行有效的控制和管理。在多道程序环境下,处理机的分配以线程为基本单位,因此对处理机的管理可归结为对线程的管理。

(2)存储管理:主要任务是为程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及从逻辑上来扩充内存。所以存储管理应具有内存分配、内存包含、地址映射和内存扩充等功能。

(3)设备管理:主要任务是完成用户提出的 I/O请求,为用户分配 I/O设备,提高 CPU和I/O设备的利用率,提高 I/O速度以及方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。通常采用通道、控制器和设备三级控制方法管理这些设备。

(4)文件管理:主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此文件管理应具有文件存储空间的管理、目录管理、文件的读写管理以及文件的共享与保护等功能。

(5)用户接口:为了方便用户使用操作系统,操作系统向用户提供命令接口和系统调用接口,在较晚出现的操作系统中又向用户提供了图形接口。

三、UNIX操作系统

UNIX是一种多用户、多任务的分时操作系统。它利用最内层硬件提供的基本服务,向外层提供全部应用程序所需的服务。

1.UNIX文件系统

UNIX文件系统的目录结构是树型的,根目录记为“/”,非叶节点为目录文件,叶节点可以是目录文件,也可以是文件或特殊文件。目录是一个包含目录项的文件,在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。

UNIX文件系统的结构如图3-1所示。

 图 3-1 UNIX文件系统的布局

2.UNIX设备管理

在UNIX系统中,文件等于系统中可用的任何资源。UNIX的设计者们遵循一条这样的原则: UNIX系统中可以使用的任何计算机资源都用一种统一的方法表示。他们选择用“文件”这个概念作为一切资源的抽象表示方法。

UNIX设备管理的主要特点如下:

块设备与字符设备具有相似的层次结构。这是指对它们的控制方法和所采用的数据结构、层次结构几乎相同。

将设备作为一个特殊文件,并赋予一个文件名。这样,对设备的使用类似于对文件的存取,具有统一的接口。

采用完善的缓冲区管理技术。引入“预先读”、“异步写”和“延迟写”方式,进一步提高系统效率。

3.shell程序 shell既是一种命令语言,又是一种程序设计语言。在UNIX中,任何一个存放一条或多条命令

的文件称为shell程序或shell过程。 shell变量可分为三种类型:用户定义变量、系统定义变量和shell定义变量。其中,用户定义变量必须以字母或下划线开始,可以包含字母、下划线和数字的字符序列。

用户定义的shell变量能用赋值语句置初值或重置值。例如ux=UNIX。

【试题 3-1】2009年 11月真题 23、24

操作系统是裸机上的第一层软件,其他系统软件(如( 23)等)和应用软件都是建立在操作系统基础上的。下图①②③分别表示(24)。

 

(23)A.编译程序、财务软件和数据库管理系统软件

B.汇编程序、编译程序和Java解释器

C.编译程序、数据库管理系统软件和汽车防盗程序

D.语言处理程序、办公管理软件和气象预报软件

(24)A.应用软件开发者、最终用户和系统软件开发者

B.应用软件开发者、系统软件开发者和最终用户

C.最终用户、系统软件开发者和应用软件开发者

D.最终用户、应用软件开发者和系统软件开发者分 析:本题主要考查系统软件和应用软件的区别。应用软件是专门为某一应用目的而编制的软件,一般包括文字处理软件(比如WORD,WPS等)、信息

处理软件(用于输入、存储、修改、检索各种信息,例如工资管理软件、人事管理软件、仓库管理软件、计划管理软件等)、辅助设计软件(用于高效地绘制、修改工程图纸,进行设计中的常规计算,帮助人寻求好设计方案。)、实时控制软件(用于随时搜集生产装置、飞行器等的运行状态信息,以此为依据按预定的方案实施自动或半自动控制,安全、准确地完成任务。)。

系统软件主要负责数据是如何输入、输出的以及对硬件的管理等,主要有:

(1)操作系统:DOS、Windows、UNIX等。

(2)数据库管理系统:有组织地、动态地存储大量数据,使人们能方便、高效地使用这些数据。现在比较流行的数据库有FoxPro、DB-2、Access、SQL-Server等。

(3)编译软件:源程序与机器代码的转换,完成这种翻译的软件称为高级语言编译软件,通常把它们归入系统软件。目前常用的高级语言有VB、C++、Java等,它们各有特点,分别适用于编写某一类型的程序,它们都有各自的编译软件。

应用软件是为最终用户服务的,因此①应为最终用户,而②是工作在其他系统软件和操作系统基础上,应该为应用软件开发者,而③是工作在操作系统和计算机硬件上,应为系统软件开发者。【答案:B、D】

【试题 3-2】2009年 11月真题 27

若系统正在将( 27)文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。

(27)A.空闲块 B.目录 C.用户数据 D.用户程序分 析:当文件处于“未打开”状态时,文件需占用三种资源:一个目录项;一个磁盘索引节点项;若干个盘块。当文件被引用或“打开”时,须再增加三种资源:一个内存索引节点项,它驻留在内存中;文件表中的一个登记项;用户文件描述符表中的一个登记项。

由于对文件的读写管理,必须涉及到上述各种资源,因而使对文件的读写管理,又在很大程度上依赖于对这些资源的管理,故可从资源管理观点上来介绍文件系统。这样,对文件的管理就必然包括: ①对索引节点的管理;②对空闲盘块的管理;③对目录文件的管理;④对文件表和描述符表的管理;⑤对文件的使用。

因此如果目录文件在写回磁盘时发生异常,对系统的影响是很大的。对于空闲块、用户数据和程序并不影响系统的工作,因此不会有较大的影响。【答案:B】

【试题 3-3】2009年 11月真题 28

UNIX系统采用直接、一级、二级和三级间接索引技术访问文件,其索引节点有13个地址项(i_addr[0]~i_addr[12])。如果每个盘块的大小为1 KB,每个盘块号占4B,则进程A访问文件F中第11264字节处的数据时,(28)。

(28)A.可直接寻址 B.需要一次间接寻址

C.需要二次间接寻址 D.需要三次间接寻址分 析:由于UNIX系统可以提供4级索引:10个直接索引块,1个一次间接索引,1个二次间接索引,1个3次间接索引。当一个进程要访问的偏移量为11264B时,需要访问磁盘的次数计算如下:

偏移量为11264B在文件中的相对块号为:11246/1024=11。每个盘块号占4B,一个索引块可以存放1024个索引项。显然11块在一次间接索引块中,且占有的索引项为:11-10=1。故只需要一次间接寻址,以1为索引找到相对块对应的物理块。【答案:B】

【试题 3-4】2008年 12月真题 7

在Windows Server 2003下若选择安全登录,则首先需要按(7)组合键。

(7)A.Shift+Alt+Esc  B.Ctrl+Alt+Tab C.Ctrl+Shift D.Ctrl+Alt+Del 分 析:这是常识问题,在在Windows Server 2003下安全登录,首先需要按Ctrl+Alt+Del组合键。【答案:D】

考点 2 进程管理(1)

考什么

一、基本概念

(1)前趋图

前趋图是一个有向无循环图,图由节点和节点间的有向边组成,节点代表各程序段的操作,而节点间的有向边表示两程序段操作之间存在的前趋关系(“ → ”)。两程序段Pi和Pj的前趋关系表示成Pi → Pj,其中Pi是Pj的前趋,Pj是Pi的后继,其含义是Pi执行完毕才能由Pj执行。

(2)进程的定义及基本特征

进程是资源分配和独立运行的基本单位,也是核心调度的最小单位。与程序的重要区别之一是:进程是有状态的,而程序没有,程序是静态的。

进程的基本特征有:动态性、并发性、独立性、异步性、结构特征。

(3)进程的组成

①进程控制块(PCB):是进程存在的唯一标志。

②程序:描述了进程需要完成的功能。

③数据:包括程序执行时所需要的数据及工作区。

(4)进程的状态及状态间转换

进程一般有三种基本状态:运行、就绪和阻塞。实际上对于一个实际的系统,进程的状态及其转换将更加复杂,如图3-2所示。

 

二、进程的控制

进程控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制。为此,操作系统设置了一套控制机构,该机构的主要功能包括创建一个新进程,撤销一个已经运行完的进程,改变进程的状态,实现进程间的通信。

进程控制是由操作系统内核(Kernel)中的原语实现的。内核是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,它为系统对进程进行控制和管理提供了良好的环境。

原语(Primitive)是指由若干条机器指令组成的,用于完成特定功能的程序段。

原语的特点是在执行时不能被分割,即原子操作,要么都做,要么都不做。内核中所包含的原语主要有进程控制原语、进程通信原语、资源管理原语以及其他方面的原语。属于进程控制方面的原语有进程创建原语、进程撤销原语、进程挂起原语、进程激活原语、进程阻塞原语以及进程唤醒原语等。

三、进程间通信

1.同步与互斥

同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。

(1)进程间的同步

一个进程相对于另一个进程的运行速度是不确定的,也就是说进程是在异步环境下运行的。每个进程都以各自独立的、不可预知的速度向前推进。但相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达了这些点后,除非另一进程已经完成了某些操作,否则就不得不停下来等待这些操作结束。

(2)进程间的互斥

在多道程序系统中,各进程可以共享各类资资,但有些资源一次只能供一个进程使用,称为临界资源(Critical Resource,CR),例如打印机、公共变量和表格等。同步是进程间的直接制约问题,互斥是进程间的间接制约问题。

(3)临界区管理的原则

有空即进。无进程处于临界区时,允许进程进入临界区.并且只能在临界区运行有限的时间。

无空则等。临界区中有进程时,其他欲进入临界区的进程必须等待,以保证远程互斥地访问临界资源。

有限等待。对要求访问临界资源的进程,应保证进程能在有限时间进入临界区,以免陷人“饥饿”状态。

让权等待。当进程不能进入自己的临界区时,应立即释放处理机。

2.信号量机制

信号量机制是一种解决的进程同步与互斥的工具。主要有整型信号量、记录型信号量、信号量集机制。最常用的信号量是整型变量。

信号量可分为两类:一类是公用信号量,实现进程间的互斥,初值等于l或资源的数目。另一类是私用信号量,实现进程间的同步,初值等于0或某个正整数。信号量S的物理意义是:当 S≥0时,表示某资源的可用数,当S<0时,其绝对值表示阻塞队列中等待该资源的进程数。

3.PV操作

PV操作是实现进程同步与互斥的常用方法,PV操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源、V操作表示释放一个资源。

P操作定义:S:=S-1,若S≥0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。

4.利用

PV操作实现进程的互斥令信号量mutex的初值为1,当进程进入临界区时执行P操作,退出临界区时执行V操作。

5.利用

PV操作实现进程的同步

用一个信号量与消息联系起来。当信号量的值为“0”时表示希望的消息未产生,当信号量的值为非“0“时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用 V操作通知消息已准备好。最典型的问题是单缓冲区的生产者和消费者的同步问题。

四、管程

管程(Monitor)是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。管程采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及其上实施操作的若干过程来进行;对共享资源的申请和释放可以通过管程在数据结构上的操作来实现。

五、进程调度

1.三级调度

在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。

2.调度算法

先来先服务:按进程进入就绪队列的先后次序选择可以占用处理器的进程。

优先级调度:对每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相同的优先数,则对这些有相同优先数的进程再按先来先服务的次序分配处理器。

时间片轮转:把规定进程一次使用处理器的最长时间称为“时间片”。让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个“时间片”。如果一个“时间片”用完,进程工作尚未结束,则它也必须让出处理器给其他进程使用,自己被重新排到就绪队列的末尾,等待再次运行。时间片轮转调度算法经常用在分时操作系统中。

多级反馈调度:由系统设置多个就绪队列,每个就绪队列中的进程按时间片轮转法占用处理器。

3.进程优先级确定

(1)对I/O型进程,让其进入最高优先级队列,以及时响应需要I/O交互的进程。

(2)对计算型进程,每次都执行完时间片后进入更低级队列。

(3)对I/O次数不多,而主要是 CPU处理的进程,在 I/O完成后,放回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。

(4)为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降

低优先级。

六、死锁

1.死锁的概念

若系统中存在一组进程,它们中的每个进程都占用了某种资源,而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说明系统出现了死锁。

2.四个必要条件

只要下面四个条件中有一个不具备,系统就不会出现死锁。

(1)互斥条件:某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。

(2)不可抢占条件:进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。

(3)占有且申请条件:进程至少已经占有一个资源,但又申请新的资源;由于该资源已被另外进程占有,此时该进程阻塞;但是,它在等待新资源之时,仍继续占用已占有的资源。

(4)循环等待条件:存在一组进程等待序列{P1,P2,…,Pn},其中P1等待P2所占有的某一资源,P2等待P3所占有的某一资源,……,而Pn等待P1所占有的某一资源,形成一个进程循环等待环。

3.死锁的预防

打破互斥条件。

打破不可抢占条件。

打破占有且申请条件。 

4.死锁的避免

(1)安全序列

所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次地运行完毕,这种进程序列{P1,P2,…,Pn}就是安全序列。如果存在这样一个安全序列,则系统是安全的;如果系统不存在这样一个安全序列,则系统是不安全的。不安全状态并不一定会发生死锁的危险,但它隐含将发生死锁。只要系统能保持安全状态就可以避免死锁的发生。

(2)银行家算法

银行家算法是一个著名的避免死锁的算法。在安全状态下系统接到一个进程的资源请求后,就先判断这个资源请求是否超过了自己所要申请的总的资源数目,判断完毕后再继续进行下一个判断,即判断是否小于系统现有的可以分配的资源数目。如果这两个判断都通过,则系统把资源分配给该进程,系统检查现在的系统是否处于安全状态,如果安全则正式把资源分配给进程,以完成此次分配,否则刚才的试分配作废。

5.死锁的检测与恢复

(1)死锁的检测

当进程进行资源请求时检查并发进程组是否构成资源的请求和占用环路,如果不存在环路,则系统不存在死锁;如果存在环路,则系统中可能存在死锁,也可能不存在死锁。

(2)死锁的恢复

有两种方法,一是重新启动系统,二是撤消进程或剥夺资源。

七、线程

1.基本概念

线程是比进程更小的能独立运行的基本单位,它是处理器分配的最小单位。进程是资源分配的基本单位,而线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。

线程也有就绪、阻塞和执行三种基本状态。

2.进程与线程

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程与线程的区别:

线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而大大提高了程序的执行效率。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看作多个独立的应用,来实现进程的调度和管理以及资源分配。

进程是重量级的任务,需要分配它们自己独立的地址空间。进程间的通信和相互转换需要很多的开销。而线程是轻量级的任务,它们共享相同的地址空间并且分享同一个进程。线程间的通信和转换开销要小很多。多线程程序比多进程程序需要更少的管理费用。

怎么考

【试题 3-5】2011年 11月真题 22、23

某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。

 

信号量S是一个互斥信号量,初值为( 22);S1、S2的初值分别为( 23)。

(22)A. 0  B. 1   C. n D. 任意正整数

(23)A. n、0 B. 0、n C. 1、n D. n、1

分析:P操作表示申请一个资源,V操作表示释放一个资源。P操作的定义为:S:=S-1,若S0,则执行P操作的进行继续。

本题中,S是一个互斥信号量,初值为 1,因为半成品箱是一个互斥资源,所以要进行互斥控制;S1表示是否可以将半成品放入半成品箱,初值为n;S2表示半成品箱是否存有半成品,初值为0。

【答案:(22)B (23)A】

【试题 3-6】2011年 5月真题 25、26

系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的 ①~⑥种情况,( 25)可能会发生死锁。若将这些情况的m分别加上( 26),则系统不会发生死锁。

 

(25)A.①②⑤ B.③④⑤ C.②④⑤ D.②④⑥

(26)A.1、1和1 B.1、1和2 C.1、1和3 D.1、2和1

分析:对于第①种情况,资源数为3,在最坏的情况下,2个进程对R资源的需求都为2,有一个进程占用2个R资源,另一个进程占用1个R资源,占用2个R资源的进程运行完,释放资源,另一个便会获得所需的资源,不会出现死锁。

对于第②种情况,资源数为3,在最坏的情况下,3个进程对R资源的需求都为2,每个进程都占用1个R资源,发生死锁。对于第③种情况,资源数为5,在最坏的情况下,2个进程对R资源的需求都为3,一个进程占用3个R资源,一个进程占用2个R资源,不会出现死锁。对于第④种情况,资源数为5,在最坏的情况下,3个进程对R资源的需求都为3,如果3个进程占用的资源数分别为2、2、1,就会出现死锁。对于第⑤种情况,资源数为6,在最坏的情况下,3个进程对R资源的需求都为3,如果3个进程占用的资源数都为2,就会出现死锁。对于第⑥种情况,资源数为6,在最坏的情况下,4个进程对R资源的需求都为2,其中 2个进程占用2个资源,2个进程占用1个资源,不会死锁。总结一下,可以发现,当 n×w-m>n,系统就不会发生死锁。因此,对于第 ②、⑤种情况,只要 m的资源加1,就不会发生死锁;对于第④种情况,m资源需要加2,系统就不会发生死锁。【答案:(25)C (26)D】

【试题 3-7】2010年 11月真题 23~25

进程P1、P2、P3、P4和P5的前趋图如下:

 

若用PV操作控制进程P1-P5并发执行的过程,则需要设置6个信号S1、S2、S3、S4、S5和S6,且信号量 S1-S6的初值都等于零。下图中a和b处应分别填写( 23);c和d处应分别填写( 24),e和f处应分别填写( 25)。

 


(23)A.P(S1)P(S2)和P(S3)P(S4)

B.P(S1)V(S2)和P(S2)V(S1)

C.V(S1)V(S2)和V(S3)V(S4)

D.P(S1)P(S2)和V(S1)V(S2)
(24)A.P(S1)P(S2)和V(S3)V(S4)

B.P(S1)P(S3)和V(S5)V(S6)

C.V(S1)V(S2)和P(S3)P(S4)

D.P(S1)V(S3)和P(S2)V(S4)

(25)A.P(S3)P(S4)和V(S5)V(S6)

B.V(S5)V(S6)和P(S5)P(S6)

C.P(S2)P(S5)和P(S4)P(S6)

D.P(S4)V(S5)和P(S5)V(S6)分析:利用PV操作实现进程的同步时,进程可以通过P操作测试消息是否到达,调用V操作通知消息

已经准备好。【答案:(23)C;(24)B;(25)C】根据题意,将信号量标在图上,为:

 

【试题 3-8】2010年 11月真题 51

在某企业的营销管理系统设计阶

,属性“员工”在考勤管理子系统中被称为“员工”,而在档案管理子系统中被称为“职工”,这类冲突称为( 51)冲突。

(51)A.语义 B.结构 C.属性 D.命名分析:题目中,“员工”和“职工”有着相同的意义,但在不同的子系统中有着不同的命名,这种冲突,为命名冲突。如果是同一实体在不同的子系统中有不同的属性,即为结构冲突。如果同一属性“员工”在不同的子系统中,属性的类型、取值范围或者数据单位等不一致,即为属性冲突。【答案:D】

【试题 3-9】2010年 5月真题 23

如果系统采用信箱通信方式,当进程调用Send原语被设置成“等信箱”状态时,其原因是( 23)。

(23)A.指定的信箱不存在 B.调用时没有设置参数

C.指定的信箱中无信件 D.指定的信箱中存满了信件

分析:为了实现进程间的通信,可以设立一个通信机构——信箱,以发送信件以及接收回答信件为进程间通信的基本方式。采用信箱通信的最大好处是,发送方和接收方不必直接建联系,没有处理时间上的限制。发送方可以在任何时间发信,接收方也可以在任何时间收信。为了实现信箱通信,必须提供相应的原语,如创建信箱原语、撤消信箱原语、发送信件原语和接收信件原语等。Send原语是发送原语,当进程调用Send原语被设置成“等信箱”状态时,意味着指定的信箱存满了信件,无可用空间。【答案:D】

【试题 3-10】2010年 5月真题 24

若在系统中有若干个互斥资源R,6个并发进程,每个进程都需要2个资源R,那么使系统不发生死锁的资源R的最少数目为(24)。

(24) A. 6 B. 7 C. 9 D.12

分析:若资源R的数目为6,6个进程并发执行,操作系统为每个进程分配1个资源R,此时已无可供分配的资源R,而每个进程还都需要1个资源R,则这6个进程由于请求的资源R得不到满足而死锁。对于选项B,操作系统为每个进程分配1个资源R后,系统还有1个可供分配的资源R,能满足其中的1个进程的资源R要求并运行完毕释放占有的资源R,从而使其他进程也能得到所需的资源R并运行完毕。【答案:B】

【试题 3-11】2010年 5月真题 25、26

某进程有5个页面,页号为0~4,页面变换表如下所示。表中状态位等于0和1分别表示页面不在内存或在内存。若系统给该进程分配了3个存储块,当访问的页面3不在内存时,应该淘汰表中页号为( 25)的页面。假定页面大小为4K,逻辑地址为十六进制2C25H,该地址经过变换后,其物理地址应为十六进制(26)。

 

(25)A.0 B.1 C. 2 D. 4

(26)A.2C25H B.4096H C. 4C25H D.8C25H

分析:页面变换表中状态位等于0和1分别表示页面不在内存或在内存,所以0、2和4号页面在内存。当访问的页面3不在内存时,系统应该首选淘汰未被访问的页面,因为根据程序的局部性原理,最近为被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该先淘汰未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无需写回辅存,使系统页面置换代价小。经上述分析, 0、2和4号页面都是最近被访问过的,但2和4号页面都被修改过而0号页面未修改过,故应该淘汰0号页面。

根据题意,页面大小为4KB,逻辑地址为十六进制2C25H,其页号为2,页内地址为C25H,查页表后可知页帧号(物理块号)为4,该地址经过变换后,其物理地址应为页帧号4拼上页内地址C25H,即十六进制4C25H。【答案:(25)A;(26)C】

【试题 3-12】2009年 11月真题 25、26

进程P1、P2、P3和P4的前趋图如下:


 

若用PV操作控制这几个进程并发执行的过程,则需要设置4个信号量S1、S2、S3和S4,且信号量初值都等于零。下图中a和b应分别填写( 25),c和d应分别填写( 26)。

 
(25)A.P(S1)P(S2)和 P(S3) B.P(S1)P(S2)和 V(S1)

C.V(S1)V(S2)和P(S1) D.V(S1)V(S2)和 V(S3)

(26)A.P(S1)P(S2)和P(S4) B.P(S2)P(S3)和P(S4)

C.V(Sl)V(S2)和V(S4) D.V(S2)V(S3)和 V(S4)

分 析:本题考查前趋图和PV操作。【答案:C、A】由进程P1、P2、 P3和P4的前趋图可知,P1是P2和P3的前趋,P1和P2又是P3的前趋,P3是P4的前趋。 P1执行完毕之后才能执行P2,所以进行 V(S1)和V(S2)操作。P2要想执行就必须先申请相应的资源,

所以进行P(S1)操作。由前趋图P3的前趋有两个,所以执行P3之前需要执行的操作有P(S1)P(S2)。P4执行之前也要申请相应的资源,即P(S4)。

【试题 3-13】2009年 5月真题 26、27

设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源的最大需求为w,那么当 m、n、w取下表的值时,对于下表中的a~e五种情况,( 26)两种情况可能会发生死锁。对于这两种情况,若将( 27),则不会发生死锁。

 

(26)A.a和b  B.b和c  C.c和d  D.c和e 

(27)A.n加1 或w加1  B.m加1 或w减1 

C.m减1 或w加1  D.m减1 或w减1

分 析:第26题,对于a,有R类资源2个,只有1个进程,它需要2个该类资源即可完成。故不会发生死锁。对于b,考虑最坏的情况,R类资源有2个,两个进程各分得1个R类资源,能顺利做完。不会发生死锁。对于c,同样考虑最坏的情况,两个进程各分得1个R类资源,由于该两个进程需要2个该类资源才能做完,并且已经没有多余的R类资源,故发生死锁。对于 d,考虑最坏的情况,R类资源有4个,三个进程各分得1个R类资源,剩下的1个资源任意分配各三个进程中的一个,使其顺利做完,然后释放该进程手中的资源,使其他进程也能顺利保持还行。故不会发生死锁。对于e,考虑最坏情况,同样三个进程各分得1个资源,剩下一个资源分配给任意一个进程都不能使其做完,因为进程做完需要三个该类资源。故会发生死锁。

第27题,在第26题分析的基础上,对于c和e,资源数加1或者进程做完所需的最大资源数减1都能使其顺利完成,不会发生死锁。【答案:D、B】

【试题 3-14】2008年 12月真题 23、24

假设系统中有四类互斥资源R1、R2、R3和R4,可用资源数分别为9、6、3和3。在T0时刻系统中有P1、P2、 P3和P4四个进程,这些进程对资源的最大需求量和已分配资源数如下表所示。在 T0时刻系统剩余的可用资源数分别为( 23)。如果P1、P2、P3和P4进程按(24)序列执行,那么系统状态是安全的。

(23)A.2、1、0和1  B.3、1、0和0 

C.3、1、1和1  D.3、0、1和1 

(24)A.P1→P2→P4→P3  B.P2→P1→P4→P3 

C.P3→P4→P1→P2  D.P4→P2→P1→P3

 

分 析:参考试题3-13(2006年11月真题24、 25)分析。【答案:B、D】

【试题 3-15】2008年 5月真题 23、24

某火车票销售系统有n个售票点,该系统为每个售票点创建一个进程 Pi. (i=1,2,…,n).。

假设 Hj (....单元存放某日某车次的剩余票数,Temp

j=1,2,…,m)为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为( 23)。Pi进程的工作流程如右图所示,若用P操作和V操作实现进程间的同步与互斥,则图中 a、b和c应分别填入( 24)。

 

 

(23)A.0B.1

C.2  D.3 

(24)A.P(S)、V(S)和V(S)  B.P(S)、P(S)和V(S) 

C.V(S)、P(S)和P(S)  D.V(S)、V(S)和P(S)

分 析:本题考查PV操作的相关知识,在计算机操作系统中,PV操作是进程管理中的难点。【答案:B、A】

利用信号量和PV操作实现进程互斥的一般模型是:

进程P1 进程P2  ……  进程Pn 

……  ……  …… 

P(S);  P(S);  P(S);

临界区; 临界区; 临界区; 

V(S);  V(S);  V(S); 

……  ……  ……

其中信号量S用于互斥,初值为1。使用PV操作实现进程互斥时应该注意的是:

(1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。

(2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。

(3)互斥信号量的初值一般为1。对于23题,有多个售票点,为了让每个售票点在售票时对剩余票数进行互斥操作,需设立一个互斥信号灯,其初值为1。

对于24题,当某个售票点有售票请求时信号灯进行P操作。根据流程图,对 Temp进行判断,若Temp≥x,则接受售票请求,否则拒绝售票请求。所以a处是P操作,b和c处是V操作,A答案正确。



原创粉丝点击