模拟Linux文件系统。
在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟Linux文件系统在现有机器硬盘上开辟20M的硬盘空间,作为设定的硬盘空间。
2.编写一管理程序对此空间进行管理,以模拟Linux文件系统,具体要求如下:(1)要求盘块大小1k正规文件(2)i结点文件类型目录文件(共1byte)块设备管道文件物理地址(索引表)共有13个表项,每表项2byte文件长度4byte。
联结计数1byte(3)0号块超级块栈长度50空闲盘块的管理:成组链接(UNIX)位示图法(Linux)(4)每建一个目录,分配4个物理块文件名14byte(5)目录项信息i结点号2byte(6)结构:0#:超级块1#-20#号为i结点区20#-30#号为根目录区3.该管理程序的功能要求如下:(1)能够显示整个系统信息,源文件可以进行读写保护。
目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。
(2)改变目录:改变当前工作目录,目录不存在时给出出错信息。
(3)显示目录:显示指定目录下或当前目录下的信息,包括文件名、物理地址、保护码、文件长度、子目录等(带/s参数的dir命令,显示所有子目录)。
(4)创建目录:在指定路径或当前路径下创建指定目录。
重名时给出错信息。
(5)删除目录:删除指定目录下所有文件和子目录。
要删目录不空时,要给出提示是否要删除。
(6)建立文件(需给出文件名,文件长度)。
(7)打开文件(显示文件所占的盘块)。
(8)删除文件:删除指定文件,不存在时给出出错信息。
4.程序的总体流程为:(1)初始化文件目录;
(2)输出提示符,等待接受命令,分析键入的命令;
(3)对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。
1