1、第六章作业习题解答3.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘空间,试问:(1)位示图需多少个字? (2)第i字第j位对应的块号是多少? (3)并给出申请/归还一块的工作流程。答:(1) 位示图占用字数为500/32=16(向上取整)个字。(2) 第i字第j位对应的块号为:N=32i+j。(3)申请时自上至下、自左至右扫描位示图跳过为1的位,找到第一个遇到的0位,根据它是第i字第j位算出对应块号,并分配出去。归还时已知块号,块号/32算出第i字第j位并把位示图相应位清0。9.一个UNIX/Linux文件,如果一个盘块的大小为1KB,每个盘块占4个字节,那么,若进程欲
2、访问偏移为263168字节处的数据,需经过几次间接寻址?答: UNIX/Linux文件系统中,一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。直接寻址为10块,一次间接寻址为256块,二次间接寻址为2562块,三次间接寻址为2563块。首先将逻辑文件的字节偏移量转换为文件的逻辑块号和块内偏移。方法是:将逻辑文件的字节偏移量/盘块大小,商为文件的逻辑块号,余数是块内偏移;再将文件的逻辑块号转换为物理块号,使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号。偏移为263168字节的逻辑块号是:263168/1024=257。块内偏移量=26316
3、8-2571024=0。由于10257256+10,故263168字节在一次间接寻址内。11 设文件ABCD为定长记录的连续文件,共有18个逻辑记录。如果记录长为512B,物理块长为1024B,采用成组方式存放,起始块号为12,叙述第15号逻辑记录读入内存缓冲区的过程。答:采用成组方式存放,块因子为2。由于共有18个逻辑记录,故占用了9个物理块,而第15号逻辑记录占用的是第15/2=8(向上取整)物理块。因为,是连续文件物理块也是连续的,所以,该逻辑记录占用的是12+8-1=19块。所以,第15号逻辑记录读入内存缓冲区的过程如下:根据块因子,计算占用的相对物理块号8;根据起始块号为12,计算出
4、绝对物理块号19;把物理块号19读入内存缓冲区,把所要的逻辑记录分解出来。15.磁盘共有100个柱面,每个柱面有8个磁头,每个盘面分4个扇区。若逻辑记录与扇区等长,柱面、磁道、扇区均从0起编号。现用16位的200个字(0-199)来组成位示图来管理盘空间。现问:(1)位示图第15个字的第7位为0而准备分配给某一记录,该块的柱面号、磁道号、扇区号是多少?(2)现回收第56柱面第6磁道第3扇区,这时位示图的第几个字的第几位应清0?答:(1)位示图第15个字的第7位对应的块号=1516(字长)+7=247,而块号247对应的:柱面号=247/(84)=7(从0编号,向下取整)磁头号=(247 MOD
5、 32)/4=5扇区号=247 MOD 32 MOD 4=3(2)块号=柱面号柱面扇区数+磁道号盘扇区+盘扇区=56(84)+64+3=1819字号=1819/16=113位号=1819 MOD 16 =11所以,回收第56柱面第6磁道第3扇区时,位示图的第113字的第11位应清0。17.在一个操作系统中,inode节点中分别含有10个直接地址的索引和一、二、三级间接索引。若设每个盘块有512B大小,每个盘块中可存放128个盘块地址,则一个1MB的文件占用多少间接盘块?一个25MB的文件占用多少间接盘块?答:在这样的操作系统中,10个直接盘块存放的容量为:512B10/1024=5KB一次间接
6、索引盘块存放的容量为:512B128/1024=64KB二次间接索引盘块存放的容量为:512B128128/1024=8192KB三次间接索引盘块存放的容量为:512B128128128/1024=1048576KB则:1MB为1024KB,1024KB-64KB-5KB=955KB,9551024B/512B=1910,所以1MB的文件分别占用128个一次间接盘块和1910个二次间接盘块。25MB为:251024KB-64KB-5KB-8192KB=17339KB,173391024B/512B=34678所以25MB的文件分别占用128个一次间接盘块和1282=16384个二次间接盘块,3
7、4678个三次间接盘块.22.一个树形结构的文件系统如图所示,问:(1)可否进行下列操作:在目录D中建立一个文件,取名为A;将目录C改名为A;(2)若E和G分别为两个用户的目录:用户E想共享文件Q,应有什么条件,如何操作?在一段时间内,用户G主要使用文件S和T,为简便操作和提高速度,应如何处理?用户E想对文件I加以保护,不许别人使用,能否实现?如何实现?答:本系统是一个多级目录的组织方式。(1) 由于目录D中没有已经命名为A的文件,因此在目录D中可以建立一个取名为A的文件。因为在文件系统的根目录下已经存在一个取名为A的目录,所以根目录下的目录C不能改名为A。(2)用户E想共享文件Q,首先需要有
8、访问文件Q的权限。在访问权限许可的情况下,用户E可以通过相应路径来访问Q,即用户E通过自己的主目录E找到其父目录C,再访问C的父目录根目录,然后依次通过目录D、目录G、目录K和目录O,访问到文件Q。若用户E当前目录为E,则访问路径为:././D/G/K/O/Q (其中符合.表示一个目录的父目录)用户G需要通过依次访问目录K和目录P才能访问到文件S及文件T。为了提高访问速度,可以在目录G下建立两个链接文件,分别链接到文件S和文件T上,这样用户G就可以直接访问这两个文件了。用户E可以通过修改文件I的存取控制表来对文件I加以保护,不让其它用户使用。具体实现是,在文件I的存取控制表中,只留下用户E的访问权限,其它用户对该文件无操作权限。3