模拟Linux文件系统

上传者: kaiyilv | 上传时间: 2021-09-13 17:03:52 | 文件大小: 3.99MB | 文件类型: RAR
在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟Linux文件系统。 1. 在现有机器硬盘上开辟100M的硬盘空间,作为设定的硬盘空间。 2. 编写一管理程序simdisk对此空间进行管理,以模拟Linux文件系统,要求: (1) 盘块大小1k (2) 空闲盘块的管理:Linux位图法 (3) 结构:超级块, i结点区, 根目录区 3. 该simdisk管理程序的功能要求如下: (1) info: 显示整个系统信息(参考Linux文件系统的系统信息),文件可以根据用户进行读写保护。目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。 (2) cd …: 改变目录:改变当前工作目录,目录不存在时给出出错信息。 (3) dir …: 显示目录:显示指定目录下或当前目录下的信息,包括文件名、物理地址、保护码、文件长度、子目录等(带/s参数的dir命令,显示所有子目录)。 (4) md …: 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 (5) rd …: 删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。 (6) newfile …: 建立文件。 (7) cat …: 打开文件。 (8) copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝,host文件系统的文件命名为…,如:将windows下D:盘的文件\data\sample\test.txt文件拷贝到模拟Linux文件系统中的/test/data目录,windows下D:盘的当前目录为D:\data,则使用命令: simdisk copy D:\data\sample\test.txt /test/data 或者:simdisk copy D:sample\test.txt /test/data (9) del …: 删除文件:删除指定文件,不存在时给出出错信息。 (10) check: 检测并恢复文件系统:对文件系统中的数据一致性进行检测,并自动根据文件系统的结构和信息进行数据再整理。 4. 程序的总体流程为: (1) 初始化文件目录; (2) 输出提示符,等待接受命令,分析键入的命令; (3) 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。

文件下载

资源详情

[{"title":"( 26 个子文件 3.99MB ) 模拟Linux文件系统","children":[{"title":"design1","children":[{"title":"simdisk","children":[{"title":"simdisk.ncb <span style='color:#111;'> 13.56MB </span>","children":null,"spread":false},{"title":"simdisk.suo <span style='color:#111;'> 15.50KB </span>","children":null,"spread":false},{"title":"simdisk","children":[{"title":"storage.cpp <span style='color:#111;'> 7.23KB </span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'> 11.12KB </span>","children":null,"spread":false},{"title":"node.h <span style='color:#111;'> 1.16KB </span>","children":null,"spread":false},{"title":"storage.h <span style='color:#111;'> 576B </span>","children":null,"spread":false},{"title":"director.h <span style='color:#111;'> 2.20KB </span>","children":null,"spread":false},{"title":"simdisk.vcproj.hpylky-PC.hpylky.user <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"director.cpp <span style='color:#111;'> 15.40KB </span>","children":null,"spread":false},{"title":"Debug","children":[{"title":"simdisk.exe.embed.manifest.res <span style='color:#111;'> 728B </span>","children":null,"spread":false},{"title":"director.obj <span style='color:#111;'> 240.06KB </span>","children":null,"spread":false},{"title":"simdisk.exe.intermediate.manifest <span style='color:#111;'> 621B </span>","children":null,"spread":false},{"title":"vc90.idb <span style='color:#111;'> 771.00KB </span>","children":null,"spread":false},{"title":"BuildLog.htm <span style='color:#111;'> 6.79KB </span>","children":null,"spread":false},{"title":"mt.dep <span style='color:#111;'> 65B </span>","children":null,"spread":false},{"title":"main.obj <span style='color:#111;'> 385.67KB </span>","children":null,"spread":false},{"title":"storage.obj <span style='color:#111;'> 456.98KB </span>","children":null,"spread":false},{"title":"vc90.pdb <span style='color:#111;'> 484.00KB </span>","children":null,"spread":false},{"title":"node.obj <span style='color:#111;'> 63.07KB </span>","children":null,"spread":false},{"title":"simdisk.exe.embed.manifest <span style='color:#111;'> 663B </span>","children":null,"spread":false}],"spread":false},{"title":"simdisk.vcproj <span style='color:#111;'> 4.18KB </span>","children":null,"spread":false},{"title":"node.cpp <span style='color:#111;'> 6.87KB </span>","children":null,"spread":false}],"spread":true},{"title":"Debug","children":[{"title":"simdisk.ilk <span style='color:#111;'> 1.05MB </span>","children":null,"spread":false},{"title":"simdisk.exe <span style='color:#111;'> 190.00KB </span>","children":null,"spread":false},{"title":"simdisk.pdb <span style='color:#111;'> 1.67MB </span>","children":null,"spread":false}],"spread":true},{"title":"simdisk.sln <span style='color:#111;'> 887B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

  • u014135689 :
    额,貌似好像似乎大概没什么用啊
    2014-10-17
  • lizhijun_008 :
    不可以运行,而且分数有点高了。如果有点解释就好了。
    2014-07-02
  • l1025561876 :
    挺不错的,大部分代码可以利用~
    2014-07-01
  • lushuai93 :
    我就想知道在linux下怎么用
    2014-03-11
  • zhangtanhust02 :
    可惜是cpp写的,还是有参考价值
    2014-02-27

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明