操作系统原理 庞丽萍 答案 习题五答案
操作系统原理习题集+答案

(一)选择题第一章1.操作系统是计算机系统的一种﹎﹎A﹎﹎。
A:(1)应用软件(2)系统软件(3)通用软件(4)工具软件2. 操作系统是一种系统软件,它﹎﹎A﹎﹎。
A:(1)控制程序的执行 (2)管理计算机系统的资源(3)方便用户使用计算机 (4)管理计算机系统的资源和控制程序的执行3.下列选择中,﹎﹎A﹎﹎不是操作系统关心的主要问题,A:(1)管理计算机裸机 (2)设计、提供用户程序与计算机硬件系统的界面(3)管理计算机系统资源 (4)高级程序设计语言的编译器4. 操作系统的主要功能是管理计算机系统中的资源,其中包括﹎﹎A﹎﹎管理和存储器管理,以及设备管理和文件管理。
这里的﹎﹎A﹎﹎管理主要是对进程进行管理。
A:(1)存储器 (2)虚拟存储器 (3)运算器(4)处理机 (5)控制器5. 实现不同的作业处理方式(如:批处理、分时处理、实时处理等),主要是基于操作系统对 A 管理采用了不同的策略。
A: (1)处理机 (2)存储器 (3)设备 (4)文件6. 在操作系统中采用多道程序设计方式能提高CPU和外部设备的﹎﹎﹎﹎。
A: (1)利用效率 (2)可靠性 (3)稳定性 (4)兼容性7. 为了实现多道程序设计,计算机需要有﹎﹎A﹎﹎。
A: (1)更大的内存 (2)更快的外部设备 (3)更快的CPU (4)更先进的终端8. 多道程序设计系统中,让多个计算问题同时装入计算机系统的主存储器﹎﹎A﹎﹎。
A:(1)并发执行 (2)顺序执行(3)并行执行 (4)同时执行9.从总体上说,多道程序设计技术可﹎﹎A﹎﹎单位时间的算题量。
A: (1)增加 (2)减少 (3)维持10.为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存储器,在宏观上并行运行是﹎﹎A﹎﹎。
A:(1)分时操作系统 (2)实时操作系统 (3)批处理系统(4)多道程序设计 (5)并发程序设计11. 有一类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、导弹发射、飞机飞行控制、飞机订票业务等领域是﹎﹎A﹎﹎。
《操作系统原理》习题及参考答案

2.设有三个进程 A、B、C,进程 A 需 8 毫秒处理时间,B 需 2 毫秒处理时间,C 需 24 毫 秒处理时间,分别考虑在就绪队列中的顺序为 ABC 时及 CBA 时,用先来先服务算法 进行调度时的平均等待时间。
解:当顺序为 ABC 时: Wa=0 Wb=8 Wc=10 Mw=(0+8+10)/3=6 ms 当顺序为 CBA 时: Wc=0 Wb=24 Wc=26 Mw=(0+24+26)/3=17 ms
3.设在内存中有三道程序:A、B、C,并按照 A、B、C 的优先次序运行,其内部计算和
I/O 操作时间由下图给出。
程序 A
程序 B
程序 C
计算 30ms
计算 60ms
计算 20ms
I/O 40ms
I/O 30ms
I/O 40ms
计算 10ms
计算 10ms
计算 20ms
要求: (1)试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计)。完成这三道 程序共花多少时间?比单道运行节省多少时间? (2)若处理机调度程序每次进行程序状态转换的时间为 1ms,试画出在处理机调度程序管 理下各程序状态转换的时间关系图。完成这三道程序共花多少时间? 解: (1)在调度程序执行时间忽略不计的情况下,这三道程序的执行时间如下图所示:
1
总的执行时间为 180ms.如果单道执行这三个程序共需 80+100+80=260ms.所以节约 260- 180ms.
(2) 若处理机调度程序每次进行程序状态转换的时间为 1ms,这三道程序的执行时间如下 图所示:
总共花费 180+6=186ms. 4.系统调用(陷入)处理过程。
解:系统调用(陷入)处理过程和中断处理过程是一样的,只是中断源是执行了访管指令 (MS DOS 的 INT 或 UNIX 的 trap)。
操作系统教程习题解答

操作系统教程课后习题参考答案习题一习题二习题三习题四习题五习题六习题一1.设计操作系统的主要目的是什么?设计操作系统的目的是:(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。
因此,操作系统是计算机资源的管理者。
(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
2.操作系统的作用可表现在哪几个方面?(1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
(3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。
其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。
3.试叙述脱机批处理和联机批处理工作过程(1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。
这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。
之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。
编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。
操作系统原理 庞丽萍 答案 习题六答案

2
操作系统课后习题参考答案
沈华 湖北工业大学计算机学院
当运行进程在执行过程中,需要等待某事件的发生才能继续向下 执行,此时会发生变迁 3。
当等待进程等待的事件发生了,将会发生变迁 4。 (2)正在运行的进程因等待某事件的发生而变为等待状态的变迁 3, 在就绪队列非空时会立即引起一个就绪进程被调度执行的变迁 1。 (3)a.3->1 的因果变迁可能发生
正在运行的进程因等待某事件的发生而变为等待状态的变迁 3, 在就绪队列非空时必然引起一个就绪进程被调度执行的变迁 1。
b.3->2 的因果变迁不可能发生。 c.2->1 的因果变迁必然发生 正运行的进程因时间片到变为就绪状态的变迁 2,必然引起一个 就绪进程被调度执行的变迁 1。或者新创建一个进程或一个等待进程 变成就绪,它具有比当前进程更高的优先级发生的变迁 2,必然引起 调度一个具有更高优先级就绪进程执行的变迁 1。
4
操作系统课后习题参考答案
沈华 湖北工业大学计算机学院
在高优先就绪队列采用优先级调度算法时,当一进程从等待状态 变为就绪状态的变迁 4,在该进程的优先级最高且系统采用抢占式调 度时,就会引起该进程被调度执行的变迁 5。 或者在当前运行进程是原低优先就绪队列中的一个进程且高优先就 绪队列为空时,若系统采用可抢占方式,则当一进程从等待状态变为 就绪状态的变迁 4,就会引起该进程被调度执行的变迁 5。
15
12:00 12:15
平均周转时间 t=(120+185+120)/3=141.7
平均代权周转时间 w=(1+2.83+12)/3=4
周转时间 (分钟)
120 185 120
代权周转时间 (分钟)
操作系统原理 庞丽萍 答案 习题六答案

习题六参考答案(P132)6-2某系统进程调度状态变迁图如图6.5所示(设调度方式为非剥夺方式),请说明:(1)什么原因将引起发生变迁2、变迁3、变迁4?(2)当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁3能立即引起另一个进程发生变迁1?(3生?(a ) 图6.5解答:(1)当运行进程在分得的时间片内未完成,时间片到将发生变迁2;当运行进程在执行过程中,需要等待某事件的发生才能继续向下执行,此时会发生变迁3;当等待进程等待的事件发生了,将会发生变迁4。
o m PDF dT r i al(2)正在运行的进程因等待某事件的发生而变为等待状态的变迁3,在就绪队列非空时会立即引起一个就绪进程被调度执行的变迁1。
(3)a .3->1的因果变迁可能发生正在运行的进程因等待某事件的发生而变为等待状态的变迁3,在就绪队列非空时必然引起一个就绪进程被调度执行的变迁1。
b.3->2的因果变迁不可能发生。
c.2->1的因果变迁必然发生正运行的进程因时间片到变为就绪状态的变迁2,必然引起一个就绪进程被调度执行的变迁1。
6-3若题2中所采用的调度为可剥夺式,请回答题2中提出的问题: (1)什么原因将引起发生变迁2、变迁3、变迁4?(2)当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁3能立即引起另一个进程发生变迁1?(3)下述因果变迁是否可能发生?如果可能的话,在什么情况下发生?(a )3->1;(b )3->2;(c )2->1解答:(1)当运行进程在分得的时间片内未完成,时间片到将发生变 迁2;或者新创建一个进程或一个等待进程变成就绪,它具有比当前进程更高的优先级,也将发生变迁2。
h t tp ://w w w .p d f d o .c o m PDF do P a s s w o r d R e m o v e r T r i al当运行进程在执行过程中,需要等待某事件的发生才能继续向下执行,此时会发生变迁3。
操作系统原理_庞丽萍_第一章绪言

三. 桌面系统
随着微电子技术的发展,操作系统的目标: 不再是最大化CPU和外设的利用率 而是最大化用户方便性和响应速度 各种类型的Windows替代MS-DOS, IBM公司将MS-DOS升级为多任务OS/2 Linux个人计算机操作系统(类似于UNIX)
个人计算机操作系统得益于大型机操作系统的研制成果。 另一方面,微型计算机硬件费用很低,有些技术实现可简单。
2
为什么学习操作系统 ?
掌握操作系统的基本理论,具备开发核心系统 软件的技能,设计操作系统或者修改现有的系统
为后继课程打好基础 ———— 数据库、网络、分布式系统 了解当前流行的实际操作系统的使用方法与实 现技术 ———— UNIX,Linux, Windows
3
操作系统能做什么 ?
12
软 操 统
件 程 序
用
其 户
二. 存储程序式计算机的结构和特点
存储程序式计算机(Von Neumann计算机)
1. 基本部件
CPU、主存储器、I/O设备、控制台 2. 特点 集中顺序过程控制 集中控制:由CPU集中管理 顺序性:程序计数器控制 过程性:模拟人们手工操作过程
13
3. 计算机系统结构与操作系统的关系
16
二. 批处理阶段
1. 联机批处理
特点:有监督程序;作业自动过渡
问题:CPU高速与I/O慢速的矛盾
解决:由卫星机负责I/O
17
2. 脱机批处理 特点:有监督程序;作业自动过渡
问题:CPU高速与I/O慢速的矛盾
解决:由卫星机负责I/O
输入机
输入带
输入带
卫星机
主机
打印机
输出带
《操作系统原理》习题及参考答案

1
总的执行时间为 180ms.如果单道执行这三个程序共需 80+100+80=260ms.所以节约 260- 180ms.
(2) 若处理机调度程序每次进行程序状态转换的时间为 1ms,这三道程序的执行时间如下 图所示:
总共花费 180+6=186ms. 4.系统调用(陷入)处理过程。
解:系统调用(陷入)处理过程和中断处理过程是一样的,只是中断源是执行了访管指令 (MS DOS 的 INT 或 UNIX 的 trap)。
《操作系统原理》
习题及参考答案
1.操作系统的定义。操作系统的五大基本功能。网络操作系统相对单机操作系统还应具备 什么功能?
解:操作系统是计算机系统的一种系统软件,由它统一管理计算机系统中的软硬件资源, 合理地组织工作流程,以便有效地为用户提供一个功能强大、使用方便的工作环境,从而 在计算机与用户之间起到接口的作用。操作系统的五大基本功能是:处理机管理、存储器 管理、设备管理、文件系统管理和用户接口。网络操作系统还应具备的功能:网络通信、 资源共享、网络服务、网络用户接口。
3.设在内存中有三道程序:A、B、C,并按照 A、B、C 的优先次序运行,其内部计算和
I/O 操作时间由下图给出。
程序 A
程序 B
程序 C
计算 30ms
计算 60ms
计算 20ms
I/O 40ms
I/O 30ms
I/O 40ms
计算 10ms
计算 10ms
计算 20ms
要求: (1)试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计)。完成这三道 程序共花多少时间?比单道运行节省多少时间? (2)若处理机调度程序每次进行程序状态转换的时间为 1ms,试画出在处理机调度程序管 理下各程序状态转换的时间关系图。完成这三道程序共花多少时间? 解: (1)在调度程序执行时间忽略不计的情况下,这三道程序的执行时间如下图所示:
操作系统教程第5版部分习题标准答案

第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)(见图中有色部分)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已分配的资源 ABC P1 0 1 0 P2 2 0 0 P3 3 0 2 P4 2 1 1 P5 0 0 2
最大需求量 ABC 753 322 902 222 433
剩余资源 A B C 332
答:上课时已给出提示。略
12
}
湖北工业大学信息工程学院计算机系 沈华 10
操作系统课后习题参考答案
P7(){ while(1){ P(SA4); P(mutex4); 通过一辆汽车; V(mutex4); P(SB4); }
}
P8(){ while(1){ P(SB4); P(mutex1); 通过一辆汽车; V(mutex1); P(SA4); }
3
操作系统课后习题参考答案
coend }
bargei(){ …… P(mutexb); 吊起 B 桥; P(mutexa); 吊起 A 桥; 驳船通过 A 桥; 放下 A 桥; V(mutexa); 驳船通过 B 桥; 放下 B 桥; V(mutexb); ……
}
carj(){ …… P(mutex2); countb++;
7
操作系统课后习题参考答案
P4; P5; P6; P7; P8; coend }
P1(){ while(1){ P(SA1); P(mutex1); 通过一辆汽车; V(mutex1); P(SB1); }
}
P2(){ while(1){ P(SB1); P(mutex2);
湖北工业大学信息工程学院计算机系 沈华 8
…
…
答:(1)路口是共享资源。 c 互斥条件:路口必须互斥使用,即汽车对它所需要的路口是排他 性控制的。
6
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
d 不剥夺条件:汽车一旦占用了路口,除非自己让出路口,别人无 权剥夺。 e 部分分配条件:每个方向的车队都占有一个路口,同时因申请新 路口而等待。 f 环路等待条件:占有路口的车都在等待其它车占有的路口,循环 等待。 (2)可以在每个路口设置红绿灯进行控制:绿灯亮时,南北方向的 车可以通行,东西方向的车禁止通行;当红灯亮时,东西方向的车可 以通行,而南北方向的车禁止通行。 (3)设置 4 个互斥信号灯 mutexi(i=1、2、3、4),用来实现汽车对 每个路口的互斥使用;8 个进程,4 个生产者,4 个消费者,4 对同步 信号量。 Main(){
死锁?若会,其理由是什么? (2) 如何能克服一个可能的死锁?请提出一个防止死锁的办法。 (3)如何利用信号灯上的 P、V 操作实现车辆和驳船的同步?
弯道Leabharlann 运河河道汽车前 进方向
***
B
A
* *
* *
* *
* *
* *
* *
* *
100m
公路
驳船前 进方向
2
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
P(mutexa); V(mutex1); 汽车通过 A 桥; P(mutex1); counta--; if(counta==0)
V(mutexa); V(mutex1); ……
湖北工业大学信息工程学院计算机系 沈华 5
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
} 5-7 讨论图 5.8 描述的交通死锁的例子(设各方向上的汽车是单线、 直线行驶): (1)对于产生死锁的四个必要条件中的哪些条件在此例中是适用 的? (2)提出一个简单的原则,它能避免死锁。 (3)若用计算机实现交通自动管理,请用信号灯上的 P、V 操作来 实现各方向上汽车行驶的同步。
答:(1)驳船长 200 米,当驳船通过了 A 桥,其船头到达 B 桥,请 求 B 桥吊起,而此时它的尾部仍占据 A 桥。若这个时候 B 桥上及 B 桥到 A 桥之间的公路上都被汽车占据,而汽车又要求通过 A 桥。这 样驳船和汽车都无法前进,形成死锁的局面。 (2)可以规定资源按序申请和分配,从而破坏了死锁的循环等待条 件,防止死锁的发生。规定如下:B 桥的序号小于 A 桥的序号,驳 船和汽车都必须先申请序号小的资源 B 桥,申请得到满足后,再申 请序号大的资源 A 桥。 (4) 算法如下: 设置两个互斥信号量 mutexa,mutexb,用来实现驳船和汽车对 A 桥 和对 B 桥的互斥使用;设置两个共享变量 counta 和 countb,分别用 来记录 A 桥和 B 桥上的汽车数并设置互斥信号量 mutex1 和 mutex2, 用来实现汽车对共享变量 counta 和 countb 的互斥访问。 Main( ){
int mutexa, mutexb, mutex1, mutex2, counta, countb; mutexa=1; mutexb=1; mutex1=mutex2=1; counta=countb=0; cobegin
bargei; //i=1,2,…,m carj; //j=1,2,…,n
5-5 p 个进程共享 m 个同类资源,每一个资源在任一时刻只能供一个 进程使用,每一进程对任一资源都只能使用一有限时间,使用完便立 即释放。并且每个进程对该类资源的最大需求量小于该类资源的数 目。设所有进程对资源的最大需求数目之和小于 p+m。试证:在该 系统中不会发生死锁。 证明:假设每个进程最多请求Xi(1≤i≤p)个资源,则根据题意有:
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
习题五参考答案(P117)
5-4 三个进程共享四个同类资源,这些资源的分配与释放只能一次一 个。已知每一进程最多需要两个资源,试问:该系统会发生死锁吗? 为什么? 答:该系统不会发生死锁。 因为最坏情况是每个进程都占有一个资源,申请第二个资源,而此时 系统中剩下一个资源,不管这个资源分给哪个进程,都能满足它的资 源要求,因此它能在有限时间内运行结束从而释放它所占有的两个资 源,这两个资源又可以分配给另外两个进程,使它们能够运行结束, 所以系统不会发生死锁。
证毕
5-6 图 5.7 表示一带闸门的运河,其上有两架吊桥。吊桥坐落在一条 公路上,为使该公路避开一块沼泽地而令其横跨运河两次。运河和公 路的交通都是单方向的。运河上的基本运输由驳船担负。在一艘驳船 接近吊桥 A 时就拉汽笛警告,若桥上无车辆,吊桥就吊起,直到驳 船尾部通过此桥为止。对吊桥 B 也按同样次序处理。 (1)一艘典型驳船的长度为 200 米,当它在河上航行时是否会产生
湖北工业大学信息工程学院计算机系 沈华 9
操作系统课后习题参考答案
} }
P5(){ while(1){ P(SA3); P(mutex3); 通过一辆汽车; V(mutex3); P(SB3); }
}
P6(){ while(1){ P(SB3); P(mutex4); 通过一辆汽车; V(mutex4); P(SA3); }
湖北工业大学信息工程学院计算机系 沈华 4
操作系统课后习题参考答案
if(countb==1) P(mutexb);
V(mutex2); 汽车通过 B 桥; P(mutex2); countb--; if(countb==0)
V(mutexb); V(mutex2); 汽车通过 AB 段公路; P(mutex1); counta++; if(counta==1)
1
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
这说明在最坏情况下,每个进程均还差一个资源,而此时系统中 还有一个没被分配的可用资源。将它分配给任何一个进程,都可以使 该得到全部资源的进程运行结束而释放其占有的资源,并将释放的资 源分配给其它的进程,使其它进程都能运行结束,系统不会发生死锁。
int mutex1,mutex2,mutex3,mutex4; int SA1,SB1,SA2,SB2,SA3,SB3,SA4,SB4; mutex1=mutex2=mutex3=mutex4=1; SA1=SA2=SA3=SA4=1; SB1=SB2=SB3=SB4=0; cobegin
P1; P2; P3;
}
补充作业:
湖北工业大学信息工程学院计算机系 沈华 11
操作系统课后习题参考答案
湖北工业大学信息工程学院计算机系 沈华
画出资源分配图,判断此状态是否为安全状态?如果是,则找出安全 序列;在此基础上 1.P2 申请(1,0,2)能否分配?为什么? 2.P5 申请(3,3,0)能否分配?为什么? 3.P1 申请(0,2,0)能否分配?为什么?
操作系统课后习题参考答案
通过一辆汽车; V(mutex2); P(SA1); } } P3(){ while(1){ P(SA2); P(mutex2); 通过一辆汽车; V(mutex2); P(SB2); } }
P4(){ while(1){ P(SB2); P(mutex3); 通过一辆汽车; V(mutex3); P(SA2);