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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

操作系统课程设计方案Linux二级文件系统设计方案Word文档下载推荐.docx

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

2、t /*the structure of OSFILE*/ 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*/

3、 OSFILE ufdfileMAXCHILD; /*ufd own file*/OSUFD; /用户下面的文件 typedef struct /*the structure of OSUFDLOGIN*/ 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_OPEN

4、MODE;主要的函数说明:void LoginF(); /*LOGIN FileSystem用户登录*/void 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(); /*Close File关闭文件*/void ReadF(

5、); /*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() /*find out phy

6、sical 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() /*write file相当于置换文件*/程

7、序流程说明:整体流程:结束各部分功能流程:Open: N N YDelete:YNY Write: Y N1Close:【源程序清单】void OpenF() /*Open File*/ printf(nnC:%s,strupr(dirname); /显示当前路径 int fcoun, i; /定义两个整形变量 char fnameMAXNAME, fmode25; /定义两个字符串变量 int fmod; /文件模式nPlease input FileName:); gets(fname); /接收打开文件的文件名 ltrim(rtrim(fname); /去除左右空白 if(ExistF(

8、fname)0) /判断文件是否存在 /不存在nError.文件名 %s不存在n, fname); wgetchar=1; else /存在 i=ExistD(username); /获取用户物理信息 for(int a=0; a ufdfilea.fname)=0) /找到文件 fcoun=a; break; ifopenifcoun.ifopen=1; /将文件状态置为打开状态Please input OpenMode(0-Read Only, 1-Write Only, 2-Read and Write, 3-Protect): /打开文件模式 gets(fmode); /获取模式 fm

9、od=atoi(fmode); /将字符串转换为整型 ifopenifcoun.openmode=fmod; /将文件的模式置为OpenModenOpen Successedvoid DeleteF() /*Delete File*/ /显示路径 char fnameMAXNAME, str50, str150; /定义三个字符串变量 int i, k, j; int fpaddrno1; /记录文件物理地址块号 if(strcmp(strupr(ltrim(rtrim(dirname), )=0) /判断主目录是否为空 nError.请确认您要删除的是否在用户目录下!n if(strcmp(

10、strupr(dirname), strupr(username)!=0) /判断用户是否在用户目录下 nError.您只能删除修改自己用户目录下的文件哦! else /接收删除的文件名 /去除文件名的左右空白 i=ExistF(fname); /用户文件位置 if(i=0) k=ExistD(username); /获取用户所在存储位置 if(ifopenki.ifopen=1) /文件状态处于打开状态,不许删除n Error. 处于打开状态!请先关闭哟! if(ufdk-ufdfilei.fmode=3) /保护文件,不可删除nError.处于被保护状态! fpaddrno1=ufdk-ufdfilei.fpaddr; /获取文件的物理地址块号 fpaddrnofpaddrno1=0; /回收物理地址块号 for(j=i; jufdfilej=ufdk-ufdfilej+1; /将j+1位置为j strcpy(str , c:osfilefile itoa(fpaddrno1, str1, 10); /将整数转化为字符串 strcat(str, str1); strcat(str, .txt /连接 remove(str); /删除物理文件 fcountk-; /文件个数减一nis deleted successfully.n wgetchar=

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

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