论述题1
有一个文件系统,根目录常驻内存,如图所示。
目录文件采用链接结构,假设每个目录下最多允许建立60个文件或目录(统称为下级文件)。
又假设每个磁盘块最多可存放10个文件目录项:如果下级文件是目录文件,则上级目录项指向该目录文件的第一块地址;
如果下级文件是普通文件,则上级目录项指向该文件的FCB(文件控制块)地址。
假设图中所示的文件目录结构中,文件或子目录按自左向右的次序建立,而符号"…"表示尚有其他文件或子目录未列出。
1.假设普通文件采用UNIX的三级索引结构,主索引表放在文件控制块中。
(1)假设每个物理块能存放128个地址(物理块块号),那么,普通文件的大小最大为多少块?(3分)
(2)若要读/A/D/G/I/K的第7461块,系统最少启动硬盘几次,最多几次?(6分)
2.若普通文件采用顺序结构,若要读/A/D/G/I/K的第285块,最少启动硬盘几次,最多几次?(6分)
3.为了打开文件,用户给出文件名后,操作系统应做哪些工作?(6分)
4.一般在文件系统中,为了加快文件目录检索速度(减少启动硬盘的次数),可以采用什么方法?(9分)
2、(7分)假设计算机系统采用CSCAN磁盘调度策略,使用2KB的内存空间记录16384个磁盘的空闲状态
(1)、请说明在上述条件如何进行磁盘块空闲状态的管理。
(2)、设某单面磁盘的旋转速度为每分钟6000转,每个磁道有100个扇区,相临磁道间的平均移动的时间为1ms.
若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号的请求队列为50,90,30,120对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?需要给出计算过程。
答案:
(1)2KB = 2*1024*8bit = 16384bit。
因此可以使用位图法进行磁盘块空闲状态管理,每1bit表示一个磁盘块是否空闲。
(2)每分钟6000转,转一圈的时间为0.01s,通过一个扇区的时间为0.0001s。
根据CSCAN算法,被访问的磁道号顺序为100 →120 →30→50 →90,因此,寻道用去的总时间为:(2 0 + 90 + 20 + 40)* 1ms = 170ms
总共要随机读取四个扇区,用去的时间为:(0.01*0.5 + 0.0001)*4 = 0.0204s = 20.4ms
所以,读完这个扇区点共需要170ms + 20.4ms = 192.4ms。
3、在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。
假设目录文件存放在磁盘上,每个盘块512字节。
文件控制块占64字节,其中文件名占8字节。
通常将文件控制块分解成两部分,第1部分占10字节(包括文件名和文件内部号),第2部分占54字节(包括文件内部号和文件其他描述信息)。
1)假设某一目录文件共有256个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。
(32+1)/2=16.5
(5+2)/2+1=4
2)一般地,若目录文件分解前占用那个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。
(n+1)/2>(m+1)/2+1 故m<n+2。