操作系统课程设计之三设计任务:模拟 OS 文件系统在任一 OS(Window 或者 Dos;也可以是在 Linux 下,但要求能将结果演示给老师看)下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟 OS 文件系统
1、在现有机器硬盘上开辟 10M(共 10000 个盘块,每盘块大小为 1k)的硬盘空间(生成一个10M 的用户文件 SDisk
dat 即可),作为设定的硬盘空间
2、编写一管理程序 SDisk,对此空间进行管理,以模拟 OS 文件系统,要求:⑴、盘块大小 1k⑵、空闲盘块的管理:采纳位示图法⑶、文件空间管理:采纳 FAT(文件分配表),每个盘块号占 2 个字节⑷、目录项管理:①、每个目录项占用 32 字节,其中前 8 个字节(0—7)为文件名,之后跟 3 个字节(8—10)的扩展名,26—27 字节,存放文件的第一个盘块号,最后四个字节(28-31),存放文件长度(假如目录项对应的是下一级子目录(文件),其文件长度部分为 0)②、目录按文件方式管理,每个目录仅用一个盘块(即 1k,最多装 32 个目录项)③、第 0 个目录项为本目录,即“
",第 0 个字节为“
",即 0x2E,第 26—27 字节指明本目录所在盘块
④、第 1 个目录项为父目录,即“
”,第 0,1 个字节为“
"即 0x2E,0x2E,第 26-27 字节指明父目录所在盘块
⑤、每个目录实际能放下文件或子目录 30 项
⑸、文件系统空间分配:①、第 0 个盘块(1k)存放磁盘信息(可以设定为格式说明“FAT32"、盘块大小,盘块数等内容)②、第 1 个盘块起,至 125 盘块,共 125 个盘块(125k)存放 FAT 内容③、第 126、127(2 个)盘块,存放位示图④、从第 128 盘块至 10000 盘块,皆为数据(区)盘块,其逻辑编号从 0 开始,至 9872