• 大小: 188KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-17
  • 语言: C/C++
  • 标签: 文件系统  C++  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退出为止。

资源截图

代码片段和文件信息

#include “head.h“
#include “blockinodesuperblock.h“
#include “initial.h“
#include “userop.h“
#include “file.h“
#include “dir.h“
#include “command.h“
#include “chsome.h“
 
/////////////////////////////////////////////////////////////////////////////////////////
void main()
{
control.open(“control.txt“ios::in | ios::out );
int i;
    control>>i;
    control.close();
        if(i!=0)//不为0就初始化
{
initial();
}
    control.open(“control.txt“ios::in | ios::out );
control.seekp(0);
control<<0;//默认是上次基础上继续下去不用再初始化
    control.close();
 
    strcpy(curname“root“);//当前目录文件名为root
    road[0]=0;//当前目录路径(存放从根目录到这里的结点号)
num=1;//最后位road[num-1]为当前目录文件i结点号
 
cout<<“请登陆系统\n“;
    while( !login() )//登陆为止
cout<<“wrong !!!\n“;
cout<<“    login success“< cout<<“******Welcome “< 
readsuper();
    getcommand();//命令解析函数
writesuper();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      51400  2009-05-30 12:59  文件系统\debug\disk.txt

     文件     102400  2009-02-17 11:52  文件系统\debug\OS5.exe

     文件     442576  2009-02-17 11:52  文件系统\debug\OS5.ilk

     文件     486400  2009-02-17 11:52  文件系统\debug\OS5.pdb

     文件         54  2009-05-30 12:59  文件系统\debug\user.txt

     文件       7644  2009-02-17 11:50  文件系统\OS5\blockinodesuperblock.h

     文件       7194  2009-02-17 11:52  文件系统\OS5\chsome.h

     文件       5321  2009-02-17 11:52  文件系统\OS5\command.h

     文件      12191  2009-02-17 11:52  文件系统\OS5\dir.h

     文件      51400  2009-02-17 11:52  文件系统\OS5\disk.txt

     文件       8210  2009-02-17 11:51  文件系统\OS5\file.h

     文件       4412  2009-02-16 22:50  文件系统\OS5\head.h

     文件       2587  2009-02-17 11:51  文件系统\OS5\initial.h

     文件        989  2009-02-17 11:53  文件系统\OS5\main.cpp

     文件       4173  2009-02-16 22:49  文件系统\OS5\OS5.vcproj

     文件       1411  2009-02-17 11:53  文件系统\OS5\OS5.vcproj.Dark-PC.Allen.user

     文件         54  2009-02-17 11:52  文件系统\OS5\user.txt

     文件       1623  2009-02-17 11:51  文件系统\OS5\userop.h

     目录          0  2009-05-30 12:59  文件系统\debug

     目录          0  2009-05-30 13:00  文件系统\OS5

     目录          0  2009-05-30 13:00  文件系统

----------- ---------  ---------- -----  ----

              1190039                    21


评论

共有 条评论