云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 模拟Unix文件系统实验报告

模拟Unix文件系统实验报告

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 5:28:43

return pwrite(fd,&sup,sizeof(struct super),0); }

int mapio(int i,int j)//é???”?iè????1 {

unsigned short fi=0x8000; fi=fi>>j; fi=~fi; //int k=0;

sup.i[i]=sup.i[i]&fi; return sup.i[i]; }

int mapip(int i,int j)//è?·???iè????1 {

unsigned short fi=0x8000; fi=fi>>j; //int k=0;

sup.i[i]=sup.i[i]|fi; return sup.i[i]; }

struct ij see()//??¥?‰???oé?2???inode {

int k=0;

struct ij kl; while(k<8) {

int f,l=0;

unsigned short gl=0x8000; do{

f=gl&sup.i[k]; gl=gl>>1; l++;

}while(f!=0&&l<=N); if(f==0) {

kl.i=k; kl.j=l-1; return kl; } k++; }

kl.i=-1; kl.j=-1;

return kl; }

int i_addr()//???é…?inode {

int b=-1;

if(sup.iclock==0) {

sup.iclock=1;

struct ij gg=see();

if(gg.i>-1&&gg.j>-1){ b=gg.i*16+gg.j; mapip(gg.i,gg.j); }

sup.iclock=0; }

return b; }

int i_rel(int b)//????”?inode {

if(b>=0) {

if(sup.iclock==0) {

sup.iclock=1; int i=b/N; int j=b%N; mapio(i,j); sup.iclock=0; return 0; } }

return -1; }

/*

* super.h *

* Created on: 2014年12月26日 * Author: sunb */

#ifndef SUPER_H_ #define SUPER_H_

#define C_size 2048//文件系统的总块数 #define B_size 512//每块的字节数

#define D_size 2035//数据块的块数 #define D_beg 13//数据块的起始块号

#define I_size 12 //i节点块的总块数 #define IB_size 48 //i节点块的总块数 #define I_beg 1//i节点的起始块号 #define I_num 128//i节点的个数

#define M_fsize 58368//文件的最大所占字节数 #define B_Mf 114//文件的最大所占块数 #define B_Df 10//单级索引个数

#define DS_size 10//空闲盘块好栈中的空闲盘块的最大数目

#define N 16

#ifndef SUPER struct super{

unsigned int csize;//文件系统的总块数(4) unsigned short bsize;//每块的字节数(2)

unsigned int dsize;//数据块的块数(4) unsigned int dbeg;//数据块的起始块号(4) unsigned int demp;//空闲盘块数(4)

unsigned short isize; //i节点块的总块数(2) unsigned int ibeg;//i节点的起始块号(4) unsigned short inum;//i节点的个数(2) unsigned short i[8];//i节点位示图(12) unsigned short iclock;//inode锁(2)

unsigned int mfsize;//文件的最大所占字节数(4) unsigned short bmf;//文件的最大所占块数(2)

time_t bu;//修改时间(8)

short dssize;//当前空闲盘块好栈中的空闲盘块数目(2) unsigned int dss[DS_size];//(400)

unsigned short dsclock;//成组链接锁(2) }sup; #endif

//int mapio(unsigned short,unsigned short); //int mapip(unsigned short,unsigned short); void super(); int supread(); int supwrite(); int i_addr(); int i_rel(int); int fd;

#endif /* SUPER_H_ */ /*

* user.c *

* Created on: 2015?1′1???2??¥ * Author: sunb */

#include #include #include\#include\#include\#include\#include\#include\#include\

char * makedir(char *route) {

char *makname=(char *)malloc(140); if(*route=='/') {

strcpy(makname,route); }

else if(*route=='.'&&(*(route+1)=='/'||*(route+1)=='\\0')){ int k=0;

搜索更多关于: 模拟Unix文件系统实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

return pwrite(fd,&sup,sizeof(struct super),0); } int mapio(int i,int j)//é???”?iè????1 { unsigned short fi=0x8000; fi=fi>>j; fi=~fi; //int k=0; sup.i[i]=sup.i[i]&fi; return sup.i[i]; } int mapip(int i,int j)//è?·???iè????1 { unsigned short fi=0x8000; fi=fi>>j; //int k=0; sup.i[i]=sup.i[i]|fi; return sup.i[i]; } struct ij see()//??¥?

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com