- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《操作系统-文件系统-课程设计报告--后附源代码_-_副本》.doc
计算机操作系统
课程设计报告
设计项目名称: 文件系统设计
专 业: 网络工程
班 级: 201001
学 号: 201026340117;201026340121
姓 名: 张世波 赵流男
指 导 教 师: 张 瑞 红
目录
1 课程设计简介 1
1.1 课程设计的目的 1
1.2 课程设计内容 1
2 数据结构的设计 2
2.1 预定义 2
2.2 结构体 2
2.3 全局变量和函数 2
3 功能模块(或算法)描述 3
3.1 模块划分 4
3.2 模块流程图 6
4 程序运行结果 4
5心得体会 5
参考文献 6
附源代码 7
1 课程设计简介
1.1 课程设计的目的
课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。
1.2 课程设计内容
课程设计内容设计一个简单的多用户文件系统。即
①在系统中用一个文件来模拟一个磁盘;
②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。
④能实际演示这个文件系统。基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
1)设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。
2)程序采用二级文件目录(即设置主目录MFD)和用户文件目录(UFD)。另外,为打开文件设置了运行文件目录(AFD)。
3)为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。
4)因系统小,文件目录的检索使用了简单的线性搜索。
5)文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。
6)程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD),打开文件目录(AFD)即运行文件目录,如图5.1所示。
2 数据结构的设计
2.1 预定义
#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 DINODESTART 4*BLOCKSIZ
//i结点区的开始地址-inodes table ,1引导 2超块 3block bitmap 4inode bitmap
#define DATASTART (2+DINODENUM)*BLOCKSIZ //数据区的开始地址
#define DATASTARTNO 36 //数据区开始指针
#define DIMODE_EMPTY 00000/*可以用的空间*/
#define DIMODE_FILE 00001
#define DIMODE_DIR 00002
#define DIMODE_PASSWD 00004
#define GRUP_0
您可能关注的文档
最近下载
- 老友记台词剧本第一季第1集中英双语左右对照.pdf VIP
- 2025年5月18日河南省事业单位联考《公共基础知识》试题及答案解析.pdf
- 2018年最新发布的ISO50001-2018能源管理体系标准条款中英文版..pdf VIP
- 中欧班列“齐鲁号”跨境物流供应链金融模式研究.pdf VIP
- 运动心理学PPT完整全套教学课件.pptx VIP
- 七年级历史数字故事——隋朝大运河课件.ppt VIP
- 旅游职业礼仪-全套PPT课件.pptx
- 2025人教版数学三年级上册全册教学课件.ppt
- 居民健康档案知识培训课件.pptx VIP
- 2025年秋季人教版7年级上册数学全册教学课件(新教材).pptx
文档评论(0)