版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、某某大学课程设计报告课程名称:操作系统课程设计设计题目:模拟实现文件系统系别:计算机系专业:计算机科学与技术组 别:学生姓名:学号:起止日期:指导教师:目录0第一章 需求分析11.1 课程设计题目11.2 课程任务及要求11.3 课程设计思想:11.4 软硬件运行环境及开发工具: 2第二章概要设计32.1 流程图32.2 用到的原理3第三章详细设计4第四章 调试与操作说明 94.1 用户登陆界面94.2 创建文件界面94.3 删除文件界面104.4 退出界面10第五章课程设计总结与体会10第六章致谢11第七章参考文献11第一章 需求分析1.1 课程设计题目课程设计题目:模拟实现文件系统1.2
2、课程任务及要求要求:实现文件的建立、打开、删除、关闭、复制、读、写、查询等功能给出实现方案(包括数据结构和模块说明等)画出程序的基本结构框图和流程图分析说明每一部分程序的设计思路实现源代码按期提交完整的程序代码和可执行程序根据要求完成课程设计报告总结1.3 课程设计思想:模拟实现文件系统问题是一个经典的关于文件的处理问题,包括:实现文件 的建立、打开、删除、关闭、复制、读、写、查询等功能。设计思想如下:1 .在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多 目录的文件系统。2 .文件物理结构可采用显式链接或其他方法。3 .磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示
3、图来管理文件 存储空间,并采用显式链接分配方式,则可以将位示图合并到fat中。4 .文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式 可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。5 .设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有login (用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建:create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete(9)列出
4、文件目录:dir(10)退出:logout1.4软硬件运行环境及开发工具:a)程序设计语言:c+b)计算机及操作系统:pc机,windowsxpc )开发平台:microsoft visual c+ 6.0d )运行平台:pc机,windowsxp11第二章概要设计2.1流程图模拟实现文件系统的主要流程图如下:2.2用到的原理1 .本系统初始化了十个用户,每个用户初始化五个文件,最多可拥有十个 文件,所以每个用户在此基础上可为自己再创建五个文件,也可以在删除文件后再创建。2 .系统使用 create , open, read, write , close , delete , dir 和 ex
5、it 来 创建文件,打开文件,读文件,写文件,关闭文件,删除文件和显示文件。3 .程序采用二级文件目录(即设置主目录mfd)和用户文件目录(ued 另外,为打开文件设置了运行文件目录(afd。4 .为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读 写指针,并不进行实际的读写操作第三章详细设计本次课程设计采用的是c+语言编写,部分主要程序代码如下:#include stdio.h#include #include #include #define getpch(type) (type*)malloc(sizeof(type)# define null 0# define usern
6、umber 10# define userfnumber 10# define userofnumber 5struct fnamechar 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,t,0,m,0,n,0,o,0,p,0,q,0,r,0,s,0,t,0,u,0,v,0,w,0,x,0,y,0,z,0;struct afd char opname10;/* 打开文件名 */int flag;char opfprotect3;/* 打开保护码 */int rwpoint;/* 读写指针 */ afdu
7、serofnumber;/* 用户打开的文件 */typedef struct char fname10;/* 用户文件名 */int flag;/*文件存在标志*/int fprotect3;/* 文件保护码 rwt */int flength; ufd,ufuserfnumber;/* 用户文件 */struct mdf char uname10;/* 用户名 */uf udir;/*用户文件目录 */ ufdusernumber;/* 用户 */void intfsystem()int i,j,k,l;strcpy(ufd0.uname,a);strcpy(ufd1.uname,b);s
8、trcpy(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);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.fl
9、ength=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;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
10、 k;for(k=0;k=10) printf( 一个用户不能拥有超过10个文件nn);return;printf(请输入你想创建的文件名:);scanf(%s,ufdi.udirk.fname);printf(请输入文件长度:); scanf(%d”,&ufdi.udirk.flength); 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”
11、,&ufdi.udirk.fprotect2);ufdi.udirk.flag=1;return;void delete(int i)char file10; int k;printf(请输入你想删除的文件名:);scanf(%s,file);for(k=0;k10;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(
12、欢迎使用 n);printf(1.本系统模拟文件管理2.系统已初始化10个用户,n用 户名分别是aj,每个用户已分配五个文件n);printf(*本系统的命令包括如下:n);printf(* 创建文件(create)n);printf(* 删除文件(delete)n);printf(* 打开文件(open)n);printf(* 关闭文件(close)n);printf(* 读取文件(read)n);printf(* 编写文件(write)n);printf(* 显示文件目录(printufd)n);printf(*显示打开文件目录(dir)n);printf(* 退出(exit)n);lgi
13、n: printf(请输入用户名(aj) :);scanf(%s,login);if(!strcmp(login,exit) return;for(i=0;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) clos
14、e;else if(strcmp(m,read)=0) read();else if(strcmp(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用户登陆界面fl迎薪的京4mmmml开xi户 欢蓼尊文文文及文文打e用 系名系建辱闭取写示一
15、番人 本户本创删量读编显显退输件。包atetq 用文/令reelpe2.单理个如士星括录te。目ri茄件统已初始化10个用户, 已分配五个文件名 .件文件长度111s66b0001523b5011644b10 r1084b402b4.2创建文件界面二建度 :c创长 令想件 黑文 人入入北1令委f 1 1?命目 ?0 n可执行10100111101文件长度1866b1523b1644b1084b4021b226b4.3删除文件界面八人入件名令相专委u俞目名 二件文件长度 1239basd1 e q i1111i 0q 11522b948b269b45b4.4退出界面mauing*.一主文律目户名
16、可谈可写可执行1x1 s 0101110 10 91文件长度 1239b 1&22b 948b 269b 站b第五章课程设计总结与体会在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中, 使我更好的理解了操作系统中 文件系统的理论知识,同时在编程时用到了模块化的设计思想, 这种编程方法可 以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。 总的来说通 过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西, 对操作 系统有了更深一层的了解,同时也提高了编程语言的应用能力,由于时间紧,故 还有很多的方面需要改进。以后的学习还得更加努力。课程设计的目的就是使自己对学过的知识的理解得到加深 ,同时巩固对知识 的掌握,最终要把知识转化为实际的应用。在本次课程设计的过程中,我充分的 感受到了学习一种新的知识以及把这种新的知识消化为己之所有 ,特别是要转化 为实际应用根本是两个不同层次的概念,这也启迪了我今后无论学习什么,都应 该在知其然的基础上深入研究,要知其所以然,如果要更进一步就要积极的把知 识转化为应用。第六章致谢在这次课程设计中,我得到了同学的热忱帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因, 更重要的是老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中移动金融科技有限公司2026春季园招聘备考题库含答案详解【新】
- 2026黑龙江大庆市人民医院招聘助理护士岗位外聘人员备考题库附答案详解【夺分金卷】
- 2026湖南邵阳市绥宁县事业单位人才引进9人备考题库重点附答案详解
- 2026苏州创元集团财务有限公司招聘2人备考题库附参考答案详解(研优卷)
- 2026四川宜宾珙县总工会第一次招聘社会化工会工作者1人备考题库及参考答案详解(突破训练)
- 2026贵州红星电子材料有限公司招聘6人备考题库及完整答案详解(网校专用)
- 2026国有股份制商业银行招聘备考题库(基础题)附答案详解
- 长城电源2026届春季校园招聘备考题库附答案详解【a卷】
- 2026北京理工大学事业编制相关岗位招聘备考题库附答案详解【黄金题型】
- 2025年生态度假旅游度假区开发建设可行性分析与技术革新路径报告
- 2025-2030中国成像流式细胞仪市场行情走势与投资前景研究研究报告
- 2026年安徽卫生健康职业学院单招综合素质考试题库附答案详解(a卷)
- 2026年安徽工贸职业技术学院单招职业技能考试题库及答案详解(真题汇编)
- 新春开学第一课:小学法治教育课件
- 2026年及未来5年中国黄花菜行业市场发展现状及投资策略咨询报告
- 2026龙江森工集团权属林业局限公司春季公开招聘635人易考易错模拟试题(共500题)试卷后附参考答案
- 医疗注射治疗风险告知书范本
- 生长监测生物标志物研究进展
- 2026年高考时事政治时事政治考试题库完整参考答案
- 大专移动通信技术
- 锅炉房拆除安全培训记录课件
评论
0/150
提交评论