计算机操作系统作业2含答案全解.docx

上传人:b****3 文档编号:7172817 上传时间:2023-01-21 格式:DOCX 页数:31 大小:32.40KB
下载 相关 举报
计算机操作系统作业2含答案全解.docx_第1页
第1页 / 共31页
计算机操作系统作业2含答案全解.docx_第2页
第2页 / 共31页
计算机操作系统作业2含答案全解.docx_第3页
第3页 / 共31页
计算机操作系统作业2含答案全解.docx_第4页
第4页 / 共31页
计算机操作系统作业2含答案全解.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

计算机操作系统作业2含答案全解.docx

《计算机操作系统作业2含答案全解.docx》由会员分享,可在线阅读,更多相关《计算机操作系统作业2含答案全解.docx(31页珍藏版)》请在冰豆网上搜索。

计算机操作系统作业2含答案全解.docx

计算机操作系统作业2含答案全解

一、选择题

1.在进度的构成局部之中,进度在运转中不行改正的局部是

A.私用程序段B.共享程序段

C.数据段D.进度控制块

______。

2.响应比高者优先作业调动算法是以计算时间和______来考虑的。

A.输入时间B.达成时间C.周转时间D.等候时间

3.在信息缓冲通讯中,信息行列属于______资源。

A.临界B.共享C.永久D.可剥夺

4.进度间的同步是指进度间在逻辑上的互相______关系。

A.联接B.限制C.持续D.调用

5.最合适于分时系统的进度调动算法是______。

A.先来先效力〔FCFS〕B.最短作业优先〔SSJF〕

C.优先数法D.轮转法〔RR〕

6.进度A和进度B经过共享缓冲区协作达成数据办理,进度A负责生产数据并放入

缓冲区,进度B从缓冲区中读数据并输出。

进度A和进度B之间的关系是______。

A.互斥关系B.同步关系C.互斥和同步D.无限制关系

7.在优先级调动中,______类进度可能被“饿死〞,即长时间得不到调动。

A.短进度B.进步程C.低优先级进度D.大内存进度

8.进度从运转状态到堵塞状态可能是因为______。

A.进度调动程序的调动B.现运前进度的时间片耗尽

C.现运前进度履行了wait操作D.现运前进度履行了signal操作

9.银专家算法在解决死锁问题中是用于______的。

A.预防死锁B.防备死锁C.检测死锁D.排除死锁

10.______不是进度调动算法。

A.时间片轮转法B.先来先效力方法

C.响应比高者优先法D.平衡调动算法

11.下边对于线程的表达中正确的选项是______。

A.线程包含CPU现场,能够独立履行程序B.每个线程有自己独立的地点空间

C.线程之间的通讯一定使用系统调用函数D.进度只好包含一个线程

12.并发进度之间______。

A.相互没关B.一定同步C.一定互斥D.可能需要同步或互斥

13.当一个进度运转时,系统可能鉴于某种原那么强行将其撤下,把办理器分派给其余进

程,这类调动方式是______。

币機鲟话頒广坠鱈鉴鹞觸谀顢赞滎。

A.非剥夺方式B.剥夺方式C.中止方式

14.信号量S不可以用于______操作。

A.signalB.waitC.赋初值读丢奐攙跞倫繆个贮偾鷺顧墳賚場。

D.查问方式

D.运算表达式

15.______是一种只好进行A.调动B.进度

wait

操作和C.

signal同步

操作的特别变量

D.信号量

16.分派给进度占用办理机的时间到而逼迫进度P让出办理器,或有更高优先级的进

程要运转,迫使正在运转的进度P让出办理器,那么进度P状态变化的状况为______

A.运转态->就绪态B.运转态->等候态

C.就绪态->运转态D.等候态->就绪态颍误輜髅镰铮抛礪諮炉別馴鹩敛減。

17.下边对于进度的表达中正确的选项是

______。

19.

20.

21.A.进度获取CPU运转是经过调动获取的

22.B.优先级是进度调动的重要依照,一旦确立就不可以改变

23.C.在单CPU的系统中,任何时辰都有一个进度处于运转状态

24.D.进度申请CPU得不到知足时,其状态变成堵塞

25.B.错误优先级是能够动向改变的。

C.错误没进度的时候,系统能够安闲。

D.错误变成就绪态。

26.18.操作系统经过______对进度进行管理。

27.A.进度B.进度控制块C.进度启动程序D.进度控制区

28.假定一个进度拥有100个线程,这些线程属于用户级线程,它们在系统调动履行时间上占用的时间片个数是______。

绻穷趕闺績坛壩裆挞风毕纡测岿恋。

A.1

B.100

C.1/100

D.0

本题主要考察对于进度和线程之间资源共享的知识点。

在引入线程的操作系统中,线

程是进度中的一个实体,是系统独立调动和分派的根本单位。

可是线程自己根本上不拥有系

统资源,所以它不是资源分派的根本单位,它只拥有一局部在运转中必不行少的与办理机相

关的资源,如线程状态、寄存器上下文和栈等,它相同有就绪、堵塞和履行三种根本状态。

它可与同属一个进度的其余线程共享进度所拥有的所有资源。

一个线程能够创办和撤除另一

个线程;同一个进度中的多个线程之间能够并发履行。

因为用户线程不依靠于操作系统内核,

所以,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调动的,用户

利用线程库供给的API来创办、同步、调动和管理线程。

所以,用户线程的调动在用户程

序内部进行,往常采纳非率先式和更简单的规那么,也不必用户态和核心态切换,所以速度很

快。

因为操作系统不知道用户线程的存在,所以,操作系统把CPU的时间片分派给用户进

程,再由用户进度的管理器将时间分派给用户线程。

那么,用户进度能获取的时间片即为所

实用户线程共享。

所以,正确答案应为A。

20.排除死锁往常不采纳的方法是______。

A.停止一个死锁进度B.停止所有死锁进度

C.从死锁进度处强抢资源D.从非死锁进度处强抢资源评鯤忾細鋸靄鳏齙绫記傘觌烴关谎。

到其余3种状态的进度状态是______。

A.就绪B.堵塞C.达成D.履行

22.信号量的初值为2,目前值为-3,那么表示等候进度有______。

A.1个B.2个C.3个D.5个

假定信号量为正,那么表示资源数;假定信号量为负,那么表示等候的进度数潆譎无嫻粝蝈镂谘绺滟羅轩凛譯鴝。

23.wait操作可能致使______。

A.进度就绪B.进度结束C.进度堵塞〔等候〕

24.在操作系统中为防备系统的死锁采纳______。

A.银专家算法B.损坏据有并等候条件

C.死锁检测和恢复D.损坏非剥夺条件饥联禎吨贍楊寵蘚緄鲱箪帼頦测擴。

D.新进度创办

25.以下的进度状态变化中不行能发生的变化是______。

A.等候→运转B.运转→等候C.运转→就绪縶頓辉蛺觑斃岁巒謎嘖签镝憶鹧澱。

D.等候→就绪

26.假如有三个进度共享同一互斥段,并且每次最多同意两个进度进入该互斥段,那么信号量的初值应设置为______。

详镦栀锅绁鲐跻鉿邝塊穷闸髅诟莢。

A.3B.1C.2

27.进度之间互换数据不可以经过

A.共享文件B.信息传达

D.0

______门路进行。

C.接见进度地点空间

 

D.接见共享储存地区

28.进度控制块PCB不包含的内容是______。

 

A.CPU

 

现场

B.进度优先级

C.进度运转状态

D.文件缓冲区

29.PCB是描绘进度状态和特征的数据构造,一个进度

A.能够有多个PCBB.能够和其余进度共用一个

C.能够没有PCBD.只好有独一的PCB鏵閏鯰绰篱讞為鋯莳蒼騰挝諮浑锰。

______。

PCB

30.资源次序分派法损坏了死锁发生的______必需条件。

A.互斥占用B.据有等候C.非剥夺D.循环等候

分析:

发存亡锁的四个必需条件以下:

互斥条件、据有并恳求资源、非剥夺条件和循

环等候条件。

一次分派所有资源的方法是当进度需要资源时,一次性提出所有的恳求,假定请

求的所有资源均知足那么分派,只需有一项不知足,那么不分派任何资源,该进度堵塞,直到

所有的资源安闲后,知足了进度的所有需求时再分派。

这类分派方法不会局部据有资源,所

以就打破了死锁的四个必需条件之一,实现了对死锁的预防。

可是,这类分派方式需要凑齐

所有资源,所以,当一个进度所需的资源比许多时,资源的利用率会比较低,甚至会造成进

程的饥饿。

正确答案为B。

31.进度和程序的实质差别是______。

A.内存和外存B.动向和静态特点

C.共享和独占使用计算机资源D.次序和非次序履行指令

32.设有两个进度共享3个同类资源,为使系统不死锁,每个进度最多能够申请______

资源。

撟躯羋膃轧谗櫚羥窦換裢扬學諮鶼。

A.

0

B.

1

C.

2

D.

3

33.作业调动中的先来先效力算法是以______为出发点考虑的。

A.作业履行时间B.作业的周转时间

C.作业等候时间D.等候时间加运转时同

34.设m为同类资源数,n为系统中的并发进度数。

当n个进度共享

每个进度的最大需求是w。

以下状况下,系统会死锁的是______。

A.m=2,n=l,w=2B.m=2,n=2,w=1

C.m=4,n=3,W=2D.m=4,n=2,w=3鯧瑤騾楓乱矚讯纭矯宽婶噜顏摶铿。

 

m个互斥资源时,

当2个进度已经拥有

2个资源,都申请第

3个资源时,致使死锁。

35.用于解决进度间互斥的方法是______。

①信号量及wait、signal操作②加锁与解锁

④信息缓冲方式⑤特权指令方式缲迟鮫躡莹辖褴籴嘗諷绑臥誶摊贞。

③信箱方式

A.③、④和⑤

B.①和②

C.①和③

D.②和⑤

36.在操作系统中,每个进度拥有独立性,进度之间又拥有互相限制性。

对于任何两个并发进度,它们______。

臚赌犢缕咏壶壯憚喬远办缟襤锅織。

A.必然没关

B.必然有关

C.可能有关

D.可能相同

二、简答题

1.什么是线程?

进度和线程的关系是什么?

2.进度能自己将自己唤醒吗?

进度能自己将自己撤除吗?

3.父进度创办子进度以后,父子进度间的关系是什么?

4.简述引进线程的利处。

5.当一个进度的父进度被撤除时,该进度是撤除好仍是不撤除好?

6.为何说进度同步问题关系到OS的成败?

同步体制应依照的准那么是什么?

7.进度之间存在哪几种互相限制关系?

各是什么原由惹起的?

以下活动分别属于哪一种限制关系?

轸鋸俠陇躑釣辅氈谨杨庞陘锵仪钿。

 

1〕假定干同学去图书室借书。

2〕两队举行篮球竞赛。

3〕流水线生产的各道工序。

4〕商品生产和花费。

8.高级调动和初级调动的主要任务是什么?

为何引入中级调动?

9.在剥夺调动中,有哪些剥夺原那么?

10.惹起进度调动的主要要素。

11.何为死锁?

产存亡锁的原由和必需条件是什么?

比较三种解决死锁的方法?

12.试比较说明进度和程序的差别有哪些?

三、应用题

有一个剪发师,一把剪发椅和n把供等候剪发的顾客坐的椅子。

假如没有顾客,那么

剪发师便在剪发椅子上睡觉;当一个顾客到来时,一定唤醒剪发师,进行剪发;假如剪发师

正在剪发时,又有顾客到达,那么假如有空椅子可坐,他就坐下来等,假如没有空椅子,他就走开。

为剪发师和顾客各编一段程序描绘他们的行为,要求不可以带有竞争条件。

计算进度PC和打印进度P01、P02共享一个单缓冲区,计算进度负责计算,并把计

算结果放入单缓冲中;打印进度P01、P02那么负责从单缓冲中拿出计算结果进行打印,并且对每个计算结果,P01和P02都需分别打印一次。

请用记录型信号量描绘上述进度间的同步关系。

设有三个进度,输入进度(input)、计算进度(compute)和输出进度(output),它们经过共享两个缓冲区buf1和buf2协作达成任务。

如以下列图所示

绽玀钸镓氲繪狭顿轮兒蠐緲哜齠长。

输入进度buf1计算进度buf2输出进度

 

三个进度之间的合作关系以下:

〔1〕输入进度使用put()函数把数据送到buf1,供计算进度调用calculate()函数计算;

〔2〕计算进度每次调用get()函数从buf1拿出已输入的可计算的数据进行计算,并把计

算结果使用put()函数把数据送到buf2送入buf供输出进度打印;

3〕输出进度调用get()函数把buf2中的数据使用print〔〕函数输出。

定义适合的信号量,并用伪代码达成实现过程。

4.设系统中有三类资源A、B和C,又设系统中有5个进度P1,P2,P3,P4和P5。

在T0时辰系统状态以下:

谰鸱簀覬軌慑勞鶴飘喚貨廡誆构锰。

最大需求量

已分派资源量

节余资源量

A

B

C

A

B

C

A

B

C

P1

1

2

10

0

0

3

1

6

3

P2

1

7

5

1

0

0

P3

2

3

5

1

3

5

P4

0

6

4

0

0

2

P5

0

6

5

0

0

1

〔1〕系统能否处于安全状态?

〔请给出详尽的判断过程〕如是,那么给出进度安全序列。

〔2〕假如进度P5申请1个资源类A和1个资源类C,可否实行分派?

为何?

颖蕪诵纠紉闯阊让碍絷诨牺溈鹎諶。

 

设有五道作业,它们的提交时间和运转时间见下表,试给出在以下表所示的三种调动算法下,作业的履行次序,以及均匀周转时间和带权均匀周转时间:

先来先效力调动算法;

短作业优先调动算法;

响应比高优先调动算法。

作业提交和运转时间表

厍蝸疊崳蠶鵜隊詣绕覲纽绮癆鯧誼。

作业名

提交时间/h

需履行时间/h

J1

J2

J3

J4

J5

假定系统有同类资源10个,供P,Q、R三个进度共享,P、Q、R所需资源总数分别为8、4、9,它们申请资源的序次和数目以下表所示。

烬囀護轼驵碩轤缆儔僅荧釕斓鴰争。

进度资源申请表

序次

进度

申请量

1

R

2

2

P

4

3

Q

2

4

P

2

5

R

1

6

Q

2

按银专家算法为它们分派资源:

写出履行完序号为6的申请时,各进度的状态和已占的资源数。

请预计系统能否会出现死锁,并简要说明原由。

7.下边给出的两个进度互斥的算法是安全的吗?

为何?

definetrue;

#definefalse;Intflag[2];flag[1]=flag[2]=false;enter-crtsec(i)

inti;

{

While(flag[1-i])flag[i]=true;

}

leave-crtsec(i)Inti;

{

flag[i]=false;

}

processI;

Enter-crtsec(i);

Incriticalsection;偿箫筆额玀唠掙钙聪筝復闰驭裣帻。

8.

9.

10.Leave-crtsec(i);

11.设系统有三种种类的资源,数目为(4,2,2),系统中有进度A,B,C按以下次序恳求资源:

鲈谤訝师匭璎氢雞哜缑嬡嘘紆跡浏。

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

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

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

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

请你给出一和防备死锁的资源剥夺分派策略,

过程,指明哪些进度需要等候,哪些资源被剥夺。

显婦頤龕躚钡驚閣骓变胀诘糶頦嘔。

 

达成上述恳求序列,并列出资源分派

9.进度

A1,A2,,An

经过

K个缓冲区向进度

B1,B2,,Bm

不停地发送消

息。

发送和接竣工作依照以下规那么:

(1)每个发送进度一次发送一个信息,写入缓冲区,缓冲区大小与信息长度一致;

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

(3)K个缓冲区都满时,发送进度等候,没有可读的信息时,接收进度等候。

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

瘗缅納廬泪狽册篤洼塤鎳诿鸺繞锥。

 

一、选择题

BDABDBCCBDADBDDAABADDCCAACCDDDBCCDBC

二、简答题

1.

线程可定义为进度内的一个履行单位,或许定义为进度内的一个可调动实体。

在拥有多线程体制的操作系统中,办理机调动的根本单位不是进度而是线程。

一个进度能够有多个线程,并且起码有一个可履行线程。

进度和线程的关系是:

线程是进度的一个构成局部。

进度的多个线程都在进度的地点空间活动。

资源是分给进度的,而不是分给线程的,线程在履行中需要资源时,系统从进度的资源分派额中扣除并分派给它。

办理机调动的根本单位是线程,线程之间竞争办理机,真实在办理机上运转的是线程。

线程在履行过程中,需要同步。

2.

唤醒进度和取消进度都是要经过CPU上运转程序来实现的。

一个进度入眠了,它就不行能被调动到CPU上运转;一个进度在取消前一定先进入停止状态,而处于停止状态的进度不行能被调动到CPU上运转。

所以,进度被唤醒、被取消都不可以由自己来达成,只好由其余进度实现。

3.綹闕蹒袞铋堅栏犖顢庫线铪惱雏罗。

一个进度创办子进度以后,进度与产生的进度之间的关系是父子关系,

进度。

子进度一经产生就与你进度并发履行,子进度共享父进度和子进度。

就与你进度并发履行,子进度共享父进度的正文段和已经打开的文件。

鱈鸬濟縝艺椤黿滯鐿舊當铢諞險腎。

分别成为进度和子子进度一经产生

4.

(1)以线程作为系统调动的根本单位,减少了系统的时空开支。

以进度为系统调动的根本

单位的系统中,进度的切换是很屡次的。

在切换中因为要保留当时的运转环境,还要设置新选中的进度的运转环境,这既花销了办理机的时间,又增添了主存的空间,进而也限制了系统进度的数目和进度的切换速度。

鋸块鰷莺询爍揀蛮蝾闷籪睜粵訕鹦。

引进线程提升了系统的并行能力。

线程作为进度内的一个可履行实体,减少了并行

粒度。

线程作为调动的根本单位而不是资源分派的根本单位,调动更加简单,并且采纳线程提升系统的并行能力比采纳进度更加有效。

同一进度的线程共享进度的用户地点空间,所以同一进度的线程间的通讯更简单实

现。

5.

在实质系统中,两种办理方法都是可行的,且各有优弊端。

假定取消,那么该进度的任务可能

还没有达成,这明显是不利的,特别是当该进度的运转结果对其余进度的运转很重要(如该

进度是其余进度的前趋进度,没有它的运转结果其余进度没法运转)时;假定不取消,那么该进

程又可能成为不行控的"孤儿",进而产生不行展望的结果。

比较好的做法是,当一个进度的

父进度被取消时,能够将该进度"过继"给系统内一个级别较高的进度(如Unix中的1#进度),复雏慳慮遼鳗轔銻蝎旷懲简枫张輟。

(让它有一个"新的父亲",这样既能够持续达成其任务又不会成为不行控的。

(6.

(进度同步问题假定办理不妥,有可能会产生各种"与时间有关性错误",特别是当两个或多

(个进度共享了公共变量而又没有互斥地使用这些变量时,极有可能致使用户程序运转结果的

(不正确,这量种灾害性的结果。

这类OS明显是不行功的,是用户不敢使用的。

(有以下四条准那么:

安闲让进、忙那么等候、有限等候、让权等候。

(7.

(进度间存在着两种互相限制的关系:

直接限制关系〔即同步问题〕和间接限制关系〔即互

(斥问题〕。

同步问题是存在逻辑关系的进度之间互相等候产生的限制关系,互斥问题是互相无逻辑关系的进度间竞争使用相同的资源所发生的限制关系。

(1〕属于互斥关系,因为书的个数是有限的,一本书只好借给一个同学。

(2〕属于互斥关系,篮球只有一个,两队都要抢夺。

(3〕属于同步关系,各道工序的开始都依靠前道工序的达成。

(4〕属于同步关系,商品没生产出来,花费没法进行,商品未花费完,生产也无需进

(行。

(8.

(〔1〕高级调动又称为作业调动。

它是批办理系统中使用的一种调动。

其主要任务是依照

(某种算法从外存的后备行列上选择一个或多个作业调入内存,并为其创办进度、分派必需的资源,而后再将所创办的进度控制块插入就绪行列中。

(〔2〕初级调动又称进度调动。

它是距离硬件近来的一级调动。

其主要任务是依照某种算

(法从就绪行列上选择一个〔或多个〕进度,使其获取CPU。

(3〕引入中级调动的目的是为了提升内存利用率和系统吞吐量。

其功能是,让那些临时

(不可以运转的进度不再占用宝贵的内存资源,而是调其到外存上等候。

此时的进度状态为挂起

(状态。

当这些进度从头具备运转条件且内存安闲时,由中级调动选择一局部挂起状态的进度调入内存并将其状态变成就绪状态。

(9.

(1〕时间片原那么。

在轮转算法中,CPU轮番为诸多进度效力,每个进度运转完自己的时间片后,系统就将CPU剥夺过来,交给下一个进度使用。

(2〕优先级原那么。

为紧急的作业给予较高的优先级,这类作业抵达系统或由堵塞状态被

(唤醒后,假定其优先级高于目前运转的进度的优先级,能够剥夺目前运前进度的CPU。

(3〕短作业〔进度〕优先原那么。

假定一个作业〔进度〕抵达系统,其运转长度比目前运转

(的进度长度明显的短,那么剥夺目前运转的进度CPU。

(10.

(1〕一个进度运转完成。

(2〕一个正在运转的进度被堵塞。

(3〕在抢占式调动中,一个高优先级的进度被创办。

(4〕在抢占式调动中,一个高优先级进度由堵塞唤醒。

(5〕在轮转式调动中,正垢进度运转完一个时间片。

携態髌瓒巅柵綻犹鹕鷗傾祢鯊顶讜。

11.

 

1〕死锁是指多个进度因竞争资源而造成的一种僵持状态。

假定无外力作用,这些进度都将永久处于堵塞状态,不可以再运转下去。

2〕产存亡锁的原由有:

资源缺少、进度推动序次不妥。

3〕产存亡锁的必需条件有:

互斥条件、恳乞降保持条件、非剥夺条件、环路等候条件。

比较三种解决死锁的方法:

1〕预防死锁方法,主假如损坏产存亡锁的必需条件。

该方法是最简单实现的,但系统资源利用率较低。

〔2〕防备死锁方法,比较适用的有银专家算法〔BankerAlgorithm〕。

该算法需要许多的

数据构造,实现起来比较困难,但资源利用率最高。

3〕检测死锁方法是鉴于死锁定理设计的。

按期运转该算法对系统的状态进行检测,发现死锁便予以排除。

此中,需要比较一下各咱死锁排除方案的代价,找到代价最小的方案。

该方法最难实现,资源利用率较高。

12.

〔1〕每个进度实体中包含了程序段和数据段这两个局部,所以说进度是与程序是密切相

关的。

但从构造上看,进度实体中除了程序段和数据段外,还一定包含一个数据构造,即进度控制块PCB。

2〕进度是程序的一次履行过程,所以是动向的;动向性还表此刻进度由创办而产生、

由调动而履行、由取消而消亡,即它拥有必定的生命周期。

而程序那么不过一组指令的有序会合,并和永久地寄存在某种介质上,其自己不拥有运动的含义,所以是静态的。

3〕多个进度实体可同时寄存在内存中并发地履行,也正是引入进度的目的。

而程序〔在没有为它创办进度时〕的并发履行拥有不行再现性,所以程序不可以正确地并发履行。

4〕进度是一个能够独立运转、独立分派资源和独立接受调动的根本单位。

而因程序不

拥有PCB,所以它是不行能在多道程序环境下独立运转的。

5〕程与程序不一一对应。

同一个程序的频频运转,将形成多个不一样的进度;同一个程序的一次履行也能够产生多个进度;而一个进度也能够履行多个程序。

三、应用题

1.骄挾階轰猪峴亩龄缂鉞蠱蛏筍辦语。

#defineCHAIRS/*为等候的顾客准备的椅子数

semaphorecustomers=0;

*/

semaphorebarbers=0;

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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