基于ram的文件系统的实现

基于ram的文件系统的实现

ID:10334800

大小:57.00 KB

页数:4页

时间:2018-07-06

基于ram的文件系统的实现_第1页
基于ram的文件系统的实现_第2页
基于ram的文件系统的实现_第3页
基于ram的文件系统的实现_第4页
资源描述:

《基于ram的文件系统的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于RAM的文件系统的实现

2、第1内容显示中如果的系统上安装有硬盘,则在BSP中装载你的硬盘驱动即可。如果没有,建议建立基于RAM的文件系统。建立RAM文件系统的方式如下:#ifndefRAMDISK_VERSION#defineRAMDISK_VERSION"1.0builtbytiefengvip.sina."#endif//RAMDISK_VERSION#include#include#include#include/**********************************************************************Function:Creat

3、earamdiskdeviceParameters:name->devicename,suchas"ramdisk0:".size->blockdevicesize.Returned:Theactualydisksize.OrERROR.**********************************************************************/STATUSCreateRamDisk(char*name,intsize){intnBlock=NULL;BLK_DEV*pBlkDev=NULL;DOS_VOL_DESC*pVolDesc=NULL

4、;//thedisksizeshouldbeintegralmultipleoftheblocksize.size=size-size%512;nBlock=size/512;//Youcansimultaneouslyopen20filesdosFsInit(20);//Createaram-disk.//Thebaseaddressisthereturnvalueofalloc.//Theblocksizeis512.//nBlockblockspertrack//TotalnBlockblocks.//Thebaseaddressoffsetis0.pBlkDev=ramDevCr

5、eate(0,512,nBlock,nBlock,0);if(NULL==pBlkDev){fprintf(stderr,"Cannotcreateramblockdevice./n");returnERROR;}//MakeDOSFSbyaramblockdevice.pVolDesc=dosFsMkfs(name,pBlkDev);if(NULL==pVolDesc){fprintf(stderr,"Cannotcreateram-dos-fs./n");returnERROR;}//Thesizeisactualydisksize.returnsize;}/************

6、**********************************************************Function:DeletearamdiskdeviceParameters:name->devicename,suchas"ramdisk0:".Returned:ReturnOKifthedeviceisremovedsuccessfuly.OtherDisk(char*name){DEV_HDR*pDevHdr=NULL;//Findram-diskdevicebynameif(NULL==(pDevHdr=iosDevFind(name,NULL))){fp

7、rintf(stderr,"Cannotfinddevice(%s)./n",name);returnERROR;}//DeletethedeviceandfreetheallocedmemoryiosDevDelete(pDevHdr);free(pDevHdr);returnOK;}/**********************************************************************Function:Createaramdiskdevicesetisasdefaultpath.Parameters:name->devicename,suc

8、has"ramdisk0:".size->blockdevicesize.Returned:Theactualydisksize.OrERROR.**********************************************************************/STATUSInitRamFsEnv(char*name,intsize){STATUSiReturn=CreateRamDisk(name,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。