模拟unix文件系统代码

2025-07-16

/* user.h */ pragma once #include

class user { public: char userName[10]; //用户名 int userID; //用户ID int priority; char password[10];

int group; user();

~user(); };

/* user.cpp */ #include\

user::user() { strcpy(userName,\); userID=-1; priority=1;

strcpy(password,\); }

user::~user() { }

/* memory.h */ pragma once

class memory { public:

char data[64]; memory();

~memory(); };

//用户权限//密码 //用户组

/* memory.cpp */ #include\

memory::memory() { }

memory::~memory() { }

/* iNode.h */ #pragma once #include

class iNode { };

/* iNode.cpp */ #include\#include

iNode::iNode() {

fileStyle=-1; //-普通文件0;d目录文件1;b块设备文件2;c字符设备文件3;|链接文件 fileMod=-1;

iNode(); ~iNode(); public:

int fileStyle; //文件类型0为目录文件,为正规文件

int fileMod; //文件权限0为可读,为可写,为可读写,3为可读可执行,为可写可int fileAddress[13]; //文件存储的物理块 int fileLength;

//文件长度

int fileAssociated; //关联文件数 time_t modifyTime; //文件修改时间 char fileOwner[10]; //文件拥有者 int fileGroup;

//文件所属组

for(int i=0; i<64; i++)

data[i]='\\0';

执行,为可读写可执行

for(int i=0; i<13; i++)

fileAddress[i]=-1; fileLength=0; fileAssociated=0; time (&modifyTime); strcpy(fileOwner,\); fileGroup=0;;

}

iNode::~iNode() { }

/* directory.h */ #pragma once

class directory { public: char fileName[256]; int directoryID;

int parentID; directory();

~directory(); };

/* directory.cpp */ #include\#include

directory::directory() { strcpy(fileName,\); directoryID=-1; parentID=-1;

}

directory::~directory() { }

//文件名 //文件i节点号 //文件父节点号

/*superBlock.h */ #pragma once

class superBlock { };

/*superBlock.cpp */ #include\

superBlock::superBlock() { }

superBlock::~superBlock() { }

/ fileOS.cpp : 定义控制台应用程序的入口点。 //

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

int i;

for( i=0; i<512; i++)

bitMap[i]=0; //0时空闲,时占用 freeINode[i]=0; //0时空闲,时占用 for( i=0; i<256; i++) freeBitNum=512;

superBlock(); ~superBlock(); public:

int bitMap[512]; //位示图,空闲,占用 int freeBitNum; //空闲盘块数 int freeINode[256]; //空闲节点

#include #include #include #include #include \#define NODE_NUM 256 #define DIR_NUM 256 #define MEM_NUM 512 #define LIST 128

#define MAX_USER_NUM 10 #define PWDSIZ 10 using namespace std;

active_inode* act_inode_list[LIST]; int sys_list[LIST] ;

int * user_list[MAX_USER_NUM] ; block * memory[MEM_NUM]; super_block superblock; i_node * inode[NODE_NUM]; dir * direct[DIR_NUM]; //内存块初始化; void init() {

} }

for (int i=0;i

user_list[i]=NULL; }

for (int i =0;i

for (int i =0;i

direct[i]=new dir; //初始化目录项; inode[i]=new i_node;//初始化i节点

for (int i=0;i

memory[i]= new block;// 初始化盘块


模拟unix文件系统代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:县人民政府机构改革动员会_主持词

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219