第六章作业习题解答
3.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘空间,试问:
(1)位示图需多少个字?
(2)第i字第j位对应的块号是多少?
(3)并给出申请/归还一块的工作流程。
答:(1) 位示图占用字数为500/32=16(向上取整)个字。
(2) 第i字第j位对应的块号为:N=32×i+j。
(3)申请时自上至下、自左至右扫描位示图跳过为1的位,找到第一个遇到的0
位,根据它是第i字第j位算出对应块号,并分配出去。归还时已知块号,块号/32算出第i字第j位并把位示图相应位清0。
9.一个UNIX/Linux文件,如果一个盘块的大小为1KB,每个盘块占4个字节,那么,若进程欲访问偏移为263168字节处的数据,需经过几次间接寻址?
答: UNIX/Linux文件系统中,一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。直接寻址为10块,一次间接寻址为256块,二次间接寻址为2562块,三次间接寻址为2563块。
首先将逻辑文件的字节偏移量转换为文件的逻辑块号和块内偏移。方法是:将逻辑文件的字节偏移量/盘块大小,商为文件的逻辑块号,余数是块内偏移;再将文件的逻辑块号转换为物理块号,使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号。
偏移为263168字节的逻辑块号是:263168/1024=257。块内偏移量=263168-257×1024=0。由于10<257<256+10,故263168字节在一次间接寻址内。
11 设文件ABCD为定长记录的连续文件,共有18个逻辑记录。如果记录长为512B,物理块长为1024B,采用成组方式存放,起始块号为12,叙述第15号逻辑记录读入内存缓冲区的过程。
答:采用成组方式存放,块因子为2。由于共有18个逻辑记录,故占用了9个物理块,而第15号逻辑记录占用的是第15/2=8(向上取整)物理块。因为,是连续文件物