操作系统的课程设计Linux二级文件资料系统设计

上传人:奇异 文档编号:234668580 上传时间:2022-01-04 格式:DOCX 页数:15 大小:233.01KB
返回 下载 相关 举报
操作系统的课程设计Linux二级文件资料系统设计_第1页
第1页 / 共15页
操作系统的课程设计Linux二级文件资料系统设计_第2页
第2页 / 共15页
操作系统的课程设计Linux二级文件资料系统设计_第3页
第3页 / 共15页
操作系统的课程设计Linux二级文件资料系统设计_第4页
第4页 / 共15页
操作系统的课程设计Linux二级文件资料系统设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《操作系统的课程设计Linux二级文件资料系统设计》由会员分享,可在线阅读,更多相关《操作系统的课程设计Linux二级文件资料系统设计(15页珍藏版)》请在金锄头文库上搜索。

1、实用标准文案美芹科技上挈操作系统课程设计报告专业:软件工程学号:姓名:马提交日期:2017/1/10【设计目的】1、通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现2、结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统3、通过对实际问题的分析、设计、编程实现,提高学生实际应用、编程的能力【设计内容】为Linux系统设计一个简单的二级文件系统。要求做到以下几点:1 .可以实现下列几条命令:login用户登录dir列目录create创建文件delete删除文件open打开文件close关闭文件read读文件write写文件cd进出目录2

2、.列目录时要列出文件名,物理地址,保护码和文件长度3 .源文件可以进行读写保护【实验环境】C+DevCpp【设计思路】本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。首先应确定文件系统的数据结构: 主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2并以编号作为物理地址,在目录中进行登记。结构体:typedef struct /*the structure of OSF

3、ILE*/ int fpaddr;/*file physical address*/int flength;/*file length*/int fmode; /*file mode:0-Read Only;1-Write Only;2-Read and Write; 3-Protect;*/char fnameMAXNAME; /*file name*/ OSFILE;/存放重要信息typedef struct /*the structure of OSUFD*/ char ufdnameMAXNAME; /*ufd name*/OSFILE ufdfileMAXCHILD; /*ufd o

4、wn file*/OSUFD;/用户下面的文件typedef struct /*the structure of OSUFDLOGIN*/char ufdnameMAXNAME; /*ufd name*/char ufdpword8; /*ufd password*/ OSUFD_LOGIN;typedef struct /*file open mode*/int ifopen; /*ifopen:0-close,1-open*/int openmode; /*0-read only,1-write only,2-read and write,3-initial*/ OSUFD_OPENMOD

5、E;精彩文档主要的函数说明:void LoginF(); /*LOGIN FileSystemvoid DirF(); /*Dir FileSystem void CdF(); /*Change Dir void CreateF(); /*Create File void DeleteF(); /*Delete File用户登录*/ 列目录*/改变目录*/void ModifyFM(); /*Modify FileMode创建文件*/ 删除文件*/修改*/打开文件*/关闭文件*/读文件*/写文件*/离开文件系统*/void OpenF(); /*Open File void CloseF();

6、 /*Close File void ReadF(); /*Read File void WriteF(); /*Write File void QuitF(); /*Quit FileSystem void help();其他重要函数:void clrscr() /清屏int ExistD(char *dirname) Whether DirName Exist,Exist-i,Not Exist-0*/ int ExistF(char *filename) /*Whether FileName Exist,Exist-i,Not Exist-0*/ int FindPANo() /*fin

7、d out physical address num*/void SetPANo(int RorW) /*Set physical address num,0-read,1-write*/去除左空白*/去除右空白*/void InputPW(char *password) /*input password,use * replace*/ char *ltrim(char *str) /*remove the heading blanks.相当于置换文件*/char *rtrim(char *str) /*remove the trailing blanks.int WriteF1() /*wr

8、ite file程序流程说明:整体流程:各部分功能流程:OpenNNDelete :删除文件,文件数减一结束Write :Close :【源程序清单】Openvoid OpenF() /*Open File*/printf(nnC:%s,strupr(dirname);int fcoun, i;char fnameMAXNAME, fmode25;int fmod;printf(nPlease input FileName:);gets(fname);ltrim(rtrim(fname);if(ExistF(fname)0)/printf(nError.wgetchar=1;/显示当前路径/定

9、义两个整形变量 定义两个字符串变量 文件模式接收打开文件的文件名/去除左右空白/判断文件是否存在不存在文件名%s不存在n, fname); else i=ExistD(username);for(int a=0; a ufdfilea.fname)=0) /fcoun=a;break;/存在获取用户物理信息/遍历用户文件找到文件ifopenifcoun.ifopen=1;printf(PleaseinputOpenMode(0-Read Only,3-Protect ):);/将文件状态置为打开状态1-Write Only, 2-Read and Write,/gets(fmode);fmod

10、=atoi(fmode);ifopenifcoun.openmode=fmod;OpenModeprintf(nOpen Successed);wgetchar=1;/打开文件模式获取模式将字符串转换为整型/将文件的模式置为Delete :void DeleteF() /*Delete File*/printf(nnC:%s,strupr(dirname);/显示路径printf(nPlease input FileName:);gets(fname);ltrim(rtrim(fname);i=ExistF(fname);if(i=0)k=ExistD(username);if(ifopenk

11、i.ifopen=1)删除printf(n Error.%swgetchar=1;/保护文件,不可删除 处于被保护状态!请先关闭哟! n,/定义三个字符串变量char fnameMAXNAME, str50, str150;int i, k, j;int fpaddrnol;/记录文件物理地址块号if(strcmp(strupr(ltrim(rtrim(dirname), )=0)/判断主目录是否为空printf(nError.请确认您要删除的是否在用户目录下!n);wgetchar=1;判断用户是否在用户if(strcmp(strupr(dirname), strupr(username)!=0) /目录下printf(nError.您只能删除修改自己用户目录下的文件哦!n);wgetchar=1; else / 接收删除的文件名/去除文件名的左右空白/用户文件位置/获取用户所在存储位置/文件状态处于打开状态,不许处于打开状态!请先关闭哟! n, fname); else fname);wgetchar=1; else fpaddrno1=ufdk-ufdfilei.fpaddr; /地址块号fpaddrnofpaddrno1=0;/for(j=i;jufdfilej=ufdk-ufdfilej+1; / strcpy(str , c:osfilefil

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号