资源简介
在内存空间上模拟文件系统操作,支持指令有ls,pwd,mkdir,rmdir,mv,touch,rm,read,write
代码片段和文件信息
#include“DiskOperate.h“
#include
#include
char* systemStartAddr; //系统起始地址
//初始化系统
void initSystem()
{
//创建空间
systemStartAddr = (char*)malloc(system_size * sizeof(char));
//初始化盘块的位示图
for(int i=0; i systemStartAddr[i] = ‘0‘;
//用于存放位示图的空间已被占用
int bitMapSize = block_count * sizeof(char) / block_szie;//位示图占用盘块数:100
for(int i=0; i systemStartAddr[i] = ‘1‘; //盘块已被使用
}
//退出系统
void exitSystem()
{
free(systemStartAddr);
}
//磁盘分配
int getBlock(int blockSize)
{
int startBlock = 0;
int sum=0;
for(int i=0; i {
if(systemStartAddr[i] == ‘0‘)//可用盘块
{
if(sum == 0)//刚开始,设置开始盘块号
startBlock = i;
sum++;
if(sum == blockSize)//连续盘块是否满足需求
{
//满足分配,置1
for(int j=startBlock; j systemStartAddr[j] = ‘1‘;
return startBlock;
}
}
else//已被使用连续已经被打断
sum = 0;
}
printf(“not found such series memory Or memory is full\n“);
return -1;
}
//获得盘块的物理地址
char* getBlockAddr(int blockNum)
{
return systemStartAddr + blockNum * block_szie; //偏移量单位为字节
}
//获得物理地址的盘块号
int getAddrBlock(char* addr)
{
return (addr - systemStartAddr)/block_szie;
}
//释放盘块、
int releaseBlock(int blockNum int blockSize)
{
int endBlock = blockNum + blockSize;
//修改位示图盘块的位置为0
for(int i=blockNum; i systemStartAddr[i] = ‘0‘;
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1826 2017-06-26 23:19 DiskOperate.cpp
文件 542 2017-06-27 16:53 DiskOperate.h
文件 11360 2017-06-27 19:03 FileOperate.cpp
文件 1997 2017-06-27 13:13 FileOperate.h
文件 262359 2017-06-27 19:18 FileSystem.exe
文件 4832 2017-06-27 16:15 main.cpp
----------- --------- ---------- ----- ----
282916 6
相关资源
- FATFS文件系统应用程序手册(中文版)
- 操作系统简单二级文件系统
- 文件系统源码--操作系统课程设计
- 文件系统源代码
- STM32 F407的SPI+DMA带文件系统FATFS.zip
- 数码相机 文件系统 设计规范 DCF 英文
- Cheap_Flash_FS--嵌入式NandFlash文件系统源
- STM32+SDIO+FatFS文件系统例程
- 详细介绍了FAT文件系统(包括FAT12FA
- 基于FAT16的虚拟文件系统——操
- stm8s208上移植SD卡驱动和FAT文件系统
- Windows XP 支持exFAT文件系统补丁
- 支持Yaffs2文件系统的U-Boot的实现
- I.MX6U Yocto构建根文件系统V1.0.pdf
- ExFAT文件系统详解
- 文件系统的详细分析FAT16—32资料和
- nfs文件系统rpm包
- stm32_King_SD_Card(文件系统实现读取b
- FastDFS分部式文件系统linux服务端安装
- yaffs2文件系统介绍
- 文件系统Minifilter驱动权威教程 -中文
- 操作系统实验4_文件系统
- 模拟文件系统设计报告
- 操作系统综合实践虚拟文件系统FAT方
- 操作系统课程设计(虚拟文件系统)
- 操作系统课程设计-文件系统源码+文档
- 实现磁盘转储功能,使文件可以从虚
- FAT32文件系统实现
- FastDFS_v5.05.tar.gz
- 模拟实现单级目录的FAT文件系统.doc
评论
共有 条评论