习题6
1.什么是文件、文件系统?文件系统有哪些功能?
2.文件的物理结构有哪几种?为什么说串联文件结构不适合随机存取? 3.什么是文件目录?文件目录中包含哪些信息?
4.在实现文件系时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节。其中文件名占8字节。通常将文件控制块分解成两部分,第一部分占10字节(包括文件名和文件内部号),第二部分占56字节(包括文件内部号和文件其他描述信息)。
① 假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。
② 一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请组出访问磁盘次数减少的条件。
5.在创建一个文件时,可能发生哪几种情况?应如何处理? 6.文件存取控制方式有哪几种?比较它们的优缺点。
7.文件系统采用多级索引结构搜索文件内容。设块长为512字节,每个块号长3字节,如果不考虑逻辑块号在物理块中所占的位置,分别求二级索引和三级索引时可寻址的文件最大长度。
6
习题7
1.设备管理的目标和功能是什么?
2.什么是I/O缓冲?为什么要引入I/O缓冲?
3.设备驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用设备驱动程序? 4.为什么在单缓冲与双缓冲情况下,系统对一块数据的处理时间分别为max(C,T)+M和max(C,T)?其中,C:CPU的计算时间,T:数据从I/O控制器到缓冲区的传输时间,M:数据从缓冲区到用户工作区的传输时间。
5.为什么要引入设备独立性?如何实现设备独立性?
6.某移动臂磁盘的柱面由外向里顺序编号,假定当前磁头停在100号柱面且移动臂方向是向里的,现有如下表1所示的请求序列在等待访问磁盘: 表1 访问磁盘请求序列
请求次序 柱面号 1 190 2 10 3 160 4 80 5 90 6 125 7 30 8 20 9 140 10 25 回答下面的问题:
① 写出分别采用“最短查找时间优先算法”和“电梯调度算法”时,实际处理上述请求的次序。
② 针对本题比较上述两种算法,就移动臂所花的时间(忽略移动臂改向时间)而言,哪种算法更合适?简要说明之。
7
习题8
1.ext2文件系统为什么有磁盘I节点和内存I节点? 2.在Linux系统中,用于打开文件的系统调用open的格式为
fd = open( pathname, flags)
其中,pathname为欲打开的文件路径名,flags指示打开方式(读、写),open 的返回值为文件描述符。
1)给出open 的实现算法。
2)说明用户文件描述符表、系统打开文件表与I节点表的作用及三者之间的关系。 3.在Linux系统中,文件共享有哪两种方式? 4.说明Linux虚拟文件系统VFS的工作原理。 5.说明Linux虚拟文件系统VFS中查找文件的过程。 6.什么是块设备驱动程序?
7.分别给出文件的磁盘索引节点与内存索引节点的引用数可能大于1的情况。
8
习题9
1.什么是死锁?给出产生死锁的个必要条件。
2.有三个进程P1、P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。回答:
(1) 若对资源分配不加限制,会发生什么情况?为什么? (2) 为保证进程正确工作,应采用怎样的资源分配策略?为什么?
3.某系统有R1,R2,R3三种资源,在T0时刻P1,P2,P3,P4四个进程对资源的占用和需求情况如表1所示,此刻系统的可用资源向量为(2, 1, 2),问题:
① 将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来; ② 如果此时P1和P2均发出资源请求向量Request(1, 0, 1),为了保持系统安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因;
③ 如果②中两个请求立刻得到满足后,系统此刻是否处于死锁状态? 表1 T0时刻P1,P2,P3,P4四个进程对资源的占用和需求情况表 P1 P2 P3 P4 Maximum demand R1 3 6 3 4 R2 2 1 1 2 R3 2 3 4 2 Current allocation R1 1 4 2 0 R2 0 1 1 0 R3 0 1 1 2 4.在解决死锁问题的几种方法中,哪一种方法最容易实现?哪一种方法使资源利用率最高? 5.设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源:
进程A申请(3,2,1) 进程B申请(1,0,1) 进程A申请(0,1,0) 进程C申请(2,0,0)
请给出一种防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。
9