操作系统课程设计C语言.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附:源代码 #include stdio.h #include stdlib.h #include malloc.h #include string.h #include dos.h #include conio.h #define BLOCKSIZ 512 //磁盘块的大小 #define DATABLKNUM 512 //数据块的数目 #define BLKGRUPNUM 50 //数据块组包含多少数据块 #define P_N_BLOCKS 15 //inode节点中 指向数据块的指针个数 #define GROUPNUM DATABLKNUM/BLKGRUPNUM+1 //数据块组 组数 #define DINODESIZ 512 //磁盘i结点区的大小(空间32×512) #define DINODENUM 32 //磁盘i结点区的块数 #define SYSOPENFILE 40 #define DIRNUM 32 //一个目录下的最多目录和文件的总和数 #define DIRSIZ 14 //文件、目录名的长度(字节) #define UPWDSIZ 15 //秘密的长度 #define UNAMSIZ 15 //用户名的长度 #define PWDSIZ sizeof(struct pwd) //密码结构的长度 #define PWDNUM BLOCKSIZ/PWDSIZ //密码数据空间的大小(pwd为单位) #define NOFILE 20 //一个用户最多可以打开的文件数目 #define NHINO 128 #define USERNUM 10 //用户名的长度 #define DINODESTART 4*BLOCKSIZ //i结点区的开始地址-inodes table ,1引导 2超块 3block bitmap 4inode bitmap #define DATASTART (2+DINODENUM)*BLOCKSIZ //数据区的开始地址 #define DATASTARTNO 36 //数据区开始指针 /* di._mode */ #define DIMODE_EMPTY 00000/*可以用的空间*/ #define DIMODE_FILE 00001 #define DIMODE_DIR 00002 #define DIMODE_PASSWD 00004 #define DIMODE_SYSTEM 00040 /*系统文件*/ #define DIMODE_READ 00010 /* READ 和该数与操作后得到的是可以读该文件的用户组*/ #define DIMODE_WRITE 00020 /* WRITE */ #define DIMODE_EXICUTE 01000 /* EXICUTE */ #define DIMODE_ADMIN 00100 /*管理员权限*/ #define DIMODE_SHARE 00200 /*不需要权限*/ /*组*/ #define GRUP_0 0 //管理员组 #define GRUP_1 1 #define GRUP_2 2 #define GRUP_4 4 /************************ 文件系统 数据结构 *******************************/ /*———————————————————————— 磁盘i结点结构, ————————————————————————*/ struct inode{ // char di_name[DIRSIZ]; unsigned __int16 di_ino; /*磁盘i节点标识*/ unsigned __int16 di_number; /*关联文件数,当为0时表示删除文件*/ unsigned __int16 di_mode; /*存取权限*/ unsigned __int16 di_uid; /*磁盘i节点用户id*/ unsigned __int16 di_gid; /*磁盘i节点权限组id*/ //1管理员组 2用户组 unsigned __int32 di_size; /*文件大小*/ unsigned __int32 di_ctime; /* Creation time */ u

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档