文件的实现
目录的实现
思考题:mount 如何实现?
我们可以借助 RAM (Random Access Memory) 自由布局目录和文件
class FSObject {
};
class File: FSObject {
std::vector<char> content;
};
class Directory: FSObject {
std::map<std::string,FSObject*> children;
};
我们没有 Random Access Memory
bread(int bid, struct block *b);
bwrite(int bid, struct block *b);
实现:
敌人:读/写放大
朋友:局部性 + 缓存