操作系统课后答案.docx

上传人:b****3 文档编号:10548914 上传时间:2023-05-26 格式:DOCX 页数:31 大小:53.53KB
下载 相关 举报
操作系统课后答案.docx_第1页
第1页 / 共31页
操作系统课后答案.docx_第2页
第2页 / 共31页
操作系统课后答案.docx_第3页
第3页 / 共31页
操作系统课后答案.docx_第4页
第4页 / 共31页
操作系统课后答案.docx_第5页
第5页 / 共31页
操作系统课后答案.docx_第6页
第6页 / 共31页
操作系统课后答案.docx_第7页
第7页 / 共31页
操作系统课后答案.docx_第8页
第8页 / 共31页
操作系统课后答案.docx_第9页
第9页 / 共31页
操作系统课后答案.docx_第10页
第10页 / 共31页
操作系统课后答案.docx_第11页
第11页 / 共31页
操作系统课后答案.docx_第12页
第12页 / 共31页
操作系统课后答案.docx_第13页
第13页 / 共31页
操作系统课后答案.docx_第14页
第14页 / 共31页
操作系统课后答案.docx_第15页
第15页 / 共31页
操作系统课后答案.docx_第16页
第16页 / 共31页
操作系统课后答案.docx_第17页
第17页 / 共31页
操作系统课后答案.docx_第18页
第18页 / 共31页
操作系统课后答案.docx_第19页
第19页 / 共31页
操作系统课后答案.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

操作系统课后答案.docx

《操作系统课后答案.docx》由会员分享,可在线阅读,更多相关《操作系统课后答案.docx(31页珍藏版)》请在冰点文库上搜索。

操作系统课后答案.docx

操作系统课后答案

习题一答案

一、单项选择题

1

2

3

4

5

6

7

8

9

10

D

C

A

B

B

B

二、填空题

1.命令级接口程序级接口

2.终端作业

3.过程控制系统

三、综合题

1.什么是操作系统?

操作系统的基本特征是什么?

答:

操作系统是控制和管理计算机系统中的各种硬件和软件资源,合理地组织计算机工作流程,并为用户使用计算机提供方便的一种系统软件。

它具有并发性、异步性、虚拟性和共享性的特征。

2.操作系统在计算机系统中起哪三个方面的作用?

答:

操作系统作为用户接口和公共服务程序、操作系统作为资源的管理者和控制者、操作系统实现了计算机资源的抽象

3.什么是多道程序设计技术?

多道程序设计的优点是什么?

答:

多道程序设计是指允许多个作业(或程序)同时进入计算机系统的主存并启动交替计算的方法。

也就是说,主存中多个相互独立的程序均处于开始和结束之间,从宏观上看是并行的,多道程序都处于运行过程中,但尚未结束;从微观上看是串行的,各道程序轮流占用CPU,交替执行。

操作系统中引入多道程序设计的优点:

一是提高CPU、主存和设备的利用率;二是提高系统的吞吐量,使单位时间内完成的作业数增加;三是充分发挥系统的并行性,设备与设备之间、设备与CPU之间均可并行工作。

4.简要说明实时系统与分时系统的区别。

答:

实时系统和分时系统相似但是并不完全一样,下面从几个方面对这两种系统加以比较。

(1)多路性

实时事务处理系统也按分时原则为多个终端用户服务,实时过程控制系统的多路性则表现在系统周期性地对多路现场信息进行采集,对多个对象或多个执行机构进行控制。

而分时系统中的多路性则与用户情况有关,时多时少。

(2)独立性

实时事务处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时过程控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。

(3)实时性

分时系统对响应时间的要求是以人们能够接受的等待时间为依据,其数量级通常规定为秒;而实时系统对响应时间一般有严格限制,它是以控制过程或信息处理过程所能接受的延迟来确定的,其数量级可达毫秒,甚至微秒级。

事件处理必须在给定时限内完成,否则系统就失败。

(4)交互性

实时系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。

它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。

(5)可靠性

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

因为实时系统控制、管理的目标往往是重要的经济、军事、商业目标,而且立即进行现场处理,任何差错都可能带来巨大的经济损失,甚至引发灾难性后果。

因此,在实时系统中必须采取相应的硬件和软件措施,提高系统的可靠性。

5.操作系统的功能包括哪几部分?

答:

操作系统应该具有处理机管理、存储器管理、设备管理和文件管理的功能。

为了方便用户使用操作系统,还须向用户提供方便的用户接口。

6.在单CPU和两台I/O设备(I1、I2)的多道程序设计环境下,同时投入3个作业运行。

其执行轨迹如下:

Job1:

I2(30ms),CPU(10ms),I1(30ms),CPU(10ms),I2(20ms)

Job2:

I1(20ms),CPU(20ms),I2(40ms)

Job3:

CPU(30ms),I1(20ms),CPU(10ms),I1(10ms)

如果CPU、I1和I2都能并行工作,优先级从高到低依次为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不可抢占I1和I2。

试求:

(1)每个作业从投入到完成分别所需要的时间。

(2)从作业的投入到完成,CPU的利用率。

(3)I/O设备的利用率。

答:

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

 

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

(2)CPU空闲时间段为:

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

所以CPU利用率为(110-30)/110=72.7%。

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

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

设备I2空闲时间段为:

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

习题二答案

一、单项选择题

1

2

3

4

5

6

D

C

A

A

C

D

二、填空题

1.进程控制块(PCB)

2.进程

3.执行就绪阻塞

三、综合题

1.操作系统中为什么要引入进程的概念?

答:

现代操作系统中一般都存在多个程序并发执行,程序并发所具有的间断执行、相互制约、运行结果不确定的特点,使得程序在并发执行过程要解决程序转换时候的现场保护,共享资源的合理分配以及程序的执行结果的可再现等问题。

这些问题靠程序这个静态的概念是无法进行解决的,因此需要引入进程的概念,利用进程来进行程序执行过程中的动态控制,有效管理和调度进入计算机系统中的程序,确保程序的并发执行。

2.试说明PCB的作用。

答:

PCB是用来记录和管理进程运动变化过程的一个数据结构。

它是进程实体的一部分,它记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。

系统利用PCB来控制和管理进程,PCB是进程存在的唯一标志。

进程与PCB存在一一对应的关系。

3.为了支持进程状态的变迁,OS至少要提供哪些进程控制原语?

答:

OS提供进程创建原语create()来创建新的进程,新创建的进程处于就绪状态。

系统提供撤销原语用来撤销完成或由于特殊原因需要撤销的进程。

系统提供阻塞原语,当进程需要阻塞时,调用阻塞原语,进程就会由执行转换为阻塞状态。

系统还提供有唤醒原语,当某事件完成或某资源可用时,调用唤醒原语,可以使处于阻塞状态的进程转换为就绪状态。

习题三答案

一、单项选择题

1

2

3

4

5

6

A

D

A

C

C

D

二、填空题

1.P(/wait)V(/signal)

2.一段时间内只许一个进程访问的资源访问临界资源的代码

3.继续执行进程排到阻塞队列中等待资源并自我阻塞

4.s<=0阻塞就绪

5.共享内存区管道通信消息传递机制

6.空闲准入忙需等待有限停留有限等待

三、综合题

1.有座东西方向架设、可双向通行的单车道简易桥,最大载重负荷为4辆汽车。

请定义合适的信号量,正确使用PV操作,给出任一车辆通过该简易桥的管理算法。

答:

需要设置一个互斥信号量mutex来确保桥的单行使用权,设置变量etolnum、ltoenum表示从西到东和从东到西的车辆的数目,同时设相应的两个互斥信号etolmutex、ltoemutex来确保变量etolnum、ltoenum的互斥使用,还需要设置一资源信号量count来控制上桥车辆的数目。

semaphoremutex,etolmutex,ltoemutex,count;

intetolnum=0,ltoenum=0;

mutex.value=1;

etolmutex.value=1;

ltoemutex.value=1;

count=4;

etol()//从西向东过桥的车辆进程

{

wait(etolmutex);//要用到变量etolnum先申请变量的使用权

if(etolnum==0)wait(mutex);//如果是第一辆从西向东过桥的车辆需申请桥的使用权

etolnum++;//从西向东过桥的车辆数目加1

signal(etolmutex);

wait(count);//令可从西向东过桥的车辆数目减1

过桥;

signal(count);

wait(etolmutex);//要用到变量etolnum先申请变量的使用权

etolnum--;//从西向东过桥的车辆数目减1

if(etolnum==0)wait(mutex);//最后一辆从西向东过桥的车辆需释放桥的使用权

signal(etolmutex);

}

ltoe()//从东向西过桥的车辆进程

{

wait(ltoemutex);//要用到变量ltoenum先申请变量的使用权

if(ltoenum==0)wait(mutex);//如果是第一辆从东向西过桥的车辆需申请桥的使用权

ltoenum++;//从东向西过桥的车辆数目加1

signal(ltoemutex);

wait(count);//令可从东向西过桥的车辆数目减1

过桥;

signal(count);

wait(ltoemutex);//要用到变量ltoenum先申请变量的使用权

ltoenum--;///从东向西过桥的车辆数目减1

if(ltoenum==0)wait(mutex);//最后一辆/从东向西过桥的车辆需释放桥的使用权

signal(ltoemutex);

}

2.设在公共汽车上,司机和售票员的活动分别是:

司机:

启动车辆,正常行车,到站停车。

售票员:

上乘客,关车门,售票,开车门,下乘客。

用PV操作对其控制。

答:

存在两个同步关系有,司机到站停车后售票员开车门,售票员关车门后司机才能启动车辆。

因此需要两个同步信号量。

semaphoreopen,close;

open.value=1;

close.value=0;

driver()

{

while

(1)

{

wait(close);

启动车辆;

正常行车;

到站停车;

signal(open)

}

}

conductor()

{

while

(1)

{

上乘客;

关车门;

signal(close);

售票;

wait(open);

开车门;

下乘客;

}

}

3.理发师问题:

理发店理有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子。

如果没有顾客,理发师便在理发椅上睡觉,一个顾客到来时,它必须叫醒理发师,如果理发师正在理发时又有顾客来到,则如果有空椅子可坐,就坐下来等待,否则就离开。

试用pv操作实现理发师问题。

答:

理发师要互斥地给顾客理发,所以要用一个互斥信号量mutex。

用变量waitnum表示等待的顾客的数目,为了互斥使用变量waitnum,需要设互斥信号量waitmutex。

如果没有顾客,理发师就睡觉。

理发师等待信号量custmer将其唤醒。

唤醒后就互斥地为顾客理发。

理发完毕后如果还有顾客就发next信号,换下一个顾客理发。

顾客进程中,如果是第一个顾客就唤醒理发师,否则等待,等到理发师的next信号,就去理发,理完离开。

为了控制等待的人数,设资源信号量waitcustomer。

semaphoremutex,waitmutex,customer,next,waitcustomer;

intwaitnum=0;

mutex.value=1;

waitmutex.value=1;

customer.value=0;

next.value=0;

waitcustomer.value=n;

barber()

{

while

(1)

{

wait(waitmutex)//互斥访问变量waitnum

if(waitnum==0)//如果没有顾客就睡觉

睡觉;

signal(waitmutex);

wait(custmer);//等待被顾客唤醒

wait(mutex);//互斥地为顾客理发

理发;

signal(mutex);

wait(waitmutex)//互斥访问变量waitnum

if(waitnum>0)//如果还有顾客就叫下一个

signal(next);

signal(waitmutex);

}

}

customer()

{

wait(waitmutex);//互斥使用变量waitnum

if(waitnum==0)//如果是第一个顾客就唤醒理发师

singal(customer);

signal(waitmutex);

else

wait(waitcustomer);//如果不是第一个顾客就坐在凳子上等,空闲凳子减1

wait(waitmutex);//互斥使用变量waitnum

waitnum++;//等待人数加1

signal(waitmutex);

等待;

wait(next);//等待理发师下一个的信号

去理发;

wait(waitmutex);//互斥使用变量waitnum

waitnum--;//等待的顾客数目减1

signal(waitmutex);

signal(waitcustomer);//空闲凳子加1

理完发离开;

}

4.现有四个进程R1、R2、W1、W2,它们共享可以存放一个数的缓冲器B。

进程R1每次把来自键盘的一个数存入缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数存放到缓冲器B中,供进程W2打印输出。

为防止数据的丢失和重复打印,问怎样用信号量操作来协调这四个进程的并发执行。

答:

为防止数据的丢失和重复打印,必须在缓冲区中数据打印后再放新的数据。

需设互斥信号量mutex保障对缓冲区的互斥使用。

进程R1数据供进程W1使用,两者之间是同步关系,需设同步信号量s1。

同理需为进程R2和W2设同步信号量s1。

semaphoremutex,s1,s2;

mutex.value=1;

s1.value=0;

s2.value=0;

R1()

{

从键盘读取数据;

wait(mutex);//放数据前先要申请缓冲区的使用权

将数据存入缓冲区B;

signal(s1);//发信号通知W1去打印数据

}

R2()

{

从磁盘读取数据;

wait(mutex);//放数据前先要申请缓冲区的使用权

将数据存入缓冲区B;

signal(s2);//发信号通知W1去打印数据

}

W1()

{

wait(s1);//等待信号去取数据

从缓冲区B读取数据;

打印数据;

signal(mutex);//数据打印过后再释放缓冲区的使用权

}

W2()

{

wai(s2);//等待信号去取数据

从缓冲区B读取数据;

打印数据;

signal(mutex);//数据打印过后再释放缓冲区的使用权

}

5.如果有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。

当缓冲器中无数时,进程R可以将从输入设备上读入的数存放到缓冲器中。

若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。

同时规定:

进程R必须等缓冲区中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空缓冲中取数。

写出这三个并发进程能正确工作的程序。

答:

设互斥信号量mutex来保证缓冲区的互斥使用。

设同步信号量s1、s2来保证R进程同W1、W2进程之间的同步关系。

semaphoremutex,s1,s2;

mutex.value=1;

s1.value=0;

s2.value=0;

R()

{

从输入设备读取数据i;

wait(mutex);//申请打印机的使用权

将数据放入缓冲区B;

if(i%2!

=0)//如果数据为奇数,给W1发信号

signal(s1);

else//如果数据为奇数,给W2发信号

signal(s2);

}

W1()

{

wait(s1);//等待缓冲区满的信号

从缓冲区B中读取数据;

打印数据;

signal(mutex);//释放缓冲区的使用权

}

W2()

{

wait(s2);//等待缓冲区满的信号

从缓冲区B中读取数据;

打印数据;

signal(mutex);//释放缓冲区的使用权

}

习题四答案

一、单项选择题

题号

1

2

3

4

5

6

7

8

9

10

答案

C

D

C

B

A

A

B

C

B

D

二、填空题

1.终端型

2.n*(m-1)+1或者n*m+1-n

3.上下文切换程序

4.对换功能

5.平均周转时间

6.高响应比优先

7.抢占式

8.源分配图不可完全约简

9.饥饿

10.在忙式等待条件下发生的饥饿,称为活锁。

三、综合题

1.作业调度的影响因素有哪些?

答:

作业调度中应该考虑的因素主要有以下几方面。

公平性

(2)均衡使用资源(3)提高系统吞吐量(4)平衡系统和用户需求

2.在批处理系统、分时系统和实时系统中,各采用哪几种迚程(作业)调度算法?

答:

批处理系统的调度算法:

短作业优先、优先权、高响应比优先、多级反馈队列调度算法。

分时系统的调度算法:

时间片轮转法。

实时系统的调度算法:

最早截止时间优先即EDF、最低松弛度优先即LLF算法。

3.在时间片轮转法中,应如何确定时间片的大小?

答:

时间片的长短通常由以下4个因素确定:

(1)系统响应时间

(2)就绪队列进程数目(3)进程转换时间(4)CPU运行指令速度

4.在一个具有两个作业的批处理系统中,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,有如表所示的作业序列(表中所列作业优先数即为进程优先数,数值越小优先级越高)

列出所有作业进入内存时间以及结束时间

计算平均周转时间

作业

到达时间

估计运行时间

优先数

A

10:

00

40分钟

5

B

10:

20

30分钟

3

C

10:

30

50分钟

4

D

10:

50

20分钟

6

答:

题中的每个作业运行将经历两级调度,作业调度和进程调度。

作业调度采用短作业优先调度算法,而进程调度采用基于优先数的抢占式调度算法,即高优先级的进程可以抢占处理机。

此外,只有在作业调度程序将作业装入内存后,在内存的作业才能参与进程调度,并且,本题中的批处理系统是两道作业系统,即内存中最多允许有两道作业。

本题的执行情况如下:

①10:

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

②10:

20时,作业B到达且优先级高于作业A,故作业B投入运行而作业A进入就绪队列。

③10:

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

④10:

50时,作业B运行结束,作业D到达,因按短作业优先调度测略,作业D被装入内存进入就绪队列,而作业A优先级高于作业D,故作业A投入运行。

⑤11:

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

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

⑦12:

20时,作业D运行结束。

由上述分析可得出所有作业进入内存时的时间以及结束时间。

作业

进入内存时间

结束时间

A

10:

00

11:

10

B

10:

20

10:

50

C

11:

10

12:

00

D

10:

50

12:

20

(2)各作业执行的周转时间为:

作业A:

70分钟

作业B:

30分钟

作业C:

90分钟

作业D:

90分钟

作业的平均周转时间为T=(70+30+90+90)/4=70分钟

5.在银行家算法中,若系统中出现如表4-26所示的资源分配情况:

表4-26系统资源分配情况

Allocation

Need

Available

ABCD

ABCD

ABCD

P0

0032

0012

1622

P1

1000

1750

P2

1354

2356

P3

0332

0652

P4

0014

0656

该系统是否安全?

若进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?

为什么?

答:

⑴该状态是安全的,因为存在一个安全序列

下表为该时刻的安全序列表。

Work

Need

Allocation

Work+Allocation

Finish

ABCD

ABCD

ABCD

ABCD

P0

P3

P4

P1

P2

1622

1654

1987

19911

29911

0012

0652

0656

1750

2356

0032

0333

0014

1000

1354

1654

1987

19911

29911

3121417

true

true

true

true

true

⑵若进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0,4,0,0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。

习题五答案

一、单项选择题

1

2

3

4

5

6

7

8

9

10

11

A

B

A

C

D

B

C

C

A

B

D

二、填空题

1.物理、逻辑

2.紧凑

3.最佳置换算法、先进先出置换算法、最近最久未用置换算法

4.实现逻辑地址到物理地址的转换

5.可重入的

6.静态链接、运行时动态链接

三、综合题

1.

(1)有2个空闲分区,第1个从地址280KB开始,容量20KB,第2个从地址400KB开始,容量112KB。

(2)有2个空闲分区,第1个从地址210KB开始,容量90KB,第2个从地址470KB开始,容量42KB。

(3)若申请序列加上req(90KB),采用首次适应算法,仍有2个空闲分区,第1个从地址280KB开始,容量20KB,第2个从地址490KB开始,容量22KB。

采用最佳适应算法,有1个空闲分区,从地址470KB开始,容量42KB。

2.逻辑地址对应的物理地址为BF6A。

3.共产生4次缺页中断,如下所示。

页面访问次序

7

1

2

0

3

0

4

2

3

0

3

2

7

0

1

页框

0

0

0

0

1

2

2

2

2

7

7

1

1

1

1

4

4

4

7

7

7

7

3

3

3

3

缺页标志

F

F

F

F

4.当页框数是3时,缺页中断次数为7。

页面访问次序

4

3

2

1

4

3

5

4

3

2

1

5

页框

2

1

4

3

5

4

3

2

1

5

3

3

2

1

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2