操作系统教程第版部分习题答案Word文档格式.docx

上传人:b****2 文档编号:15231143 上传时间:2022-10-28 格式:DOCX 页数:21 大小:128.60KB
下载 相关 举报
操作系统教程第版部分习题答案Word文档格式.docx_第1页
第1页 / 共21页
操作系统教程第版部分习题答案Word文档格式.docx_第2页
第2页 / 共21页
操作系统教程第版部分习题答案Word文档格式.docx_第3页
第3页 / 共21页
操作系统教程第版部分习题答案Word文档格式.docx_第4页
第4页 / 共21页
操作系统教程第版部分习题答案Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

操作系统教程第版部分习题答案Word文档格式.docx

《操作系统教程第版部分习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统教程第版部分习题答案Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

操作系统教程第版部分习题答案Word文档格式.docx

(4)文件管理;

(5)联网与通信管理。

27.什么是操作系统的内核?

内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35.简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。

(1)时分复用共享资源从时间上分割成更小的单位供进程使用;

(2)空分复用共享资源从空间上分割成更小的单位供进程使用。

.

二、2、5

2、答:

画出两道程序并发执行图如下:

(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。

(2)程序A无等待现象,但程序B有等待。

程序B有等待时间段为180ms至200ms间(见图中有色部分)。

5、答:

画出三个作业并行工作图如下(图中着色部分为作业等待时间):

(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。

(2)CPU空闲时间段为:

60ms至70ms,80ms至90ms。

所以CPU利用率为(90-20)/90=%。

(3)设备I1空闲时间段为:

20ms至40ms,故I1的利用率为(90-20)/90=%。

设备I2空闲时间段为:

30ms至50ms,故I2的利用率为(90-20)/90=%。

第二章:

一、9、18、20、26、48

9.什么是系统调用?

试述API、库函数和系统调用之间的关系.叙述系统调用执行流程.

18.什么是进程计算机操作系统为什么要引入进程

进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位.

(1)刻画程序的并发性;

(2)解决资源的共享性.

20.进程的最基本状态有哪些哪些事件可以引起不同状态间的转换

运行态

就绪态

阻塞态

26.何谓进程控制块(PCB)它包含哪些基本信息

进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。

(1)标识信息;

(2)现场信息;

(3)控制信息。

48.处理器调度分为哪几种类型?

简述各类调度的主要任务。

高级调度,中级调度,低级调度。

高级调度,创建就绪进程和做进程完成后的善后工作。

中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。

低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。

二、5、10、12、16、20、21、25、28

采用短作业优先算法调度时,三个作业的总周转时间为:

T1=a+(a+b)+(a+b+c)=3a+2b+c①

若不按短作业优先算法调度,不失一般性,设调度次序为:

J2、J1、J3。

则三个作业的总周转时间为:

T2=b+(b+a)+(b+a+c)=3b+2a+c②

令②-①式得到:

T2-T1=b-a>

可见,采用短作业优先算法调度才能获得最小平均作业周转时间。

10、答:

5个待运行的作业同时到达,按照最短作业优先的算法可以使平均响应时间最短。

X取值不定,按照以下情况讨论:

1)x≤3次序为:

x,3,5,6,9

2)3<

x≤5次序为:

3,x,5,6,9

3)5<

x≤6次序为:

3,5,x,6,9

4)6<

x≤9次序为:

3,5,6,x,9

5)9<

x次序为:

3,5,6,9,x

12、答:

(1)FCFS调度算法

(2)优先级调度算法

(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)

按次序ABCDEABDEABEAEA轮转执行。

16、

答:

20、答:

注意,J1被调度运行后,直到它执行结束,才会引出作业调度程序工作。

所以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。

当J1撤离后,作业调度程序工作,按SJF算法,显然有执行次序:

J5、J6、J3、J4、和J2。

21

作业名

到达时刻

估计运行时间/min

优先数

JOB1

10:

00

40

5

JOB2

20

30

3

JOB3

60

4

JOB4

50

6

JOB5

11:

JOB6

10

如下表所示

进入内存时刻

开始运行时刻

结束运行时刻

周转时间

带权周转时间

12:

160

1

80

4/3

13:

130

13/2

11:

平均周转时间=(160+30+80+130+80+50)/6=

平均带权周转时间=(4+1+4/3+13/2+4+5)/6=

25、答:

每个作业运行将经过两个阶段:

作业调度(SJF算法)和进程调度(优先数抢占式)。

另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。

CPU

(1)10:

00,作业A到达并投入运行。

(2)10:

20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队列等待。

(3)10:

30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。

(4)10:

50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入内存进入就绪队列。

而由于作业A的优先级高于作业D,故作业A投入运行。

(5)11:

10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,故作业C投入运行。

(6)12:

00,作业C运行结束,作业D投入运行。

(7)12:

20,作业D运行结束。

各作业周转时间为:

作业A70,作业B30,作业C90,作业D90。

平均作业周转时间为70分钟。

28、答:

(1)FIFO算法选中作业执行的次序为:

A、B、D、C和E。

作业平均周转时间为63分钟。

(2)SJF算法选中作业执行的次序为:

A、B、D、E和C。

作业平均周转时间为58分钟。

第三章:

一、9、13、15、25

9.什么是临界区和临界资源临界区管理的基本原则是什么

并发进程中与共享变量有关的程序段称为临界区。

共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。

(1)一次至多有一个进程进入临界区内执行;

(2)如果已有进程在临界区内,试图进入此临界区的其它进程应等待;

(3)进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。

13.什么是信号量如何对其进行分类

信号量是物理资源的实体,它是一个与队列有关的整型变量。

按用途分

(1)公用信号量;

(2)私有信号量。

按取值分

(1)二值信号量;

(2)一般信号量。

15.何谓管程它有哪些属性

管程是由局部于自己的若干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。

(1)共享性;

(2)安全性;

(3)互斥性。

25.试述产生死锁的必要条件、死锁产生的原因及预防死锁的方法。

(1)互斥条件;

(2)占有和等待条件;

(3)不剥夺条件;

(4)循环等待条件。

进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。

(1)破坏条件1(互斥条件);

(2)破坏条件2(占有和等待条件);

(3)破坏条件3(不剥夺条件);

(4)破坏条件4(循环等待条件)。

二、

2、

不同

(1):

初值为1,范围为[-n+1,1];

(2):

初值为m,范围为[-n+m,m]。

1)使用信号量和P、V操作:

varname:

array[1..100]ofA;

A=record

number:

integer;

name:

string;

end

fori:

=1to100do{A[i].number:

=i;

A[i].name:

=null;

}

mutex,seatcount:

semaphore;

i:

mutex:

=1;

seatcount:

=100;

cobegin

{

processreaderi(varreadername:

string)(i=1,2,…)

P(seatcount);

P(mutex);

=1to100doi++

ifA[i].name=nullthenA[i].name:

=readername;

readergettheseatnumber=i;

/*A[i].number

V(mutex)

进入阅览室,座位号i,座下读书;

A[i]name:

V(mutex);

V(seatcount);

离开阅览室;

coend.

2)使用管程操作:

TYPEreadbook=monitor

VARR:

condition;

InterfaceModuleIM;

i,seatcount:

array[1..100]ofstring;

DEFINEreadercome,readerleave;

USEcheck,wait,signal,release;

procedurereadercome(readername)

begin

check(IM);

ifseatcount≥100wait(R,IM)

=seatcount+1;

fori=1to100doi++

ifname[i]==nullthennam

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

当前位置:首页 > 职业教育 > 职业技术培训

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

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