操作系统

更新时间:2023-11-14 03:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

填空题:

1.进程从就绪到运行状态的转换由 调度 程序完成;从运行到就绪状态的转换的 主要原因是 时间片完 。

2.操作系统的三种基本类型是 批处理 系统 、 分时系统 和 实时系统 。

3.程序可并发执行的条件是 Bemstein条件 。

4.从结构上讲,进程由 程序段 、 数据段 和 进程控制块 组成。

5.同步机制应遵循的准则是 空闲让进 、 忙则等待 、 有待等待 、__让权等待______________

6.产生死锁的四个必要条件是 互斥条件 、 请求和保持条件 、不可剥夺条件 、和 环路条件 。

7.在没有快表的分页存储管理系统中,取一条指令(或操作数)需访问两次内存的原因是 页表在内存 。

8.在页式管理系统中,地址空间是 一 维的,而在段式管理系统中,地址空间是 二 维的。

9.操作系统的基本特征是 并发 、 共享 虚拟 、 异步 。 10.从用户的源程序进入系统到变成内存可执行程序,所经历的主要处理阶段有____编译___,__链接_____,和___装入______。

11.静态重定位在__装入_____时进行,而动态重定位在___运行____时进行。 12.虚拟存储器所具有的基本特征是__离散性____,___多次性____,__对换性____和

___虚拟性____。

13.一般说来,用户程序中所使用的地址是__逻辑地址________,而内存中各存储单元

的地址是_____物理地址_______。

14.I/O系统的结构分为两类: 微机型I/O 和 主机型I/O 。 15.I/O控制方式的发展经历了四个阶段,分别是 程序I/O方式 、 中断驱动I/O

控制方式 、 直接存储器访问DMA控制方式 、和 I/O通道控制方式。

选择题一:

1.操作系统的主要功能是管理计算机系统中的 D 。

A.程序 B.数据 C.文件 D.资源 2.产生死锁的基本原因是 B 和进程推进顺序非法。 A.资源分配不当 B.系统资源不足 C.作业调度不当 D.进程调度不当

3.在操作系统中, B 是竞争和分配计算机系统资源的基本单位。

A.程序 B.进程 C.作业 D.用户 4.动态重定位是在作业的 D 中进行的。 A.编译过程 B.装入过程 C.连接过程 D.执行过程 5.实时系统中的进程调度,通常采用 C 算法。 A.先来先服务 B.时间片轮转 C.抢占式的优先级调度 D.短作业优先

6.若信号量的初值为3,当前值为-2,则表示有 A 个等待进程。 A.2 B.3 C.4 D.5 7.死锁的避免是根据 D 采取措施实现的。

A.配置足够的系统资源 B.使进程的推进顺序合理 C.破环死锁的四个必要条件之一 D.防止系统进入不安全状态

8.设有3个作业,其运行时间分别为2小时,5小时,3小时,假定它们同时到达,并

在同一台处理机上以单道方式运行,则平均周转时间最小的执行顺序是 D 。 A.J1,J2,J3 B.J3,J2,J1 C.J2,J1,J3 D.J1,J3,J2 9.最佳适应算法的空白区是 B 。

A.按大小递减顺序排列 B.按大小递增顺序排列 C.按地址由小到大排列 D.按地址由大到小排列

10.分页式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数 C 。 A.成正比 B.成反比 C.无关 D.成固定比值 选择题二:

1.操作系统核心部分的主要特点是 B 。 A、一个程序模块 B、常驻内存 C、有头有尾的程序 D、串行执行 2.可重定位内存的分区分配目的为 A 。 A、解决碎片问题 B、便于多作业共享内存 C、回收空白区方便 D、便于用户干预 3.逻辑地址就是 B 。 A、用户地址 B、相对地址 C、物理地址 D、绝对地址 4.原语是 B 。 A、一条机器指令 B、若干条机器指令组成

C、一条特定指令 D、中途能打断的指令 5.进程和程序的一个本质区别是 A 。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。

6.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将 C 。 A.从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪

7.进程控制块是描述进程状态和特性的数据结构,一个进程 D 。 A.可以有多个进程控制块 B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 8.在一般操作系统中必不可少的调度是 D 。 A.高级调度; B.中级调度; C.作业调度; D.进程调度。 9.把逻辑地址转变为内存的物理地址的过程称作 D 。 A.编译; B.连接; C.运行; D.重定位。 10.文件目录的主要作用是 A 。 A、按名存取 B、提高速度 C、节省空间 D、提高外存利用率 11.UNIX操作系统是著名的 B 。 A.多道批处理系统; B.分时系统; C.实时系统; D.分布式系统 选择题三:

1.下列进程状态的转换中,哪一个是不正确的( C )。 A.就绪?运行 B.运行?就绪 C.就绪?阻塞 D.阻塞?就绪

2.某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( D )。

A.从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪

3.若P、V操作的信号量S初值为2,当前值为-1,则表示有( B )个等待进程。 A.0个 B.1个 C.2个 D.3个 4.把逻辑地址转变为内存的物理地址的过程称作( D )。 A.编译 B.连接 C.运行 D.重定位

5.在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的。 A.段表 B.页表 C.PCB D.JCB

6.在以下存贮管理方案中,不适用于多道程序设计系统的是( A )。 A.单用户连续分配 B.固定式分区分配 C.可变式分区分配 D.页式存贮管理

7.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是( D )。 A. 无上邻空闲区,也无下邻空闲区 B. 有上邻空闲区,但无下邻空闲区 C. 有下邻空闲区,但无上邻空闲区 D. 有上邻空闲区,也有下邻空闲区 8.在分段管理中, ( A )。

A 以段为单位分配, 每段是一个连续存储区 B 段与段之间必定不连续 C 段与段之间必定连续 D每段是等长的

9.消息缓冲通信是利用( B )为基础来实现进程间的数据交换。 A.文件系统 B.内存缓冲区 C.高速缓冲存储器 D.硬件 10.采用最佳适应分配算法时,应将空闲区按( B )顺序进行连接。 A.地址递增 B.由小到大 C.地址递减 D.由大到小

一、有5个任务几乎同时到达内存,估计的运行时间分别为2,4,6,8,10分钟,他们的

优先级分别为1,2,3,4,5(1为最低优先级)。对下面的每种调度算法,分别计算作业的平均周转时间。 (1) 优先级调度 22

(2) 时间片轮转(时间片为2分钟) 90/5

(3) 短作业优先 70/5

二、1. (5分)简述处理机三级调度分别完成什么工作?

1、(1)高级调度(作业调度)用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。 (2)低级调度(进程调度):它决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)中级调度:存储管理中的对换功能。

2.(10分)在一个两道作业的操作系统中,设在一段时间内先后到达4个作业,它们的提交时刻和运行时间由下表给出。若作业调度采用短作业优先的调度算法,进程调度采用优先权调度算法(数值越小,优先级越高)。

(1)完成下列表格

(2)计算平均周转时间、平均带权周转时间(小数点后保留两位) 进程名 A B C D 答:

2、完成表格如下: 进程名 A B C D 到达时间 0 2 3 5 估计运 行时间 4 3 5 2 优先数 5 3 4 6 进入内 存时间 0 2 4 7 完成时间 4 7 12 14 周转时间 4 5 9 9 带权周 转时间 1 1.67 1.8 4.5 到达 时间 0 2 3 5 估计运 行时间 4 3 5 2 优先数 5 3 4 6 进入内 存时间 完成 时间 周转 时间 带权周 转时间 平均周转时间=(4+5+9+9)÷4=27/4 平均带权周转时间=(1+1.67+1.8+4.5) ÷4=2.24

三、上题中,若作业调度采用短作业优先的调度算法,进程调度采用以优先权为基础的抢占式调度方式(数值越小,优先级越高)。

完成下表: 进程名 A B C D

答案见“进程调度课件”

到达 时间 0 2 3 5 估计运 行时间 4 3 5 2 优先数 5 3 4 6 进入内 存时间 0 2 7 5 完成 时间 7 5 12 14 周转 时间 7 3 9 9 带权周 转时间 1.75 1 1.8 4.5

死锁试题:

一、(10分) 某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程

对资源的占用和需求情况见下表,此刻系统的可用资源为(2,1,2)。 1.求系统中各种资源总数和此刻各进程对各种资源的需求数目。

2.如果此时P1和P2均提出资源请求Request(1,0,1),能否立即给予满足?

进程 最大需求量 占有量 R1 R2 R3 R1 R2 R3

P1 3 2 2 1 0 0 P2 6 1 3 4 1 1 P3 3 1 4 2 1 1 P4 4 2 2 0 0 2 答:

1.系统资源总数为(9,3,6)。

各种进程对资源需求矩阵为:

2 2 2

1 0 3

2 0 2 4 2 0

2.采用银行家算法进行计算得:系统不可以将资源分配给进程P1,虽然剩余资源可以满足进程P1现在的需求,但是一旦分配给进程P1后,就找不到一个安全执行的序列保证各个进程能够正常运行下去。因此进程P1进入等待状态。

系统可以满足P2的请求,因为分配完成后,至少还可以找到一个安全序列,如使各进程可以运行至结束。

二、(10分)在银行家算法中,若出现下述资源分配情况:

AllocationNeedAvailable p0 0 0 3 2 0 0 1 2 1 6 2 2 p1 1 0 0 0 1 7 5 0 p2 1 3 5 4 2 3 5 6 p3 0 3 3 2 0 6 5 2 p4 0 0 1 4 0 6 5 6 试问:(1) 该状态是否安全?

(2) 如果进程p2提出请求Request2 (1,2,2,2)后,系统能否将资源分配给它?

答:

(1)系统处于安全状态。因为存在安全序列{P0,P3,P1,P2,P4}。

(2)进程P2提出请求Request2(1,2,2,2)后,可用资源变为Available(0,4,0,0),此时已经不能满足任何进程的需求,系统进入不安全状态,按照银行家算法,不能将资源分配给它。

三、(12分) 某系统有A、B、C共3种资源,A资源的数量为17,B资源的数量为5,C资

源的数量为20。在T0时刻P1、P2、P3、P4和P5这5个进程对资源的占用和需求情况见下表。若系统采用银行家算法实施死锁避免策略,请问:

1、T0时刻是否安全?若是,请给出安全序列。

2、在T0时刻若进程P2提出资源请求(0,3,4),是否能实施资源分配,为什么?

进程 最大需求量 已分配资源数量 A B C A B C

P1 5 5 9 2 1 2 P2 5 3 6 4 0 2 P3 4 0 11 4 0 5 P4 4 2 5 2 0 4 P5 4 2 4 3 1 4 答:

1、T0时刻是安全状态。安全序列为P4 P2 P3 P5 P1(不唯一)

2、在T0时刻若进程P2提出资源请求(0,3,4),不能实施资源分配。因为在T0

时刻可用资源数为(2,3,3),显然资源C不能满足请求的数量,所以不能进行分配。P2阻塞。

一、解答题:

1. 什么是操作系统?它有什么基本特征?

答:操作系统是为了达到方便用户和提高资源利用率的目的而设计的,控制和管理计算机硬件和软件资源,合理的组织计算机工作流程的程序的集合,它具有并发、共享、虚拟、异步性四个基本特征。

2.(1)描述进程的三种基本状态,尽可能清楚地解释处于不同状态的进程在性质上的区别。

答:进程的三个基本状态有:

①、就绪状态:是指进程已分配到除CPU以外的所有必要的资源,只要能再获得处理机,便可立即执行。

②、执行状态:指进程已获得处理机,其程序正在执行。

③、阻塞状态:进程因发生某事件(如请求I/O、申请缓冲空间等)而暂停执行时的状态。

(2)画出进程状态变化图,说明进程怎样从一个状态转换到下一个状态。 答:进程基本状态转换图如下:

执行等待事件发生进程调度时间片完就绪事件发生阻塞

就绪→执行状态:处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。

执行→阻塞状态:正在执行的进程因发生某事件而无法执行。例如,进程请求访问临界资源,而该资源正被其它进程访问,则请求该资源的进程将由执行状态转变为阻塞状态。

执行→就绪状态:正在执行的进程,如因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。又如,在抢占调度方式中,一个优先权高的进程到来后,可以抢占一个正在执行优先权低的进程的处理机,这时,该低优先权进程也将由执行状态转换为就绪状态。 3.现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题: (1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? (2) 为支持进程状态的变迁,系统至少应提供哪些进程控制原语?

(3) 执行每一个进程控制原语时,进程状态发生什么变化?相应的数据结构发生什么变

化?

答:(1) 为支持多进程的并发执行,系统为每个进程建立了一个数据结构——进程控制块

(PCB),用于进程的管理和控制。

(2) 进程控制的主要职责是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程的状态转换等功能。在操作系统的内核中,有一组程序专门用于完成对进程的控制,这些原语至少需要包括创建新进程原语、终止进程原语、阻塞进程原语、唤醒进程原语等操作。这些系统服务一般对用户是开放的,也就是说用户可以通过相应的接口来使用它们。

(3) 进程创建原语:从PCB集合中申请一个空白PCB,将调用者参数、以及从执行进程获得的调用者内部标识填入该PCB,设置记账数据。置新进程为“就绪”状态。

终止进程原语:用于终止完成任务的进程,收回其所占的资源。消去该进程的PCB。 阻塞原语:将进程从运行态变为阻塞状态。进程被插入等待事件的队列中,同时修改PCB中相应的表项,如进程状态和等待队列指针等。

唤醒原语:将进程从阻塞态变为就绪状态。进程被从阻塞队列中移出,插入到就绪队列中,等待调度,同时修改PCB中相应的表项,如进程状态等。

4.何谓临界资源、临界区?使用临界资源的诸进程间如何实现对临界区的互斥访问?

答:一次仅允许一个进程访问的资源称为临界资源。访问临界资源的代码段称为临界区。对临界区必须互斥的访问。具体实现时,可让每个进程在进入临界区之前,先提出申请,经允许后方可进入(进入区),进程进入临界区执行完毕退出时,恢复临界区的使用标志为未被访问标志(退出区)。通常可采用专门的硬件指令或信号量机制对临界区进行管理。使用信号量机制是,可设置一个初值为1的互斥信号量,对每个进程的临界区进行如下“改造”:

. . . P(mutex);

临界区 V(mutex);

. . .

即将进程的临界区放置在P(mutex)和V(mutex)之间,就可以实现进程对其互斥访问。 5.使用信号量的P、V操作可以实现并发进程间的互斥。请写出P操作原语和V操作原语的定义?

答:P操作功能是请求系统分配一个单位的资源,定义如下: ①信号量的值减1,即S=S-1; ②如果S≥0,则该进程继续执行;

如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。 V操作功能是释放一个单位的资源,定义如下: ①S值加1,即S=S+1;

②如果S>0,则该进程继续运行;

如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所

对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。 6.什么是死锁?产生死锁的四个必要条件是什么?

答:所谓死锁(Deadlock),是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。产生死锁的四个必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。 7.简述死锁的预防与死锁的避免的区别。

答:死锁的预防是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。

而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才

把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。

8.解决生产者-消费者问题的算法中,若将P(empty)和P(mutex)的次序互换,或将P(full)和P(mutex)的次序互换,可能会产生死锁。请问在什么情况下会产生死锁?

答:解决生产者-消费者问题的算法中,若将P(empty)和P(mutex)的次序互换,在缓冲区满的情况下(empty=0,full=n),若生产者先提出申请,获得对缓冲区的访问权,但申请不到空缓冲块,在empty处阻塞,这个时候若再来消费者进程,申请不到对缓冲区的访问权,在mutex处阻塞,这时会产生锁死。

将P(full)和P(mutex)的次序互换,在缓冲区空的情况下(empty=n,full=0),若消费者先提出申请,获得对缓冲区的访问权,但申请不到满缓冲块,在full处阻塞,这个时候若再来生产者进程,申请不到对缓冲区的访问权,在mutex处阻塞,这时会产生锁死。 9.消息缓冲通信技术是一种高级通信机制。请给出消息缓冲通信机制(有限缓冲)的基本工作原理。

答:操作系统管理一个用于进程通信的缓冲池,其中的每个缓冲区单元可存放一条消息。欲发送消息时,发送者从中申请一个可用缓冲区,直接将消息送入内存公用消息缓冲池,并将它挂接在接收者进程的消息缓冲队列上,接收进程从消息缓冲队列中取走消息,并释放该缓冲区,每个进程均设置一条消息队列,任何发送给该进程的消息均暂存在其消息队列中。

10.(1)简述处理机三级调度分别完成什么工作? (2)列举引起进程调度的时机?

(3)分析下述问题应由哪一级调度程序负责。

? 在可获得处理机时,应将它分给哪个就绪进程; ? 在短期繁重负载下,应将哪个进程暂时挂起。

答:(1) 高级调度:即作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。

低级调度:即进程调度,它决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

中级调度:实际上就是存储器管理中的对换功能。

(2) 引起进程调度的时机有:

? 正在执行进程执行完毕或因发生某事件而不能再继续执行。 ? 执行中的进程因提出I/O请求而暂停执行。

? 在进程通信或同步过程中执行了某种原语操作,如P操作、block原语、

wakeup原语等。

? 在可剥夺式调度中,有一个比当前进程优先权更高的进程进入就绪队列。

本文来源:https://www.bwwdw.com/article/084v.html

Top