文档库 最新最全的文档下载
当前位置:文档库 › 操作系统-习题-分章-詹炜(含答案)

操作系统-习题-分章-詹炜(含答案)

第一章OS概述

操作系统:操作系统是控制和管理计算机硬件和软件资源,合理地组织计算机的工作流程,以及方便用户的程序的集合。其主要功能是实现处理机管理、内存管理、I/O设备管理、文件管理和用户接口。

填空题

1.操作系统是运行在计算机裸机系统上的最基本的系统软件。

2. 操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

3.现代操作系统的两个重要特征是并发和共享。

4以多道程序设计为基础的现代操作系统具有并发性、虚拟性、共享性、不确定性四个基本特征。

5操作系统提供给编程人员的唯一接口是系统调用。

6现代操作系统的两个重要特征是并发和共享。

7计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。

8现代操作系统的两个重要特征是并发和共享。

9对于系统的总体设计目标来说,批处理系统应注重提高系统的效率,尽量增加系统的吞吐量,分时系统应保证用户响应时间;而实时系统则应在保证及时响应和可靠性的前提下,再考虑系统资源的利用率。吞吐率响应时间

10.计算机操作系统是方便用户、管理和控制计算机系统资源的系统软件。

11.在操作系统中的异步性主要是指在系统中进程推进的顺序是走走停停。

12. 现代操作系统的特征是并发、共享、虚拟和异步性。

13.操作系统的五大功能是CPU管理、存储管理、设备管理、文件系统和用户接口。

14.操作系统是运行在计算机基本硬件(或:硬件)系统上的最基本的系统软件。

15.操作系统的主要设计目标是方便用户使用或界面友好和系统能高效工作或资源利用率高。

16. 操作系统的基本类型有批处理操作系统,分时操作系统和实时操作系统三种。

17.在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。分时系统采用的调度方法是时间片轮转调度算法。2秒/100=20ms

选择题

1. 实时操作系统追求的目标是()。

A.高吞吐率

B.充分利用内存

C. 快速响应

D. 减少系统开销

2. 操作系统是为了提高计算机的[1利用率]和方便用户使用计算机而配置的基本软件。它负责管理计算机系统中的[2资源],其中包括[3处理机],[4主存储器],外部设备和系统中的数据。操作系统中的[3处理机]管理部分负责对进程进行管理。操作系统对系统中的数据进行管理的部分通常叫做[5数据库系统]。

供选择的答案:

[1] A、速度B、利用率C、灵活性D、兼容性

[2] A、程序B、功能C、资源D、进程

[3] F[4]A A、主存储器B、虚拟存储器C、运算器

D、控制器

E、微处理器

F、处理机

[5] A、数据库系统B、文件系统C、检索系统

D、数据库

E、数据存储系统

F、数据结构

G、数据库管理系统

3. 批处理系统的主要缺点是()。

的利用率不高 B.失去了交互性

C.不具备并行性

D.以上都不是

4. 操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为[1]、[2]、[3]、网络操作系统和分布式操作系统基本类型。其中[1]的主要目标是提高系统的吞吐率和效率,而[2]是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[4]等。

供选择的答案:

[1]B[2]E[3]C

A、单用户系统

B、批处理系统

C、分时系统

D、微机操作系统

E、实时系统

[4]

A、计算机激光照排系统

B、办公自动化系统

C、计算机辅助设计系统

D、航空订票系统

5. 现代操作系统的两个基本特征是()和资源共享。

A.多道程序设计

B. 中断处理

C.程序的并发执行

D. 实现分时与实时处理

6. 以下()项功能不是操作系统具备的主要功能。

A.内存管理B.中断处理C.文档编辑D.CPU调度

7. 批处理系统的主要缺点是()。

的利用率不高 B.失去了交互性

C.不具备并行性

D.以上都不是

8. 在分时系统中,时间片一定时,( )响应时间越长

A.内存越多

B.用户数越多

C.后备队列

D.用户数越少

9. 操作系统有多种类型:允许多个用户以交互方式使用计算机的操作系统,称为B;允许多用户将若干个作业提交给计算机系统集中处理的操作系统,称为A;在C的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应;在IBM-PC机上的操作系统称为D。

A:批处理操作系统;B:分时操作系统;C:实时操作系统;D:微机操作系统;E:多处理机操作系统;F:分布式操作系统

10. 关于操作系统的叙述是不正确的。

A.“管理资源的程序”

B.“管理用户程序执行的程序”

C.“能使系统资源提高效率的程序”

D.“能方便用户编程的程序”

11()不是分时系统的基本特征

A 同时性B独立性C实时性D交互

12实时系统应具有两个基本特征: 及时性和______.。

A、虚拟性

B、同步性

C、可靠性

D、有效性

13分时系统采用时间片轮转算法,主要是为了解决________

A、减小CPU空闲

B、缩短响应时间

C、增加人机交互

D、提高吞吐率

14分时系统追求的目标是().

A、提高系统吞吐量

B、缓冲设备速度差异

C、提供设备独立性

D、缩短响应时间

15以下()项功能是操作系统具备的主要功能

A、内存管理

B、中断处理

C、文档编辑

D、CPU调度

16在操作系统的层次结构中,()是操作系统的核心部分,它位于最内层。

A.存储管理B.处理机管理C.设备管理D.作业管理

17 UNIX操作系统是一个( )

A.交互式分时操作系统B.多道批处理操作系统C.实时操作系统D.分布式操作系统

18以下著名的操作系统中,属于多用户、分时系统的是( )。

A.DOS系统B.UNIX系统C.Windows NT系统D.OS/2系统

判断题

操作系统提供了大量的服务,在最高层是系统调用,它允许正在运行的程序直接得到系统的服务(对)

虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。(对)

操作系统是整个计算机系统的控制管理中心,它对其它软件具有支配权利。因而,操作系统建立在其它软件之上。(错)

第二章进程管理

填空题

1.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。

2.进程由程度、数据和FCB组成。

3.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。

4. 在操作系统中,进程是一个资源分配的基本单位,也是一个独立运行和调度

的基本单位。

5. 在信号量机制中,信号量S > 0时的值表示可用资源数目;若S < 0,则表示等待该资源的进程数,此时进程应阻塞。

6. 常用的进程通信方式有管道、共享存储区、消息机制和邮箱机制。

7. 正在执行的进程等待I/O操作,其状态将由执行状态变为阻塞状态。

8.若干个事件在同一时刻发生称为并行,若干个事件在同一时间间隔内发生称为并发。

9.进程间通信的方式有管道、共享存储区和消息传递方式。

10.进程由程序、数据和PCB组成。

11.在生产者—消费者问题中,消费者进程的两个wait原语的正确顺序为

Wait(full);和wait(mutex);。

12、消息队列和信箱机制。

13.进程和线程都是系统进行的基本单位,它们最大的区别在于进程是具有一定独bai立功能的程序关于某du个数据集合上的一次运行活动zhi,进程是系dao统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.

一个进程可以包含多个线程。

14.如果信号量的当前值为3,表示可用的资源数目为3,如果信号量的当前值为-3,则表示示3 个进程进入阻塞状态。

15.如果信号量的当前值为4,则表示可用的资源数目为4,如果信号量的当前值为-4,则表示4 个进

16.在操作系统中进程是一个拥有资源的单位,也是一个调度和执行的基本单位。

17.一次只允许一个进程访问的资源叫临界资源。

18.操作系统中,进程可以分为系统进程和用户进程两类。

19.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。

20.对信号量S的操作只能通过P、V操作进行,对应每一个信号量设置了一个等待队列。

21.进程由程度、数据集合、进程控制块及相关表格组成。

22.当一个进程完成了特定的任务后,系统收回这个进程所占的工作区或主存空间或资源和取消该进程的进程控制块(PCB)就撤消了该进程。

23.

24

25当一个进程独占处理器顺序执行时,具有两个特性:封闭性可再现性

26在单CPU系统中有n(n>1)个进程,在任一时刻处于就绪的进程最多是_n-1_个,最少是__0_____个。

27进程通信中的消息通信是通过___发送原语______和__接收原语_______两个原语来实现的。

28在消息缓冲通信方式中通信的基本方式是消息______。

选择题

1.共享变量是指()访问的变量。

A、只能被系统进程

B、只能被多个进程互斥

C、只能被用户进程

D、可被多个进程

2.临界区是指并发进程中访问共享变量的()段。

A、管理信息

B、信息存储

C、数据

D、程序

3.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()

个进程参于竞争,而不会发生死锁。

A、5

B、2

C、3

D、4

4 .我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,正确的论述为。

A:对临界资源是不能实现资源共享的。

B:只要能使程序并发执行,这些并发执行的程序便可对临界资源实现共享。

C:为临界资源配上相应的设备控制块后,便能被共享。

D:对临界资源,应采取互斥访问方式,来实现共享。

5. 对于记录型信号量,在执行一次P操作时,信号量的值应当C;在执行V操作时,信号量的值应当B。A:不变;B:加1;C:减1;D:加指定数值;E:减指定数值。

6. 引入多道程序的目的在于()。

A. 充分利用CPU,减少CPU等待时间

B. 提高实时响应速度

C. 有利于代码共享,减少主、辅存信息交换量

D 充分利用存储器

7 在消息缓冲通信方式中通信的基本方式是______。

A、文件

B、消息

C、记录

D、字段

8 进程是程序的执行过程,可以处于不同的状态,这种性质称作进程的()。

A、动态性

B、并发性

C、调度性

D、异步性

9如果信号量S的值是0,此时进程A执行wait(S)操作,那么,进程A会()

A、继续运行

B、进入阻塞态,让出CPU

C、进入就绪态,让出CPU

D、继续运行,并唤醒S队列头上的等待进程

10原语是一种特殊的系统调用命令,它的特点是()

A、功能强

B、自己调用自己

C、可被外层调用

D、执行时不可中断

11程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分配系统资源。(对12原语是一种特殊的系统调用命令,它的特点是()

A、功能强

B、自己调用自己

C、可被外层调用

D、执行时不可中断

13在操作系统中,进程的最基本的特征是( )。

A.动态性和并发性B.顺序性和可再现性C.与程序的对应性D.执行过程的封闭性

14下面关于线程的叙述中,正确的是()。

A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。

B.线程是资源的分配单位,进程是调度和分配的单位。

C.不管系统中是否有线程,进程都是拥有资源的独立单位。

D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。

15处于运行状态的操作系统程序应放在()

A.寄存器中B.高速缓冲存储器中C.主存储器中D.辅助存储器中

16引入进程的原因是()

A.提高资源的利用率和控制程序的执行

B.提高资源的利用率和正确描述程序的执行情况

C.提高程序的执行速度和控制程序的执行

D.提高程序的执行速度和正确描述程序的执行情况

判断题

(×)1.并发性是指若干事件在同一时刻发生。

(×)2.用户为每个自己的进程创建PCB,并控制进程的执行过程。

(√)3.原语是一种不可分割的操作。

(×)4.线程是最小的拥有资源的单位。

(×)5.进程可以删除自己的PCB表。

(√)6.执行原语时不会响应任何中断。

(√)7.对临界资源应采取互斥访问方式来实现共享。

(×)8.并发性是指若干事件在同一时刻发生。

(对)9并发性是指若干进程在一段时间内都往前推进了一段,给用户同时执行的感觉,但微观上还是串行的。

(对)10.进程是最小的拥有资源的单位。

(√)11.执行原语时不会响应任何中断。

(×)12.用户为每个自己的进程创建PCB,并控制进程的执行过程。

(错)13 PCB是由操作系统初启时在一次创建的,它形成PCB池,由进程创建原语分配使用

(×)14.执行原语时有跟高优先级的进程要执行时它将被中断。

(对)15在进程状态的转换中,从就绪态转换到阻塞态是不可能实现.

(错)16进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。(错)17进程从运行状态变为阻塞状态的原因是输入或输出事件发生。

(错)18进程A和进程B都要使用系统中同一台打印机,为了保证打印结果的正确性,两个进程要先后分别使用打印机,这属于进程的同步关系。

简答题

1.原语:它是由若干条机器指令所构成,用以完成特定功能的一段程序,为保证其操作的正确性,它应当是原子操作,即原语是一个不可分割的操作。

2.进程:进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立的基本单位。

:系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消

4.简述进程的几种状态和引起状态转换的典型原因,以及相关的操作原语。

进程的基本状态有:新、就绪,阻塞,执行、挂起和终止六种。

新到就绪:交换,创建原语

就绪到执行:进程调度

执行到阻塞:I/O请求,阻塞原语

阻塞到就绪:I/O完成,唤醒原语

执行到就绪:时间片完

阻塞到挂起:挂起原语

挂起到就绪:唤醒原语

执行到终止:进程执行完毕

6.在生产者—消费者问题中,能否将生产者进程的wait(empty)和wait(mutex)语句互换,为什么

不能。(2分)

因为这样可能导致系统死锁。当系统中没有空缓冲时,生产者进程的wait(mutex)操作获取了缓冲队列的控制权,而wait(empty) 导致生产者进程阻塞,这时消费者进程也无法执行。(3分)

7.不同用户的不同任务之间的进程是有临界区为什么请举例说明。

答:完全可能有临界区,如打印程序是可以由不同用户的不同进程使用,但是只能有一个进程在某一时刻进入。

8.什么是进程什么是线程线程与进程有什么关系

答:进程是程序关于某个数据集的一次运行,

一个程序多次运行可以形成多个进程。

线程是系统处理机调度的单元,是进程为了争夺处理机而产生

一个进程至少有一个主线程,随着业务的需要,它可以创建多个线程,它们是进程的多个线程,共享进程的资源,但替进程争取处理机

9.信号量一般是由哪些成员组成的它的值表示什么含义

组成:一个整数:表示资源量的数目

一个队列:存放等待资源而阻塞的进程队列的队首

进程同步程序题

1 假设有三个进程R、W0、W1共享一个缓冲区B,而B中一次只能存放一个数据。进程R从输入设备上读数据送缓冲区B,若存放的数是偶数,则允许W0将其取出并打印;若存放的数是奇数,则允许W1将其取出并打印。试利用信号量和wait、signal操作写出实现这三个进程能同步工作的程序。(要求说明所设信号量的作用及初值)

解:

Var empty , full1 , full2 := semaphore := 1 , 0 , 0 ;

进程A1,A2,…,An 通过K 个缓冲区向进程B1,B2,…,Bm 不断地发送消息。发送和接收工作遵循如下规则:

每个发送进程一次发送一个消息,写入缓冲区,缓冲区大小与消息长度一致;

对每个消息,B1,B2,…,Bm 都需接收一次,读入各自的数据区内;

K 个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。

试用wait 和signal 原语操作组织正确的发送和接收操作。(10分)

解:

BEGIN

Integer Mutex, Avail[n], Full[m];

Integer I;

Mutex:=1;

FOR i:=1 TO m DO

BEGIN

Avail[I] := k;

Full[I] := 0;

END

PROCEDURE Send(K)

Integer I;

BEGIN

7. Jruassic 公园有一个恐龙博物馆和一个公园.有m个旅客和n辆车,每辆车只能容纳一个旅客。旅客在博物馆逛了一会儿,然后排队乘坐旅行车。当一辆车可用时,它载入一个旅客,然后绕公园行驶任意长的时间。如果n 辆车都已被旅客乘坐游玩,则想坐车的旅客需要等待;如果一辆车已经就绪,但没有旅客等待,那么这辆车等待。使用信号量同步m个旅客和n辆车的进程。(10分)

解:

visitors=m; cars=n; mutex=1;

Pvi() Pci()

{ repeat { repeat

wait(cars); wait(visitors);

wait(mutex); wait(mutex);

get on; start;

travell; run;

get off; stop;

signal(cars); signal(visitors);

wait(mutex); wait(mutex);

until false; until false;

} }

8.读者与写者问题(reader -- writer problems ) (10分)

在计算机体系中,对一个共享文件进行操作的进程可分为两类:读操作和写操作,它们分别被称为读者和写者。访问该文件时读者和写者,写者和写者间必须实现互斥。只有在没有读者访问文件时,写者才允许修改文件。或者写者在修改文件时不允许读者去读,否则会造成读出的文件内容不正确。试写出算法描述读者和写者的问题。

解:为了实现读者与写者的同步和互斥,我们设置一个信号量S,用于读者与写者之间或写者与读者之间的互斥,初值为“1”。用一个变量rc 表示当前正在读的读者个数,当进程可以去读或读结束后都要改变rc 的值,因此rc 又成为若干读进程的共享变量,它们必须互斥地修改rc。故必须定义另一个用于互斥的信号量Sr,初值也是“1”。读者--写者问题可描述如下:

S, Sr:semaphore;int rc = 0; S=Sr=1;

process Reader I (i=1,2,...,m) process Writer j (j=1,2,...,k)

begin begin

P(Sr); rc = rc+1; P(S);

if (rc==1) P(S); Write file F;

V(Sr); V(S);

read file F; end

P(Sr); rc = tc-1;

if (rc==0) V(S);

V(Sr);

end

9、生产者和消费者问题(10分)

有一组生产者P1,P2,……,PM和一组消费者C1,C2,……,CK,他们通过由n个环形缓冲区构成的缓冲池进行通信,生产者把产品放入缓冲区,消费者从缓冲区取产品来消费。请用wait和signal原语实现他们的同步操作。

解:生产者和消费者问题

begin

Var mutex,empty,full:semaphore:=1,n,0;

buffer:array[0,…,n-1] of item;

in,out:integer := 0,0;

parbegin

producer: begin

repeat

produce next product ;

wait (empty);

wait (mutex);

buffer(in):=nextp ;

in := (in+1) mod n ;

signal (full);

signal (mutex);

until false ;

end

consumer: begin

repeat

wait (full);

wait (mutex);

nextc := buffer(out);

out := (out+1) mod n;

signal (empty);

signal (mutex);

consume the item in nextc;

until false ;

end

parend end

10、请用信号量描述哲学家进餐问题。(15分)

解:哲学家进餐问题(15分)

public void philosopher (int i) {

while (true) {

think();

wait (fork[i]);

wait (fork [(i+1) % 5]);

eat();

signal(fork [(i+1) % 5]);

signal(fork[i]);

} }

11.今有三个并发进程R,M,P,它们共享了一个可循环使用的缓冲区B,缓冲区B共有N个单元。进程R 负责从输入设备读信息,每读一个字符后,把它存放在缓冲区B的一个单元中;进程M负责处理读入的字符,若发现读入的字符中有空格符,则把它改成“,”;进程P负责把处理后的字符取出并打印输出。当缓冲区单元中的字符被进程P取出后,则又可用来存放下一次读入的字符。请用PV操作为同步机制写出它们能正确并发执行的程序。(10分)

解:(10分)

begin

Var mutex,input,calculate,output:semaphore:=1,n,0,0;

buffer:array[0,…,n-1] of item;

in,mid,out:integer := 0,0,0;

proR() { d o {

wait (input);

wait (mutex);

buffer(in):=input data;

in := (in+1) mod n ;

signal (calculate);

signal (mutex);

while true ; }

proM() { do {

wait (calculate);

wait (mutex);

buffer(middle):=calculate data ;

mid := (mid+1) mod n ;

signal (output);

signal (mutex);

} while true ; }

proP() { do {

wait (output);

wait (mutex);

buffer(out):=calculate data ;

out := (out+1) mod n ;

signal (input);

signal (mutex);

} while true ; }

12.理发店里有一位理发师、一把理发椅子和五把供等候理发的顾客坐的椅子。如果没有顾客,理发师便在理发椅上睡觉。当一个顾客到来时,他必须先叫醒理发师,如果理发师正在理发时又有顾客来到,而如果有空椅子可坐,他们就坐下来等,如果没有空椅子,他就离开。这里的问题是为理发师和顾客各编写一段程序来描述他们行为,并用wait和signal原语操作实现其同步。(10分)

解:理发师问题

#define CHAIRS 5 /*为等候的顾客准备椅子数*/

typedef int semaphore; /* 运用你的想像力*/

semphore customers=0; /*等候服务的顾客数*/

semaphore barbers=0 /*等候服务的理发师数*/

semaphore mutex=1; /*用于互斥*/

int waiting=0; /*还没理发的等候顾客*/

void barber (void) {

while(TRUE) {

wait(customers); /*如果顾客数是0,则睡觉*/

wait(mutex); /*要求进程等候*/

waiting=waiting-1; /*等候顾客数减1*/

signal(barbers); /*一个理发师现在开始理发*/

signal(mutex); /*释放等候*/

cut_hair(); /*理发(非临界区操作)*/

}

void customers (void) {

wait(mutex);

if (waiting

waiting=waiting+1;

signal(customers);

signal(mutex);

wait(barbers);

} else {

signal(mutex);

} }

13、根据如下的前趋图写出可并发执行的程序:(10分)

解:(10)

评分:变量、进程、程序主体每项一分。

var a,b,c,d,e,f,g,h,i:semaphore := 0,0,0,0,0,0,0,0;

begin parbegin

begin S1;signal(a); signal(b); end

begin wait(a); S2; signal(c);signal(d); end

begin wait(c); S3; signal(e);signal(f); end

begin wait(b); S4; signal(g); end

begin wait(d);wait(e) S5; signal(h); end

begin wait(f); wait(g); S6 ; signal(i); end

begin wait(h); wait(i); S7; end

parend

end

14、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:

(1)用wait和signal操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

(2)根据所定义的信号量,加上wait和signal原语,写出购票者进程的算法,以保证进程能够正确地并发执行。

(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

解:(1)定义一信号量S,初始值为20。

意义:

S>0S的值表示可继续进入售票厅的人数

S=0表示售票厅中已有20名顾客(购票者)

S<0|S|的值为等待进入售票厅的人数

(2) int S=20;

COBEGIN PROCESS PI(I=1,2,……)

begin

进入售票厅;

wait(S);

购票;

signal(S);

退出;

end;

COEND

(3)S的最大值为20

S的最小值为20-n

第三章处理解调度与死锁

1死锁:指多个进程因竞争资源二造成的一种僵局,若无外力的作用,这些进程将永远不能再向前推进。2.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。

3有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1

4一个作业从进入系统到运行结束,一般要经历“后备”、“执行”和“完成”三个

不同状态。

5在批处理兼分时的系统中,往往由分时系统控制的作业称为前台作业,而由批处理系统控制的作业称为后台作业。

6.一个理想的作业调度算法应该是既能提高系统效率或吞吐量高及时得到计算结果又能使进入系统的作业周转时间短等_。

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

8在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。

9

若采用短作业优先调度策略,作业单道串行运行时的调度次序为J1,J3,J2,平均周转时间=8。

10系统为一个有6页的进程分配4个物理块,其页表如下所示(时间单位:滴答),页的大小为1K,请计算逻辑地址为0x17C8的物理地址。

页号块号装入时间上次引用时间R(读) M(修改)

0 7 126 279 0 0

1 4 230 260 1 0

2 2 120 272 1 1

3 9 160 280 1 1

11按CLOCK算法为0x03C8;按FIFO算法为0x0BC8;按LRU算法为0x07C8。

12用户要求计算机系统所做的工作的集合称为作业。

13一作业进入内存后,则所属该作业的进程初始时处于()状态。

A、运行

B、等待

C、就绪

D、收容

14运行时间最短的作业被优先调度,这种企业调度算法是()

A.优先级调度

B.响应比高者优先

C.短作业优先

D.先来先服务

15产生死锁的主要原因是进程运行推进的顺序不合适()

A.系统资源不足和系统中的进程太多

B.资源的独占性和系统中的进程太多

C.进程调度不当和资源的独占性

D.资源分配不当和系统资源不足

16 B是指从作业进入系统到作业完成所经过的时间间隔;D是从作业进入后备队列起,到被调度程序选中时的时间间隔。

A:响应时间;B:周转时间;

C:运行时间;D:等待时间;

F:触发时间。

17产生死锁的四个必要条件是互斥条件和(1) ,不剥夺条件和(2) 。

(1) A:请求和阻塞条件;B:请求和释放条件;

C:请求和保持条件;D:释放和阻塞条件;

E:释放和请求条件。

(2) A:线性增长条件;B:环路条件;

C:有序请求条件;D:无序请求条件。

18CPU的调度分为高级、中级和低级三种,其中低级调度是指调度。

A:作业B:交换C:进程

19为了对紧急进程或重要进程进行调度,调度算法应采用()。

A.先进先出调度算法

B. 优先数法

C.最短作业优先调度

D. 定时轮转法

20我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用B;为照顾紧急作业用户,应采用E,为能实现人机交互作用应采用C,而能使短作业,长作业及交互作业用户都比较满意时,应采用D。

A:FCFS调度算法;B:短作业优先调度算法;C:时间片轮转法;D:多级反馈队列调度算法;E:基于优先权的剥夺调度算法;F:响应比优先算法。

21 产生死锁的基本原因是(1) 和(2) 。

(1) A:资源分配不当;B:系统资源不足;C:作业调度不当;D:资源的独占性。

(2) A:进程推进顺序非法;B:进程调度不当;C:系统中进程太多;D:CPU运行太快。

22 产生死锁的四个必要条件是互斥条件和(1) ,不剥夺条件和(2) 。

(1) A:请求和阻塞条件;B:请求和释放条件;C:请求和保持条件;D:释放和阻塞条件;E:释放和请求条件。

(2) A:线性增长条件;B:环路条件;C:有序请求条件;D:无序请求条件。

23一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是。

产生系统死锁的原因可能是由于()。

A、进程释放资源

B、一个进程进入死循环

C、多个进程竞争,资源出现了循环等待

D、多个进程竞争共享型设备

25一个作业从提交开始到完成,往往要经历____高级________、__中级__________和___低级_________三级调度。

26在响应比高者优先的作业调度算法中,当各个作业等待时间相同时,的作业将得到优先调度;当各个作业要求运行的时间相同时,的作业得到优先调度。运行时间短等待时间长

27引起死锁的四个必要条件是__互斥______、保持和等待、___不剥夺_____、循环等待。

28对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于__避免______,破坏环路等待条件是属于预防,而剥夺资源是__解除

______ 的基本方法。

29避免死锁的一个著名算法是()

A、先入先出算法

B、银行家算法

C、优先级算法

D、资源按序分配法

(T )确定作业调度算法时应主要考虑系统资源的均衡使用,使I/O繁忙型作业和CPU繁忙型作业搭配运

行。

(T )动态优先级算法允许进程的优先级在运行期间不断改变。

(T )作业调度往往选择对资源需求不同的作业进行合理搭配,使得系统中个部分资源都得到均衡利用。

(T )时间片轮转法主要用于分时系统中的进程调度。

优先数是进程调度的重要依据, 一旦确定不能改变。(T )

在进行作业调度时,要想兼顾作业等待时间和计算时间,应选取响应比高者优先算法。(T )

作业调度选择一个作业装入主存后,该作业能否占用处理器必须由作业控制来决定。( F )

进程申请CPU得不到满足时, 其状态变为等待态。(T )

进程得不到处理机,则进入到就绪队列,等待进程调度

进程所请求的一次打印输出结束后,将使进程状态从()

A、运行态变为就绪态

B、运行态变为等待态

C、就绪态变为运行态

D、等待态变为就绪态

运行时间最短的作业被优先调度,这种作业调度算法是()

A.优先级调度B.响应比高者优先C.短作业优先D.先来先服务

CPU的调度分为高级、中级和低级三种,其中低级调度是指()调度。

A.作业

B.交换

C.进程

D. 线程

产生系统死锁的原因可能是由于()。

A、进程释放资源

B、一个进程进入死循环

C、多个进程竞争,资源出现了循环等待

D、多个进程竞争共享型设备

1进程的优先级调度中经常考虑哪些因素它们与优先级的关系是什么

答:进程优先级调度中需要考虑如何确定优先级。

静态优先级与进程类型、进程对资源的请求、用户要求三者相关,系统进程比用户进程拥有更高的优先级,对资源需求少的进程具有更高的优先级,用户付费高的具有高优先级。

动态优先级的高低与等待时间和需要服务的时间有关,等待时间越长、要求服务时间越短,优先级越高;反之

越低。

2假定有四个作业,它们到达后备队列的时间和估计运行时间如下图所示:

回答下列问题(要求给出过程)

①采用FCFS调度算法时,作业的平均周转时间是多少

②采用最短作业优先调度算法时,作业的平均周转时间是多少

SJF

3处理机调度分为哪三级各自的主要任务是什么

答:作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。

进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用CPU。

交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区中。

4什么是高级调度、中级调度和低级调度

答:作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。

进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用CPU。

交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区中。

5什么是死锁产生死锁的四个必要条件是什么

死锁:当某进程提出资源申请后,使得系统中一些进程处于无休止的阻塞状态,在无外力作用下,永远不能再继续前进。

产生死锁的必要条件:互斥条件:某段时间内某资源只能由一个进程使用。不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。部分分配(请求和保持):进程因请求资源而阻塞时,对已分配给它的资源保持不放。环路条件:发生死锁时,有向图必构成一环路。

6设系统有三种类型的资源,数量为(4,2,2),系统中有进程

A,B,C按如下顺序请求资源:

进程A申请(3,2,1)

进程B申请(1,0,1)

进程A申请(0,1,0)

进程C申请(2,0,0)

请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。(10分)

解:(10分)

①分配策略为:当进程P i申请r i类资源时,检查r i中有无可分配的资源:有则分配给P i;否则将P i占有的资源全部释放而进入等待状态。(P i等待原占有的所有资源和新申请的资源)

②资源分配过程:剩余资源

进程A:(3,2,1)(1,0,1)

进程B:(1,0,1)(0,0,0)

进程A:(0,1,0)(不满足)(3,2,1)

A的所有资源被剥夺,A处于等待

进程C:(2,0,0)(1,2,1)

C,B完成之后,A可完成。

7、设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表1和表2所示。(共10分)

系统采用银行家算法实施死锁避免策略。

①T0时刻是否为安全状态若是,请给出安全序列。

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

③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配为什么

④在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配为什么

8.系统中有五个进程P1、P2、P3、P4、P5,有三种类型的资源:R1、R2、和R3。在T0时刻系统状态如表所示。若采用银行家算法实施死锁避免策略,回答下列问题:(共9分,每小题3分)

T0时刻是否为安全状态为什么

若这时P4请求资源(1,2,0),是否能实施资源分配为什么

在上面的基础上,若进程P3请求资源(0,1,0),是否能实施资源分配为什么

T0时刻系统状态

解:(共9分,每小题3分)

T0时刻是安全的,安全序列为:P1,P4,P5,P2,P3

P4请求资源(1,2,0),根据银行家算法,预分配后系统是安全的,安全序列为:P1,P4,P5,P2,P3

P3请求资源(1,1,0),根据银行家算法,预分配后系统不安全,所以不能实施资源分配。9.考虑一个有150个存储器单元的系统,如下分配给三个进程:

进程最大占有

————————————————————

1 70 45

2 60 40

3 60 15

使用银行家算法,以确定下面的任何一个请求是否安全:

a.第4个进程到达,最多需要60个存储单元,最初需要25个单元;

b.第4个进程到达,最多需要60个存储单元,最初需要35个单元;

如果安全给出安全序列;若不安全给出结果分配简表。(10分)

解:进程最大占有尚需可用————————————————————————

1 70 45 25 25

2 60 40 20

3 60 15 45

4 60 2

5 35

安全序列为:1、2、3、4

所以系统是安全的,可以进行分配。

b.

进程最大占有尚需可用————————————————————————

1 70 45 25 15

2 60 40 20

3 60 15 45

4 60 3

5 25

当前可用的资源不够任何一个进程运行完毕,所以不安全。

10假定在单CPU条件下,有进程A、B、C、D依次进入就绪队列(相隔3个时间单位),它们的优先级如下表所示:

试问采用“先来先服务”、“动态优先数法”调度算法(注:优先数大的优先级高,等待2时间单位,优先

数加1),选中进程的执行次序。

(1)对于上述算法,各个作业的周转时间是多少平均周转时间是多少

(2)对于上述算法,各个作业的带权周转时间是多少平均带权周转时间是多少

(3)先来先服务

第四章存储器管理

1.逻辑地址与物理地址:

在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同。逻辑地址是指用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。逻辑地址又称相对地址。物理地址是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。

2.什么是内存分页存储管理它有什么特点

分页存储管理是将各进程的地址空间分成大小相等的页,把内存的存储空间也分成与页大小相同的片,称为物理块。在分配存储空间时,以块为单位来分配。

优点:有效解决存储器的零头问题,能在更高的程度上进行多道程序设计,从而相应提高了存储器和CPU 的利用率。

缺点:采用动态地址变换为增加计算机成本和降低CPU 的速度。表格占内存空间,费时来管理表格。存在页内碎片。作业动态的地址空间受内存容量限制。

3虚拟存储器:

答:虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲CPU工作时间以及内、外存交换时间为代价的。

4.联想存储器:

5虚拟存储器

指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。从用户观点看,虚拟存储器具有比实际内存大得多的容量。这既方便了用户,又提高了内存的利用率和系统的吞吐量。

6快表

采用联想存储器加快查表速度,在地址变换机构中,加入一个高速,小容量、具有并行查询能力的联想存储器,构成快表,存放正运行的作业的当前页号和块号。在快表中找到,直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器的空闲单元中,如没有,淘汰最先装入的页号。

7.置换策略:

虚拟式存储管理中的一种策略。用于确定应选择内存中的哪一页(段) 换出到磁盘对换区,以便腾出内存。通常采用的置换算法都是基于把那些在最近的将来,最少可能被访问的页(段)从内存换出到盘上。

8.在段页式虚拟存储系统中,不同进程之间是如何实现程序共享的

在系统内设置有系统段表,用户段表指向系统段表,系统段表内有当前共享的用户数。当用户进程调入一个程序段之前,先查找系统段表,如果所需段存在,则将共享用户数加一,再将此段登记在用户进程段表中。当进程退出时,共享计数减一,最后一个用户删除共享代码段。

9.在系统内设置有系统段表,用户段表指向系统段表,系统段表内有当前共享的用户数。

当用户进程调入一个程序段之前,先查找系统段表,如果所需段存在,则将共享用户数加一,在将此段登记在用户进程段表中。当进程退出时,共享计数减一,最后一个用户删除共享代码段。

10.什么是段式存储管理它从逻辑地址到物理地址是怎么变

把程序按内容或构成关系分成段,每段有自己的名字。一个用户作业或进程包含的段对应于一个二维虚拟储存器。以段为单位分配内存,然后通过地址映射机构把逻辑地址转换成物理地址。只将那些经常访问的段驻留内存,其他的段放在外存,待需要时自动调入。

地址变换过程:由虚地址中的段号为索引,查段表。找出该段在内存的起始地址,并将其和段内地址相加,从而得到物理地址。

12什么是请求页式管理能满足用户哪些需要

答:请求页式管理的基本原理是将逻辑地址空间分成大小相同的页,将存储地址空间分块,页和块的大小相等,通过页表进行管理。页式系统的逻辑地址分为页号和页内位移量。页表包括页号和块号数据项,它们一一对应。根据逻辑空间的页号,查找页表对应项找到对应的块号,块号乘以块长,加上位移量就形成存储空间的物理地址。每个作业的逻辑地址空间是连续的,重定位到内存空间后就不一定连续了。

此外,页表中还包括特征位(指示该页面是否在内存中)、外存地址、修改位(该页的内容在内存中是否修改

过)等。

页式存储管理在动态地址转换过程中需要确定某一页是否已经调入主存。若调入主存,则可直接将虚地址转换为实地址,如果该页未调入主存,则产生缺页中断,以装入所需的页。

页式存储管理将不常用的页面调出内存,使内存的利用率高;虚拟的容量大,用户不必担心内存不够;不要求作业连续存放,有效地解决了“碎片”问题。

13什么是快表它在地址转换中起什么作用

快表是一个高速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。(2分)

加入快表后,在地址转换时,首先在快表中查找,若找到就直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器中。快表的命中率很高,有效地提高了地址转换的速度。(3分)

14请描述请求页式管理机制中的地址变换过程。

15.页式和段式内存管理有什么区别怎样才能实现共享和保护

答:段式与页式存储管理的比较如下表所示。

段式页式

分段由用户设计划分,每段对应一个相应的的程序模块,有完整的逻辑意义。分页用户看不见,由操作系统为内存管理划分。

段面是信息的逻辑单位页面是信息的物理单位

便于段的共享,执行时按需动态链接装入。页一般不能共享

段长不等,可动态增长,有利于新数据增长。页面大小相同,位置不能动态增长。二维地址空间:段名、段中地址;段号、段内

单元号

一维地址空间

管理形式上象页式,但概念不同往往需要多次缺页中断才能把所需信息完整地调入内存

实现页(段)的共享是指某些作业的逻辑页号(段号)对应同一物理页号(内存中该段的起始地址)。页(段)的保护往往需要对共享的页面(段)加上某种访问权限的限制,如不能修改等;或设置地址越界检查,对于页

相关文档