C语言中的数组,越界了也不报错。所以,我想设计一个内存文件系统,它是基于地址映射的。例如:
node,0,100映射到dir,50,100和200,250
dir,0,1000映射到RAM,5000,5220和6220,7000
其中,node,0,100表示文件node的偏移量从0到100,这是个左闭右开区间,从0到99。
dir形式上是个文件夹,但本质上和文件没有区别,它们都是地址映射的产物。
上例中,从node映射到dir,再从dir映射到RAM。映射的算法如下图:
通过映射,node被分成3段,构成一个映射表。如上图右下角。