操作系统题库Word格式文档下载.docx

上传人:b****6 文档编号:19582643 上传时间:2023-01-08 格式:DOCX 页数:36 大小:300.14KB
下载 相关 举报
操作系统题库Word格式文档下载.docx_第1页
第1页 / 共36页
操作系统题库Word格式文档下载.docx_第2页
第2页 / 共36页
操作系统题库Word格式文档下载.docx_第3页
第3页 / 共36页
操作系统题库Word格式文档下载.docx_第4页
第4页 / 共36页
操作系统题库Word格式文档下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

操作系统题库Word格式文档下载.docx

《操作系统题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《操作系统题库Word格式文档下载.docx(36页珍藏版)》请在冰豆网上搜索。

操作系统题库Word格式文档下载.docx

7、进程的静态实体由___程序段_____、__相关数据段__和__PCB__三部分组成。

8、用于进程控制的原语主要有建立原语、撤消原语、挂起原语和_激活原语。

9、进程被创建后,最初处于__就绪__状态,然后经_进程调度程序______选中后进入___执行_____状态。

10、进程在运行中申请资源得不到满足,则它从___执行_____态变成___等待__态。

11、处于等待态的进程,其外围设备工作结束,则它变成__就绪__态。

12、进程从运行态变成就绪态,主要原因是_运行时间到_和__出现更高优先权进程_。

13、有多个进程等待分配CPU时,系统按一定的_优先级_______,从处于就绪态的进程中选择_第一_个进程,让它占有CPU,并把它的状态变成__运行__态。

14、进程的特征主要有_并发性_、_异步性_、独立性,制约性和结构性。

15、PCB的含义是_操作系统用于记录和刻画进程状态及有关信息数据结构。

16、操作系统依据___PCB_____对进程控制和管理。

17、进程创建工作主要完成的是创建进程控制块,并把它挂到__就绪__队列中。

18、一个进程完成自己的任务后,操作系统则要收回该进程占有的___地址空间__和撤消该进程的__控制块__。

19、如果系统中有N个进程,则在就绪队列中进程的个数最多为___N-1_____。

20、操作系统中用于完成一些特定功能的、不可中断的过程称为_原语_。

21、用于控制进程的原语有创建原语、撤消原语、_挂起原语_和__激活原语______。

22、进程有两种基本队列:

__就绪队列__和__等待队列__。

23、进程调度程序负责CPU的分配,它按照某种__算法___,从就绪的进程中选择一个进程,将其__PCB__中的有关现场信息送入处理器相应的寄存器中,使它占有处理器运行。

24、常用的进程调度算法有先来先服务、时间片轮转法和优先级法。

25、先来先服务调度算法是按照进程进入就绪列队的__先后次序__来选择其占用的CPU,在进程调度时总是把CPU分配给就绪列队的__队首__进程。

26、时间片是指允许进程一次性占用处理器的__CPU__。

时间片轮转算法常用于___分时_____操作系统。

27、我们把一个进程让出CPU,由另一个进程占用CPU的过程称为___进程切换_____。

28、当一个进程独占处理器顺序执行时,具有__封闭性__和_可再现性。

29、并发进程执行时,执行结果与它执行的_初始条件_有关;

进程的并发执行会破坏___封闭性_____和__可再现性___。

30、我们把并发过程中与_临界资源进行操作_有关的程序段称为临界区。

31、对__共享资源__的若干临界区必须互斥执行,而对__非共享资源______的临界区是不必互斥的。

32、一次至多___一____个进程能够进入临界区,当有进程在临界区__执行___时,其他想进入临界区的进程必须___等待_____。

33、任一个进入临界区的进程必须在__有限___时间内___进入_临界区。

34、每执行一次V操作,信号量的数值S加1。

若__S>

=0______,则该进程继续执行;

否则,从对应的___就绪_____队列中移出一个进程并将_执行状态赋予该进程。

35、利用信号量实现进程的_互斥与同步_,应为临界区设置一个信号量MUTEX,其初值为1,表示该资源尚未使用,临界区应置于_P(mutex)_和____V(mutex)____原语之间。

36、操作系统中信号量的值与_相应资源_的使用情况有关,它的值仅能由_P、V操作_来改变。

37、_PV操作_能够实现临界区的管理要求。

38、PV操作由___P操作__和__V操作__组成,是对__资源__进行操作。

39、P操作信号的值__S:

=S-1__,若结果小于0,则该进程值为__等待__状态。

V操作将信号量的值__S:

=S+1___,若结果_大于0__,则释放一个等待信号量的进程。

40、当并发进程存在竞争关系时必须排它地使用资源;

当并发进程存在协作关系时必须_共享资源_。

分别称为__进程的互斥__和_进程的同步_。

41、__互斥__是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许___一_____个进程去使用,其他要只用该资料的进程必须_等待_,直到占用资源者__释放__该资源。

42、进程的同步是指并发进程之间的一种__直接的协同工作__关系,一个进程的执行依赖另一个进程的__信息或信号___,当一个进程没有得到它时应__等待__,直到被___唤醒_____。

43、进程的同步和互斥反映了进程间__同步__和__互斥__的关系。

44、用PV操作是实现___同步__和__互斥__的有效工具,但若使用不当则不仅__会出现与时间相关的错误__而且会___产生死锁____。

45、并发进程之间通过___信号量_____交换的是少量的信息,这是一种_低级_通信方式;

而大量信息的传递要__消息传递__来实现,这是一种__高级__的通信方式,称为___消息传递机制___。

46、实际上,_进程互斥_是进程同步的一种特例。

47、目前常用的高级通信方式有共享存储器、_消息传递通信机制_、管道通信_等。

48、形成死锁的起因是_竞争资源_和_进程间推进顺序非法_。

49、避免死锁的一个著名的算法是__银行家算法___。

50、死锁产生的四个必要条件是__互斥条件_、_请求和保持条件、_不剥夺条件_和_循环等待条件_四种。

51、检测死锁后可采用剥夺进程占有的资源、_进程回退_、__进程撤销_和_系统重启_等办法来解除死锁。

52、在实际使用中,为了操作系统的安全和可靠,往往采用死锁的__预防__、___避免_____和____检测与解除____的混合策略,这样既可保证整个系统不出现死锁,又可以尽可能地提高资源利用率。

53、通常,线程的定义是__是进程中执行运算的最小单位__。

在现代操作系统中,资源的分配单位是_进程_,而处理机的调度单位是__线程__,一个进程可以有___多个___线程。

54、利用优先级调度算法进行进程调度时,即从就绪队列中选择优先级高的进程有两种不同的处理方式:

非抢占式优先权算法和抢占式优先权算法。

四、简答题

1、什么是进程?

它与程序相比有哪些特征?

答:

进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

进程与程序的主要区别:

(1)程序是永存的;

进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;

(2)程序是静态的观念,进程是动态的观念;

(3)进程具有并发性,而程序没有;

(4)进程是竞争计算机资源的基本单位,程序不是。

(5)进程和程序不是一一对应的:

一个程序可对应多个进程即多个进程可执行同一程序;

一个进程可以执行一个或几个程序

2、一个进程进入临界区的调度原则是什么?

进程进入临界区的调度原则是:

①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

②任何时候,处于临界区内的进程不可多于一个。

如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。

④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

空闲让进、忙则等待、有限等待、让权等待

3、在一个单CPU的多道程序设计系统中,若在某一时刻有N个进程同时存在,那么处于运行态、等待态和就绪态进程的最小和最大值分别可能是多少?

状态最大值最小值

运行态11

等待态N-10

就绪态N-10

4、为什么并发进程执行时可能会产生与时间有关的错误,如何避免?

由于进程运行时会随时被中断(包括时间片到、申请资源等),不仅断点不固定,而且中断多长时间也不固定,即进程是走走停停且它向前推进的相对速度无法由自身控制。

异步性

有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。

只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。

5、什么是PV操作,它有什么作用?

PV操作能够实现对临界区的管理要求。

它由P操作原语和V操作原语组成,对信号量进行操作,具体定义如下:

P(S):

①将信号量S的值减1,即S=S-1;

②如果S≥0,则该进程继续执行;

否则该进程置为等待状态,排入等待队列。

V(S):

①将信号量S的值加1,即S=S+1;

②如果S>

0,则该进程继续执行;

否则释放队列中第一个等待信号量的进程。

6、假设PV操作用信号量管理某个共享资源,请问当S>

0,S=0和S<

0时,它们的物理意义是什么?

一般来说,信号量S≥0时,S表示可用资源的数量。

执行一次P操作意味着请求分配一个单位资源,因此S的值减1;

当S<

0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。

而执行一个V操作意味着释放一个单位资源,因此S的值加1;

若S≤0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。

7、什么是死锁?

死锁的四个必要条件是什么?

死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。

产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。

8、操作系统为什么要引入进程?

进程与程序的关系是怎样的?

现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。

这对于我们理解、描述和设计操作系统具有重要意义。

进程定义为程序在并发环境中的执行过程,它与程序是完全不同的概念。

主要区别是:

(1)程序是静态概念,是永久性软件资源;

而进程是动态概念,是动态生亡的暂存性资源。

(2)进程是一个能独立运行的单位,能与其他进程并发执行,系统是以进程为单位分配CPU的;

而程序则不能作为一个能独立运行单位。

(3)程序和进程没有一一对应关系。

一个程序在工作时可以由多个进程工作,一个进程在工作时至少对应有一个程序。

(4)各个进程在并发执行时会产生制约关系,使各自推进的速度不可预测;

而程序作为静态概念,不存在这种异步特征。

进程和程序关系类似生活中的炒菜与菜谱。

菜谱相同,而各人炒出来的菜的味道却差别很大。

原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。

9、如何理解进程的顺序性与并发性?

进程的顺序性与并发性:

1、顺序性

顺序性包括两层含义:

(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;

(2)外部顺序性,对于多个进程来说,所有进程是依次执行的。

例如,假如有P1和P2两个进程,其活动分别为:

P1活动:

A1A2A3A4

P2活动:

B1B2B3B4

顺序执行时,有如下两种情形:

情形1:

A1A2A3A4B1B2B3B4

情形2:

B1B2B3B4A1A2A3A4

2、并发性

并发性包括如下两层含义:

(2)外部并发性,对于多个进程来说,所有进程是交叉执行的。

例如,对于上面P1和P2两个进程来说,并发执行有许多情形,如:

A1B1B2A2A3B3A4B4

B1B2A1A2A3B3B4A4

并发进程在其执行过程中,出现哪种交叉情形是不可预知的,这就是并发进程的不确定性,操作系统应当保证:

无论出现何种交叉情形,每个进程运行的结果都应当是唯一的,正确的。

10、什么是进程的同步与互斥?

进程的同步与互斥是指进程在推进时的相互制约关系。

在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能。

我们把前者称为进程同步,后者称为进程互斥。

进程同步是进程间共同完成一项任务时直接发生相互作用的关系。

为进程之间的直接制约关系。

在多道环境下,这种进程间在执行次序上的协调是必不可少的。

同步进程之间的关系如同接力赛跑中的运动员,或生产流水线的每一道工序。

进程互斥是进程之间的间接制约关系。

在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。

互斥进程之间的关系如同汽车在交叉路口争用车道,篮球比赛中双方争抢篮板球。

11、什么叫原语?

在操作系统中,往往设计一些完成特定功能的、不可中断的过程,这些不可中断的过程称为原语。

如P、V操作原语。

12、什么是线程?

它与进程有什么关系?

线程是进程中执行运算的最小单位,即处理机调度的基本单位。

它与进程的关系是:

一个线程只能属于一个进程,而一个进程可以有多个线程;

资源分配给进程,同一进程的所有线程共享该进程的所有资源;

处理机分给线程,即真正在处理机上运行的是线程;

线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。

特别注意的是:

传统操作系统中的进程概念与现代操作系统中的进程概念不同——简单说,传统操作系统中进程具有分配资源、调度运行两大功能,而现代操作系统中进程只作为分配资源单位,线程才作为调度运行单位。

13、试以生产者—消费者问题说明进程同步问题的实质。

一个生产者,一个消费者和一个产品之间关系是典型的进程同步问题。

设信号量S为仓库内产品,P-V操作配对进行缺一不可。

生产者进程将产品放入仓库后通知消费者可用;

消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。

14、用PV操作实现进程间的同步与互斥应该注意什么?

用PV操作实现进程间的同步与互斥,应该注意以下四个方面:

⑴对每一个共享资源都要设立信号量。

互斥时对一个共享资源设立一个信号量;

同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定;

⑵互斥时信号量的初值一般为1;

同步时至少有一个信号量的初值大于等于1;

⑶PV操作一定要成对调用。

互斥时在临界区前后对同一信号量作PV操作;

同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。

⑷对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。

五、综合题

1、某系统的进程状态转换图如下图所示,请回答:

⑴引起各种状态转换的典型事件有哪些?

1,就绪→运行:

CPU空闲,就绪态进程被调度程序选中。

2,运行→就绪:

正在运行的进程用完了本次分配给它的CPU时间片。

3,运行→阻塞:

运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。

4,阻塞→就绪:

阻塞态进程所等待的事件发生了,例如读数据的操作完成。

⑵当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一个进程作一次状态转换。

在什么情况下,当一个进程发生转换3时,能立即引起另一进程发生转换1?

试说明是否会发生这些因果转换:

2→1;

3→2;

4→1。

2—1:

可以。

运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

3—2:

不可以。

任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。

4—1:

某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。

2、某分时系统的进程出现如上图所示的状态变化。

试问⑴你认为该系统采用的是何种进程调度算法?

该分时系统采用的进程调度算法是时间片轮转法。

⑵把图中所示的每一个状态变化的原因填写在下表中。

变化

原因

进程被选中,变成运行态

时间片到,运行的进程排入就绪队列尾部

运行的进程启动打印机,等待打印

打印工作结束,等待的进程排入就绪队列尾部

等待磁盘读文件工作

磁盘传输信息结束,等待的进程排入就绪队列尾部

3、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。

但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。

为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:

⑴如何定义信号量及初值;

两个信号量m和s,s和m的初值均为1。

⑵在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:

进程A进程B进程C进程D

…………

[1][3][5][7]

readFreadFreadFreadF

[2][4][6][8]

进程A进程B进程C进程D

P(m)P(s)P(m)P(s)

readFreadFreadFreadF

V(m)V(s)V(m)V(s)

4、判断下面的同步问题的算法是否正确?

若有错,请指出错误原因并予以改正。

⑴设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。

⑵设A、B为两个并发进程,它们共享一临界资源。

其运行临界区的算法框图如图所示。

这个算法不对。

因为A、B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。

进行改正:

A、B两进程要同步使用缓冲区Q。

为此,设立两个信号量:

empty表示缓冲区Q为空,初值为1;

full表示缓冲区Q为满,初值为0。

算法框图如图所示。

A进程B进程

P(empty)P(full)

向Q写入信息从Q中读出信息

V(full)V(empty)

5、设有一台计算机,有两条I/O通道,分别接一台输入机和一台打印机。

输入机把一批数据逐一输入到缓冲区B1中,加工处理后再搬到B2中,并在打印机上打印,请问:

⑴系统要设几个进程来完成这个任务?

各自的工作是什么?

⑵这些进程间有什么样的相互制约关系?

⑶用P、V操作写出这些进程同步算法。

(1)系统可设三个进程来完成这个任务:

R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;

C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;

P进程负责从缓冲区B2中取出信息,并在打印机上印出。

②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;

C进程受R进程和P进程的约束:

B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;

P进程受C进程的约束:

B2中信息放满后P进程才可从中取出它们,进行打印。

③信号量含义及初值:

B1full&

shy;

——缓冲区B1满,初值为0;

B1empty——缓冲区B1空,初值为0;

B2full&

——缓冲区B2满,初值为0;

B2empty——缓冲区B2空,初值为0;

R进程C进程P进程

输入信息写入缓冲区B1P(B1full)P(B2full)

V(B1full)从B1中取出信息从B2中取出信息进行打印

P(B1empty)加工信息V(B2empty)

结果送入B2

V(B1empty)

V(B2full)

P(B2empty)

6、桌上有一空盘,允许存放一只水果。

爸爸可向盘中放苹果,也可向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。

规定当盘空时一次只能放一只水果供吃者取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。

Vardish,apple,banana:

Semaphore:

=1,0,0;

Main()

{cobegin

Father();

son();

daugher();

Coend}

Father()

{while(true)

{p(dish);

if放的是苹果v(apple);

elseV(banana)}

}

son()

{p(banana);

从盘子取香蕉;

v(dish);

吃香蕉;

}

daugher()

{p(apple);

从盘子取苹果;

v(dish)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1