• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: 其他
  • 标签: C/  UNIX  

资源简介

仿照UNIX操作系统设计中文件系统的描述,将一个文件当作一个磁盘,并在该文件上构建一个完整文件系统,支持多级目录,支持命令浏览文件ls, 切换目录cd,创建文件create,删除文件unlink,写入文件write,读文件read, 留有更多接口开发其他的命令,作为学习文件系统是一个不错的例子。

资源截图

代码片段和文件信息

#include “File_System.h“
#include 

static FILE *File_System_fp;
static Surper_Block Surper_Block_Info;
static Mem_Inode_P Mem_Inode_head Mem_Inode_Tail;
static int Indirect_Block_Quantity = BLOCK_SIZE / sizeof(int);
static int Current_Dirent_Inode_Num;

//块号转文件偏移量
//入口参数:块号
//返回值:文件偏移量
int Block_Num_to_Offset(int Block_Num)
{
    unsigned int Offset;
    Offset = Surper_Block_Info.Start_Block_Offset + Block_Num * BLOCK_SIZE;
    return Offset;
}

//结点号转文件偏移量
//入口参数:结点号
//返回值:文件偏移量
int Inode_Num_to_Offset(int Inode_Num)
{
    unsigned int Offset;
    int Disk_Inode_Size = sizeof(Disk_Inode);
    Offset = Surper_Block_Info.Start_Inode_Offset + Inode_Num * Disk_Inode_Size;
    return Offset;
}

//读取文件块里所有int数据
//入口参数:Block_Num:块号; Block_Buf:整型数组;
//返回

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

     文件        568  2018-10-23 20:29  File_System\apue.h

     文件      57585  2018-11-15 15:28  File_System\File_System.c

     文件       4894  2018-11-11 17:02  File_System\File_System.h

     文件       6070  2019-03-14 21:03  File_System\File_System_All.c

     文件       1215  2018-11-11 18:06  File_System\File_System_Test.c

     文件        119  2019-01-13 11:47  File_System\GccFile_System.sh

     目录          0  2019-03-14 21:06  File_System

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

                70451                    7


评论

共有 条评论