semaphore r_w_w= 1 ,mutex= 1 ,s= 1 ; int count=0; void Reader() { do{ P(S); P(mutex); count++;
if( count==1 ) P(r_w_w); V(mutex) V(s); {读操作} P(mutex); count--;
If(count==0) V(r_w_w); V(mutex) }while(1); }
void Writer() { do{
P(s);
P(r_w_w) ; {写操作}; V(r_w_w);
V(s); }while(1); }
参考P144题25)
28、 什么叫管程(Monitor ,Hansen管程)? 一个管程由哪几部分组成? 29、 请用管程写出Scan和C-scan的磁头调度算法。
30、 请给出在Linux系统中采用共享内存进行进程间通信的一般步骤。(实验二)
第五章 死锁与饥饿
1、 什么叫死锁?在操作系统中,发生死锁有哪些特征? 2、 有哪些类型的死锁?
3、 从资源分配过程的角度,说明死锁与饥饿的区别?
4、 参与死锁进程的个数至少几个?如果产生饥饿,发生饥饿的进程至少饥饿? 5、 请给出发生死锁的必要条件(Coffman条件)并加以解析。 6、 有三种死锁的处理方式?
7、 熟悉资源分配图的绘制,以及资源分配图的约简。 8、 死锁预防有哪两种基本策略?
9、 请阐述预先分配法。它破坏发生死锁什么条件? 10、 请阐述有序分配法。它破坏发生死锁什么条件?
11、 如图所示,请给出采用有序分配法、用信号量和PV操作控制各个方向(W、E、S
方向)车辆进行临界区。 12、 死锁避免中,什么叫做安全序列?
13、 银行家算法:掌握p154例5-4、p170习题五第9题,及本章的作业。
14、 某系统有资源R={A,B,C}={10,5,7}和进程P={p0,p1,p2,p3,p4}。下面是该系统某进程
提出资源请求预分配后的两个状态,请分别用银行家算法检验是否为安全状态?
Claim Allocation Need Available Work Finish P0 P1 P2 P3 P4
A B C A B C A B C A B C A B C 7 5 3 0 1 0 7 4 3 3 3 2 3 2 2 2 0 0 1 2 2 9 0 2 3 0 2 6 0 0 2 2 2 2 1 1 0 1 1 4 3 3 0 0 2 4 3 1
(状态a)
Claim Allocation Need Available Work Finish P0 P1 P2 P3 P4
A B C A B C A B C A B C A B C 7 5 3 0 3 0 7 2 3 1 1 2 3 2 2 2 0 0 1 2 2 9 0 2 5 0 2 4 0 0 2 2 2 2 0 1 0 2 1 4 3 3 0 1 2 4 2 1
(状态b)
15、 在上述(13题)系统处于状态a下,进程P0提出Request(0)={3,2,0},请用银行家
死锁避免算法进行检测,是否可以分配?为什么?
16、 在上述(13题)系统处于状态a下,进程P0提出Request(0)={3,3,0},请用银行家
死锁避免算法进行检测,是否可以分配?为什么? 17、 死锁检测算法:p156例5-6,习题五第10题。
18、 有一系统拥有资源R={A,B,C}={7,3,6},现有进行P={p0,p1,p2,p3,p4}。当前的状态
如下所示。请用死锁检测算法检测系统当前是否发生死锁,如果发生死锁,有哪些进程参与死锁?
Allocation Request Available Work Finish A B C A B C A B C A B C p0: 0 1 0 0 0 0 0 1 0 p1: 2 0 0 2 0 2 p2: 3 0 3 0 0 0 p3: 2 1 1 1 0 0 p4: 0 0 2 0 0 2
19、 同类组合资源死锁的必要条件:p165例5-8。 20、 死锁与饥饿有何相同点和不同点?
第六章 存储管理
1、 静态等长分区是在什么时候划分的?大小有什么要求?空闲内存有哪些管理方式? 2、 动态异长分区是什么时候划分的?其空闲区域表有什么特点?
3、 掌握动态异长分区分配的四种算法:最先适应算法、循环首次适应算法、最佳适应算
法和最坏适应算法。
4、 动态异长分区去配是应该考虑哪四种情况?
5、 在动态异长分区管理中,为什么要进行“紧凑”操作?
6、 在界地址管理方式中,覆盖技术和交换技术要解决什么问题?它们有什么不同? 7、 页表有什么作用?页表是什么时候创建的?应该包括哪些内容?
8、 操作系统采用分页式存储管理方式,每个进程一个页表还是整个系统共享一个页表? 9、 请分别给出页式存储管理、段式存储管理、段页式存储管理其进程的逻辑地址形式。
它们的进程地址空间分别是几维的?
10、 假设操作采用页式存储管理方式,某进程的页表如下:
页面号 0 1 2 3
页架号 15 22 16 32
假设内存物理地址和进程逻辑地址均为16位的地址空间,每页的大小为1KB。请把逻辑地址为0A22H、0D75H、1E56H映射成对应的物理地址。 11、 如果没有快表,采用分别页式存储管理、段式存储管理、段页式存储管理三种方式,
其分别需要访问几次内存?
12、 操作系统采用分页式存储管理方式,要求___。
A)每个进程拥有一张页表,且进程的页表驻留在内存中; B)每个进程拥有一张页表,但只要执行进程的页表驻留在内存中,其他进程的页表不必驻留在内存中;
C)所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中; D)所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中,以最大限度节约有限的内存空间;
13、 为何段式管理有段内越界,而页式管理无页内越界问题?
14、 为什么分段技术比分页技术更容易实现程序或数据的共享和保护? 15、 在段页式存储管理系统中,每个进程页表的个数有什么决定的? 16、 试比较段式存储管理和页式存储管理的优缺点。
17、 设有一个段表如下: 段首址 90 219 1327 1952 2300 段长 100 600 580 96 80 分别给出逻辑地址(2,88)和(4,100)对应的物理地址。
18、 在内存管理模式中,内存利用率最高的是_______模式;动态扩充实现得最好的是
_______模式;内存利用率最高和共享容易的是_____模式。 A)分区管理 B)分页管理 C)分段管理 D)段页式管理
19、 熟悉如下页面淘汰算法:最佳淘汰算法、FIFO淘汰算法、LRU淘汰算法、NUR
淘汰算法。
20、 什么是 Belady异常?采用什么页面淘汰算法会产生Belady异常现象? 21、 考虑如下一个页面处理顺序,当内存的页面数为3时,分别计算各页面淘汰算法的
缺页次数。设内存初始时为空,每页装入都是请求式。 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
LRU算法,缺页次数为_______ OPT算法,缺页次数为_______
22、 某虚存系统有3页初始为空的页架,若采用FIFO页面淘汰算法,则下列的页面需
求提出时,会产生( )次缺页中断?设页面走向为:4,3,2,1,4,3,5,4,3,2,1,5。 A)7 B)8 C)9 D)10 23、 p225习题六第25题、26题。 24、 p224习题六第17、18题。
25、 什么叫做颠簸?颠簸是由什么引起的?如何消除? 26、 P209例6-1。
第七章 文件系统
1、 什么是文件的逻辑组织?什么是文件的物理组织? 2、 文件的逻辑组织形式主要有哪两种?(按逻辑结构分,文件有______和_______两类。) 3、 在UNIX中,把输入输出设备看作是()。
A.普通文件 B.目录文件 C.索引文件 D.特殊文件
4、 请阐述顺序结构、链接结构、索引结构和Hash结构文件的优缺点? 5、 FAT32磁盘文件的物理结构属于哪一种类型? 6、 文件的物理组织有哪些形式?
7、 什么是文件目录?什么是目录文件?
8、 把文件目录划分成主部和次部有哪些优点?主部包括哪些内容?次部包括哪些内
容?
9、 在UNIX系统中,文件采用混合索引方式实现,在FCB中共有13个索引地址,其中
第0~9个地址为直接索引地址,第10个为一级间接索引地址,第11个为二级间接索引地址,第12个为三级间接索引地址。假设每个磁盘块的地址为4字节,每个磁盘快为512字节。请问:
(1) 这样的方式有什么好处?
(2) 它能够保存文件最大为多少字节?
10、 在UNIX中,什么是I-node(I节点)?它保存那些内容?
11、 一个磁盘通常划分成引导区、超级块、i-节点区和数据区四部分。请问各个部分有
哪些作用?
12、 文件目录中的文件号指的是什么? 13、 请阐述Unix文件硬链接的实质? 14、 文件目录中的文件号指的是什么?
15、 超级块有什么作用?它包括那些信息?它什么时候读入内容? 16、 在UNIX系统中,空闲磁盘块采用成组管理,如图所示。
请详细描述空闲磁盘块的分配和去配过程(考虑各种可能的情况)。 17、 “..”和“.”表示什么?什么叫绝对路径?什么叫相对路径? 18、 在Linux/Unix系统中,要使用目前不在系统中的盘(如U盘),必须把该盘mount
在系统中的某个目录下,并登记相应的mount表,结构如下:
Struct mount{
int m_dev; //device mounted int *m_bufp;//pointer to super block
int *m_inodep;//pointer to mounted on inode } mount[NMOUNT];
请详细阐述mount过程系统完成操作。 19、 请详细阐述Linux/Unix系统中,进程
(1) 创建文件:creat(pathname,mode) (2) 打开文件:open(pathname,mode) 的基本过程。
20、 什么叫做转储?实现转储有哪三种策略?
第八章 设备与I/O管理
1、 按I/O基本单位分,设备可以划分成哪两类设备?
2、 有哪四种数据传输方式?请分别阐述四种数据传输方式的基本原理。
3、 在I/O设备控制方式的发展过程中,最主要的推动因素是 A 。提高I/O速度和
设备利用率,在操作系统中主要依靠 B 功能。使用户编制的程序与所使用设备无关是由 C 功能实现的。 A: (1)提高资源利用率; (2) 提高系统的吞吐率;
(3)减少主机对I/O控制的干预; (4)提高CPU与I/O设备的并发操作程度; B,C: (1) 设备分配;(2)缓冲技术;(3)设备管理; (4)设备独立性;(5)虚拟设备; 4、 通道有哪些自己的专用运控部件?它们各自有什么作用?