完整版操作系统课后答案参考要点方敏版.docx
《完整版操作系统课后答案参考要点方敏版.docx》由会员分享,可在线阅读,更多相关《完整版操作系统课后答案参考要点方敏版.docx(29页珍藏版)》请在冰豆网上搜索。
完整版操作系统课后答案参考要点方敏版
操作系统概述
1.试给出操作系统的定义,并说明现在操作系统的基本特征是什么?
操作系统是控制和管理计算机硬件和软件资源、合理地组织和管理计算机的工作流程以方面用户使用的程序的集合。
并发
共享
虚拟
不确定性
2.操作系统的主要功能是什么?
形成的标志是什么?
CPU管理、内存管理、设备管理、作业管理、文件管理
形成标志是多道程序技术
3.解释下列名词:
共享,并发,并行,不确定性
见P3.
4.什么是多道程序?
它的特点是什么?
实现多道程序设计要解决那些问题?
同时将多个作业放入内存,并允许他们交替执行,共享系统中的各种硬/软件资源,提高CPU,I/O,内存的利用率。
内存管理,为多道程序分配内存空间,并提供内存访问保护
CPU的占用调度,兼顾公平性与优先级,考虑计算密集型与I/O密集型,保证吞吐率和资源利用率最大化
I/O管理
文件管理
5.为什么要引进分时系统?
分时系统的特点是什么?
一台主机上连接了多个键盘显示终端,用户可以通过各自的终端,以交互作用方式使用计算机,共享主机上所配置的各种硬/软件资源;
“分时”的定义:
指把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。
同时化
独立性
及时性
交互性
作业管理和用户接口
1.通常操作系统和用户之间有哪几类接口?
它们的主要功能是什么?
作业控制级接口:
提供对作业的控制功能。
最初是命令驱动方式,现在多采用图形及视窗操作环境。
程序级接口:
系统调用是操作系统提供给软件开发人员的接口。
2.什么是系统调用?
并说明它的实现原理。
指用户在程序设计过程中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段,是操作系统提供给编程人员的唯一接口。
3.比较一般的过程调用和系统调用的区别
运行状态不同。
系统功能调用的调用过程和被调用过程运行在不同的状态,而普通的过程调用运行在相同的状态。
调用方法不同。
系统调用必须通过中断机制首先进入系统核心,然后才能转向相应的命令处理程序。
普通过程调用可以直接由调用过程转向被调用过程。
返回问题。
对于系统功能调用,由于发生和状态的改变,在返回时可能需要重新进行调度分析(如抢先式调度的系统)。
普通的过程调用直接返回调用过程继续执行。
4.简述作业的系统中的几种状态及转换
9,10.计算各种作业调度算法的平均周转时间和平均周转系数
选择调度算法应遵循的准则是什么?
CPU利用率。
希望能够获得较高的CPU利用率。
显然尽量让外设和CPU同时工作是提高CPU利用率的有效方法。
吞吐量:
单位时间内CPU完成作业的数量。
显然短作业优先有利于提高吞吐量。
周转时间:
评价批处理系统的性能指标
进程管理
1.什么是PCB,具有哪些方面的作用?
组成?
如何管理?
PCB是操作系统用来记录进程详细状态和相关信息的基本数据结构,它和进程是一一对应的,是进程存在的唯一标识。
进程的档案,描述进程的特征,记载进程的历史,决定进程的命运。
作用:
提供进程的各种信息,以便操作系统查询、控制和管理。
操作系统中,PCB在内存中以表的形式存在,集中在一个固定存储空间上;有些情况下,进程控制块被分为常驻内存信息和非常驻内存信息。
2.进程有哪三种基本状态?
各状态之间是因何转换的?
3.进程的特征有哪些?
并发性:
动态性:
独立性:
制约性:
异步性:
结构性:
4.信号量是什么?
怎么进行分类?
用以表示资源的实体——是一个与队列有关的整型变量。
特点:
其值只能通过初始化操作和P、V操作来访问。
信号量的类型:
①公用信号量:
用于进程间的互斥,2个或2个以上进程,初值通常为1;
②私有信号量:
用于进程间的同步,2个进程(制约进程与被制约进程),初值通常为0或n。
5.P,V操作的定义和操作,并指出其优缺点
优点:
P/V操作原语完备,表达能力强,任何同步和互斥问题都可以用它来解决;
缺点:
作为进程间通信的工具,不够安全,而且在一些问题的实现上相当复杂;
6.管道机制是如何实现进程间通信的?
7.回答处理机调度的3个层次。
8.进程调度的任务是什么?
确定调度算法的原则
9.线程分为哪两类?
各有什么优缺点
线程(thread)也叫轻型进程,是一个可执行的实体单元,是现代操作系统中处理机调度(执行)的基本单位。
分类
单线程:
一个进程只能有一个线程——MS-DOS系统
多线程:
单个进程可以拥有多个线程——UNIX/Linux,Windows
10.比较线程的两种不同的实现机制
11.24题
第一种情况信号量初值为1,变化范围为:
-(n-1),,,,0,,,,,1
第二种情况信号量初值为m,变化范围为:
-(n-m),,,0,,,,m
12.25题
A=13
b=6
c=10
13.第28题
//检验员
while(true){
查看产品质量
If(合格){
P(S1)
放在传送带上
V(S2)
}else{
销毁
}
}
//计量员
while(true){
P(S2)
称重并记录
V(S1)
P(S3)
放在传送带上
V(S4)
}
//分拣员
while(true){
P(S4)
包装
V(S3)
}
这个问题有一点模糊的地方是信号量初值的确定,这和传送带上能放多少件产品有关
14.第29题
S0,S1,S2,S3代表M0,M1,M2,M3中的消息数
R0,R1,R2,R3代表M0,M1,M2,M3中的空格子数量
//P0
//S0初值为2
//R1初值为3
While(true){
P(S0)
从M0取走一个消息
V(R0)
加工
P(R1)
向M1放入一个消息
V(S1)
}
//P1
//R2初值为2
//S1初值为0
While(true){
P(S1)
从M1取走一个消息
V(R1)
加工
P(R2)
向M2放入一个消息
V(S2)
}
//P3
//R0初值为1
//S3初值为0
While(true){
P(S3)
从M3取走一个消息
V(R3)
加工
P(R0)
向M0放入一个消息
V(S0)
}
//P2
//S2初值为0
//R3初值为2
While(true){
P(S2)
从M2取走一个消息
V(R2)
加工
P(R3)
向M3放入一个消息
V(S3)
}
解释:
借鉴生产者/消费者典型的问题的解决方法,
每一个进程既是生产者,也是消费者
15.第31题
1)应编写一个程序;读者的数量为多少,就应该设置多少进程?
进程和程序之间关系为:
程序是静态的,永久的,往往保存在磁盘上
进程是动态的,是程序的一次执行,具有生命周期;是操作系统资源分配和执行的基本单位
2)公用信号量R,初值为1,代表登记表资源互斥
公用信号量S,初值为1000,代表座位资源
//读者
Begin
P(S)
P(R)
在登记表上进行登记
V(R)
在图书馆,,,
P(R)
在登记表上撤消登记
V(R)
V(S)
离开图书馆
End
解释:
只需实现一个程序来模拟读者即可,通过程序的参数来体现读者的特征,比如,姓名等
仔细可以识别出,登记表为共享资源,在读者进入图书馆和离开图书馆时需要互斥访问
1000个座位为有限的系统资源,1000个座位全被占用时,后续读者只有等待
死锁
1.产生死锁的4个必要条件是什么?
为什么说是必要条件而不是充分条件?
资源互斥使用(资源独占)
非剥夺控制(不可强占)
零散请求
循环等待
如果死锁发生,则这四个条件必然同时满足;但反过来讲,如果这四个条件同时满足却不一定发生死锁。
2.列举出预防死锁的各种方法
核心思想是破坏死锁的必要条件。
破坏互斥条件
Spooling技术
破坏不可剥夺条件
允许进程剥夺也包括剥夺自己的“资源”
破坏零散请求
进程创建时就由系统分配了所有所需的资源,等待执行完后,释放所有资源
破坏循环等待条件
系统根据一定策略对资源进行编号,进程必须按序申请资源
3.死锁定理是什么?
如果一个系统状态为死锁状态,当且仅当资源分配图是不可完全化简的。
也即,如果资源分配图中所有的进程都成为孤立节点,则系统不会发生死锁。
4.解除死锁的方法
重新启动
撤销进程
剥夺资源
进程回退
5.资源分配图
见课程PPT
6.11题
S1的资源首先分配给T3,T3得到所需资源,执行完毕之后归还所占的R2资源,R2资源可以满足T1的需求,T1作为生产者可以远远不断地生产S1
T4对S1的需求可以得到满足,但由于T4所需的R1不能得到满足,而T4是S2的生产者,所以S2不能增加资源,T2对S2的申请不能得到满足,故发生死锁
7.12题
(1)
Claim表
A
B
C
P1
3
4
7
P2
1
3
4
P3
0
0
6
P4
2
2
1
P5
1
1
0
Available
(2,3,3)
为P4分配所需资源,执行完释放资源,available为(4,3,7)
为P2分配所需资源,执行完释放资源,available为(8,3,9)
为P3分配所需资源,执行完释放资源,available为(12,3,14)
为P5分配所需资源,执行完释放资源,available为(15,4,18)
为P1分配所需资源,执行完释放资源,available为(17,5,20)
(2)不能,显然available不能满足
(3)可以,假设为P4分配(2,0,1),此时available为(0,3,2),P4的claim为(0,2,0),只能满足P4的要求,分配的顺序同
(1)
(4)不可以,假设为P1分配(0,2,0),此时available为(0,1,2),此时不能满足任何一个进程的claim,会发生死锁
8.13题
找不到非独立又非阻塞的进程
存储管理
1.什么是地址重定位?
分为哪几种?
各有什么特点
当程序被装入内存时,程序的逻辑地址被转换成内存的物理地址,称为地址重定位
绝对装入
可重定位装入
即指程序装入内存时,由于程序的逻辑地址和物理地址不一致,由逻辑地址到物理地址的映射过程。
静态再定位:
指地址定位时修改程序的逻辑地址值,完成定位后,在程序的执行期间地址将不再发生变化。
特点:
在程序执行之前进行地址再定位。
动态再定位:
程序在装入内存时,不修改程序的逻辑地址值,程序在访问物理内存之前,再实时地将逻辑地址转换成物理地址。
2.什么是内碎片和外碎片?
各种存储管理方法中可能产生哪些碎片?
内碎片是指占用分区之内未被利用的地址空间;
外碎片是指占用分区之间难以利用的空闲分区(通常是小空闲分区);
分区存储管理方案
单一连续分区存储管理
内碎片
固定分区
内碎片
可变分区
外碎片
分页式存储管理
内碎片
分段式存储管理
外碎片
3.在内存存储管理系统中,分页存储管理和分段存储管理的主要区别是什么?
4.什么是局部性原理?
局部性原理是指程序在执行过程中的一个较短时期内,所执行的指令地址和指令的操作数地址分别局限于一定的区域,体现为时间局部性与空间局部性:
时间局部性:
指一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时间内;
空间局部性:
指当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小的区域内。
5.第15题
6.第16题
(1)根据段表起始地址与段号,得到段表中的相应表项(判断段号是否超出段表长度范围),得到物理内存对应分区的起始地址,判断段内地址是否超出段长度,最终的物理地址为:
主存起始地址+段内地址;
(2)219+340=559
3300+10=3310
90+500=?
,超出段长度,地址非法
1237+400=1637
(3)访问内存两次,一次为获取段表表项,一次根据最终物理地址获取指令或数据
7.第18题
8.第20题
(1)9016=4096×2+824
32×4096+824=131896
(2)12300=4096×3+12
缺页,请求调页,假设调入得物理块号为x,则物理地址为x×4096+12
文件管理
1.第1题
10K
10+256=266K
10+256+256×256=65802K
2M=2048K<=(10+256+256*7)K,所以(1+1+7)个索引块,2048个物理块存放文件内容,其中10个是直接盘块,2038个通过索引块定位
10M=10240K<=(10+256+256×39)K,所以(1+1+39)个索引块,10240个物理块存放文件内容,其中10个是直接盘块,10230个通过索引块定位
25M=25600K<=(10+256+256×99)K,所以(1+1+99)个索引块,25600个物理块存放文件内容,其中10个是直接盘块,25590个通过索引块定位
2.第2题
3.第3题
内存索引节点表
进程打开文件表
系统打开文件表
Fd1
Fd2
Fd3
Fd1
P3
P2
f_flag:
读
f_count:
2
f_inode:
f_flag:
读写
f_count:
2
f_inode:
f_flag:
读
f_count:
1
f_inode:
f_flag:
写
f_count:
1
f_inode:
I_count:
1
I_count:
1
I_count:
1
I_count:
1
Fd1
Fd2
P1
4.第7题
5.第13题
263168=257K=(10+247)K
1次间接寻址
6.第19题
7.第20题
(1)(30/13+30)*12+30/13+5=395ms
(2)
(30/13)*4*12+30/13+5=118.07
设备管理
1.为什么要引入缓冲技术?
设置缓冲区的原则是什么?
2.按照资源分配管理技术,I/O设备类型可分为哪三类?
3.UNIX系统中将设备分为块设备和字符设备,它们各有什么特点?
分布式计算机系统
1.分布式计算机系统的概念及其特征
网络使得计算机系统从集中式走向分布式
分布式计算机系统是由多个分散的计算机经互连网络连接而成的计算机系统。
●各资源单元既相互协同又高度自治
●能在全系统范围内实现资源管理
●动态进行任务分配和功能分配
●并行地运行分布式程序
“资源/任务/功能/控制的全面分布”
分布式操作系统是管理分布式系统软硬件资源,提供具有分布式系统特征的功能和服务的软件系统。
分布性
自治性
透明性
共享性
协同性
2.分布式系统的设计需要考虑哪些问题?
透明性
灵活性
可靠性
可用性/安全性/容错性
性能
可扩展性
作业存在的问题
操作系统的特征(并发、共享、虚拟、不确定性)需要解释
操作系统的形成标志是多道程序技术
多道程序设计引入了那些需要解决的问题
广义指令指的就是系统调用,系统调用在实现过程中会用到访管指令,由用户态到内核态,特权指令由系统调用服务程序在内核态执行
1.P56,第9题
注意是“2道”,短作业优先
2.P56,10
提交时刻均为0
FCFS没有问题
SJF,作业2和作业4的执行时间相同,但不影响最终的平均周转时间和平均周转系统
非剥夺式优先级调度算法,1-4-3-5-2
要用表格来说明过程
进程模型
状态迁移,要画图,并说明清楚转移条件
进程的特征(并发性、动态性、独立性、制约性、异步性、结构性)需要解释
P117,24题
不仅回答初值是否相同,前者初值为1,后者初值为m