资源简介
仿照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
相关资源
- linux C/S聊天,基于TCP的socket网络编程
- SHA512源码
- Unix下用户级线程库
- UNIX网络编程(第2卷)-源码
- 类Unix的文件管理系统课设
- 操作系统课程设计--模拟文件系统
- 使用微软PC/SC接口操作智能卡的demo
- QT案例--翻金币小游戏
- cpp-基于SystemVerilog的FT232HFT600等USB芯片
- 模拟Unix文件操作系统的设计与实现
- TCP协议C/S模式上传
- 递归下降语法分析器
- μC/OS-II源代码
- linux下基于C/S客户端/服务器的即时聊
- 单相AC-DC电路
- linux下反向远程管理程序,基于c/s模式
- 开关电源模块并联供电系统
- POS小票打印机端口打印DELPHI线程池实
- mingw-get-setup安装包.zip
- 清华大学UNIX教程讲义PPT
- 基于STC89C52单片机温室大棚监控监控系
- 操作系统模拟文件系统
- QT服务器C/S架构
- 哈工大数据结构与算法全部实验汇总
- opencv提取视频图片并检查人脸
- 小区物业管理系统C/S软件结构,精美
- 基于ucos的可移植的键盘程序。包含了
- Unix操作系统介绍安装
- 操作系统课程设计 ——unix成组链接法
- 利用ffmpeg实现RTSP,RTMP推流以及保存到
评论
共有 条评论