新浪博客

OS-unix计算

2012-12-19 22:16阅读:
1.在unix中,如果一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址,请转化下列文件的
字节偏移量为物理地址:
(1)9999 (2)18000 (3)420000
unix采用的是混合索引分配方式,目录结构引入了i节点机制。采用成组链接法。
混合索引分配方式:unix的每个文件存有一个13个地址项组成的数组。addr(0-9)来做直接寻址,
addr(10)用来做一次间接寻址,addr(11)用做二次间接寻址,addr(12)用来做三次间接寻址。
(1) 9999/1024=9...764 逻辑块号为9,块内地址为764.
对应addr(9).因为逻辑块号为0,对应物理地址块号为0.
(2)18000/1024=17.....592 逻辑块号为17,块内地址为578.
10<17<10+256,所以可以从fcb的addr(10)得一次间址块号的地址。第7号项中得到物理块号,
物理偏移592. 0-9 10----17
(3)42000/1024=410......160
逻辑块号410,块内地址为160
addr(0-9)来做直接寻址。 0-9
addr(10)来做一次间接寻址。10-265
256<410<266+256*256 410-10-256=144超出一次间址的块号,需要二次
间址才能找到。
144/256=0
addr(11) 第0项可得一次间址块的物理块号,然后从一次间址块的144号项得知物理块号,块内偏移160
即add(11) 0 266-410(第144号项)
2.某操作系统的文件管理采用直接索引和多级索引混合方式,文件索引表共有10项,其中前8项是直接索引项,第9项是一次间接索引项,第10项是二次间接索引项,假定物理块的大小是2K,每个索引项占用4个字节,试问:
(1)该文件系统中最大的文件可以达到多大?
(2)假定一个文件的实际大小是128M字节,该文件实际占用磁盘空间多大(包括间接索引块)?
1.每个物理块为2K,每个索引项占用4个字节。每个物理块可以存放2K/4=512个索引项。
该文件中最大文件长度:(8+512+512*512)*2K=513MB.
2.占用磁盘空间=文件实际大小+额外的索引块。
.....................................
(2)8个直接块容量为8*2K=16K
1个一级间接块可寻址512*2K=1024K=1M 占用一个大小为2K的索引块
剩下的128M-16K-1M=128*1024K-16K-1024K=130 032K放在二级间接块下。一个一级间接块可寻址512*2K,所以需要 130 032/1024K=126.98块,即需要127个一级间接块。
所以在二级间接块下,该文件占用127个一级间接块和1个二级间接块,即占用了索引块大小为(127+1)*2K=256K
所以该文件总共占用磁盘空间大小=该文件大小+存储该文件用到的索引块大小=128M+2K+256K=131 330KB

索引块在磁盘中。。。







我的更多文章

下载客户端阅读体验更佳

APP专享