一 索引地址的分配计算
索引分为直接索引,一级索引,二级索引
例如上图,索引节点是从addr[0]~addr[12],每个盘块大小是1KB,字节是4B
其中0~9是直接索引,10是一级索引,11是二级索引,12是三级索引,那么可以计算得知以下信息。
1.每个盘里面的盘块号可以存放多少个?
1K/4B=2^10/2^2=2^8=256个盘块号;
2.一级、二级、三级分别可以表示的字节数;
一级:1*256*256 其中1代表有多少个一级索引的节点
二级:1*256*256*256 其中1代表有多少个二级索引的节点
三级:1*256*256*256*256 其中1代表有多少个二级索引的节点
二 位示图相关的计算
这种方法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。文件存储器上的物理块依次编号为:0、1、2、3...n
假如计算机的字长为32,那么第0字(逻辑编号)对应存储器上第0,1...32号物理块,第1字对应从33到63号物理块。依次计算。
由所有盘块对应的位构成一个集合,称为位示图。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |