操作系统文件的地址转换!

我们急需把这个问题解决!操作系统上的课后问题!unix操作系统上,说一个块的大小是1kb ,一个盘块号占4个字节,一个盘块有256个地址。把下面的文件字节偏移量转换为物理地址。(1)9999 (2)18000 (3)140000
  有谁会做的帮帮忙啊!急需解决!先感谢了!!!!!

作者: hao_sparrow   发布时间: 2009-12-31

这个根UNIX没有任何关系,不过是课后习题而已,没有哪个OS会用这么简陋的文件系统
你别信那些狗屁教授出的题,他真的懂内核?不过是考研时有点用


1)字节偏移量为9999 

  逻辑块号为:9999/1024=9 

  块内偏移量为9999-9*1024=783 

  逻辑块号<10,9即位索引节点地址下标,设为inode[9]该项内容即是该文件的字节物理盘块号,783即位该文件在该物理块号内的偏移地址 

物理地址为inode[9]+783 

(2)字节偏移量为18000 

逻辑块号为:18000/1024=17 

块内偏移量:18000-17*1024=592 

10<17<266 

所以该块为一次间接块 

从一次间接项中得到一次间接的盘块号,设为M 

在M中的第17-10=7项所示的地址即位该文件的物理块号为M[7], 

在该物理块号内的偏移量为592 

所以该文件的物理地址为M[7]+592 

(4) 字节偏移量为420000 

逻辑块号为:420000/1024=410 

块内偏移量:420000-410*1024=160 

266<410<65802 

所以采用二次间接寻址 

由系统知二次间接的盘快号为M,由于一次间接快可容纳256个块号 

且410-266=144 

所以该文件的物理块号在M[0]所指示的间接快N的第144项中的数据 

该地址的第160字节即位文件的物理地址 

  

作者: deep_pro   发布时间: 2010-01-02

我从这里弄到的
http://cache.baidu.com/c?m=9d78d513d9d431a54f9990690c66c0166d43f7682bd6a0020fd3843995735a315016e5ac53230772d1d20f6416ae394b9b832103321421c79891d85dddca855e2f9f5744676c8c5666d70eaebb5154c637e12bfeae69f0ca8425e4a5c5d2af4323b944747d97f1fb4d7613dd1f81033093a08e49654860b0fa4461e858073ee92657c043ee90447971f2e29a1c12cc7096275380ae46ad2357f056b31f6c6e1ff117a608267a67a65277fe42390696ef40b12c7c4028b14cb3b8d6b69c12ca83&p=917bd316d9c611a05ee6826d5742&user=baidu

作者: deep_pro   发布时间: 2010-01-02

谢谢,我相信你!我清楚了!

作者: hao_sparrow   发布时间: 2010-01-09

thank you

作者: a1222234   发布时间: 2010-12-20