ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:62.36KB ,
资源ID:23625438      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23625438.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模拟实现文件系统操作系统课程设计范本模板.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

模拟实现文件系统操作系统课程设计范本模板.docx

1、模拟实现文件系统操作系统课程设计范本模板某某大学课程设计报告课程名称: 操作系统课程设计设计题目: 模拟实现文件系统 系 别: 计算机系 专 业: 计算机科学与技术 组 别: 学生姓名: 学 号: 起止日期: 指导教师: 第一章 需求分析1.1 课程设计题目 课程设计题目:模拟实现文件系统1.2 课程任务及要求要求:实现文件的建立、打开、删除、关闭、复制、读、写、查询等功能给出实现方案(包括数据结构和模块说明等)画出程序的基本结构框图和流程图分析说明每一部分程序的设计思路实现源代码按期提交完整的程序代码和可执行程序根据要求完成课程设计报告总结1。3课程设计思想: 模拟实现文件系统问题是一个经典

2、的关于文件的处理问题,包括:实现文件的建立、打开、删除、关闭、复制、读、写、查询等功能。设计思想如下:1在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2文件物理结构可采用显式链接或其他方法。3磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中.4文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1。2.5设计一个较实用的用户界面,方便用户使用。要

3、求提供以下相关文件操作:(1)具有login (用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建: create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete (9)列出文件目录:dir(10)退出:logout1.4软硬件运行环境及开发工具:a)程序设计语言:C+b)计算机及操作系统:PC机,WindowsXPc)开发平台:Microsoft Visual C+ 6.0d)运行平台:PC机,WindowsXP第二章 概要设计2.1流程图 模拟实现文件系统的主要流程图如下:2。2用到的原理1

4、本系统初始化了十个用户,每个用户初始化五个文件,最多可拥有十个文件,所以每个用户在此基础上可为自己再创建五个文件,也可以在删除文件后再创建。2。系统使用create,open,read,write,close,delete,dir和exit来创建文件,打开文件,读文件,写文件,关闭文件,删除文件和显示文件。3程序采用二级文件目录(即设置主目录MFD)和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。4为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作第三章 详细设计本次课程设计采用的是c+语言编写,部分主要程序代码如下:inclu

5、de ”stdio。h” #include #include string。h#define getpch(type) (type*)malloc(sizeof(type) #define NULL 0 define UserNumber 10define UserFNumber 10define UserOFNumber 5struct fname char fname1; int flag; fnameA26=a,0,b,0,c,0,d,0,e,0,f,0,g,0,h,0,i,0,j,0,k,0,l,0, m,0,n,0,o,0,p,0,q,0,r,0,s,0,t,0,u,0,v,0,w,

6、0,x,0,y,0,z,0;struct afd char opname10;/ 打开文件名 */ int flag; char opfprotect3;/* 打开保护码 / int rwpoint;/* 读写指针 */ AFDUserOFNumber;/ 用户打开的文件 */typedef struct char fname10;/ 用户文件名 / int flag;/* 文件存在标志 / int fprotect3;/* 文件保护码rwt / int flength; ufd,UFUserFNumber;/ 用户文件 */struct mdf char uname10;/ 用户名 */ U

7、F Udir;/ 用户文件目录 */ UFDUserNumber;/* 用户 /void intFSystem() int i,j,k,l; strcpy(UFD0。uname,”a); strcpy(UFD1.uname,b”); strcpy(UFD2.uname,c”); strcpy(UFD3。uname,”d); strcpy(UFD4。uname,e”); strcpy(UFD5.uname,”f); strcpy(UFD6。uname,g”); strcpy(UFD7。uname,”h); strcpy(UFD8.uname,”i); strcpy(UFD9.uname,j”);

8、 for(i=0;i10;i+) for(k=0;k5;k+) do j=rand()%26; while(fnameAj。flag); strcpy(UFDi。Udirk。fname,fnameAj。fname); fnameAj。flag=1; UFDi。Udirk。flength=rand()%2048+1; UFDi。Udirk。flag=1; UFDi。Udirk。fprotect0=rand()2; UFDi。Udirk.fprotect1=rand()%2; UFDi。Udirk.fprotect2=rand()2; for(j=0;j26;j+) fnameAj。flag=0;

9、 for(l=0;l5;l+) strcpy(AFDi.opname,”); AFDl.flag=0; AFDl。opfprotect0=0; AFDl。opfprotect1=0; AFDl.opfprotect2=0; AFDl。rwpoint=0; void Create(int i) int k; for(k=0;k=10) printf(一个用户不能拥有超过10个文件nn);return; printf(请输入你想创建的文件名:); scanf(%s,UFDi。Udirk.fname); printf(请输入文件长度:”); scanf(%d”,&UFDi.Udirk。flength

10、); printf(只读?(1 yes,0 no):”); scanf(”%d,UFDi。Udirk。fprotect0); printf(可写?(1 yes,0 no):); scanf(d,&UFDi.Udirk.fprotect1); printf(”可执行?(1 yes,0 no):”); scanf(”%d,&UFDi。Udirk.fprotect2); UFDi。Udirk。flag=1; return;void Delete(int i)char file10; int k; printf(请输入你想删除的文件名:”); scanf(%s”,file); for(k=0;k10;

11、k+) if(UFDi。Udirk.flag&!strcmp(UFDi.Udirk。fname,file) UFDi。Udirk.flag=0;break; else printf(出错n”); return;void main() int i,n=0; char m10; char login10; intFSystem(); printf( 欢迎使用n”); printf(”1.本系统模拟文件管理2。系统已初始化10个用户,n用户名分别是aj,每个用户已分配五个文件n); printf(”*本系统的命令包括如下:n); printf(创建文件(create)n); printf(”删除文件

12、(delete)n); printf(打开文件(open)n”); printf(关闭文件(close)n); printf(*读取文件(read)n); printf(*编写文件(write)n); printf(”*显示文件目录(printufd)n); printf(”*显示打开文件目录(dir)n); printf(”*退出(exit)n); lgin: printf(请输入用户名(aj):”); scanf(s,login); if(!strcmp(login,exit”)) return; for(i=0;i10;i+) if(!strcmp(UFDi。uname,login))

13、break; if(i=10) printf(”该用户名不存在!”); goto lgin; printUFD(i); for(;n!=1;) printf(”请输入命令:”); scanf(”s,m); if(strcmp(m,”create”)=0) Create(i); else if(strcmp(m,delete”)=0) Delete(i); else if(strcmp(m,open”)=0) Open(i); else if(strcmp(m,”close”)=0) Close; else if(strcmp(m,”read)=0) Read(); else if(strcmp

14、(m,write”)=0) Write(); else if(strcmp(m,”printufd”)=0) printUFD(i); else if(strcmp(m,dir”)=0) printAFD(); else if(strcmp(m,”exit”)=0) n=1; else printf(出错n); printf(”Saving.。n”); printUFD(i); getch(); return; 第四章 调试与操作说明4。1用户登陆界面 4。2创建文件界面 4。3删除文件界面 4.4退出界面 第五章 课程设计总结与体会在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、

15、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。总的来说通过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西,对操作系统有了更深一层的了解,同时也提高了编程语言的应用能力,由于时间紧,故还有很多的方面需要改进。以后的学习还得更加努力。课程设计的目的就是使自己对学过的知识的理解得到加深,同时巩固对知识的掌握,最终要把知识转化为实际的应用。在本次课程设计的过程中,我充分的感受到了学习一种新的知识以及把这种新的知识消化为己之所有,特

16、别是要转化为实际应用根本是两个不同层次的概念,这也启迪了我今后无论学习什么,都应该在知其然的基础上深入研究,要知其所以然,如果要更进一步就要积极的把知识转化为应用。第六章 致谢在这次课程设计中,我得到了同学的热忱帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题.同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学第七章 参考文献1 汤子瀛 计算机操作系统(修订版)西安电子科技大学出版社 20012 张尧学 史美林计算机操作系统教程实验指导 清华大学出版社 20003 费翔林,骆斌。 操作系统教程(第4版)M. 北京: 高等教育出版社, 2009.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1