操作系统课程设计报告_第1页
操作系统课程设计报告_第2页
操作系统课程设计报告_第3页
操作系统课程设计报告_第4页
操作系统课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 课程名称 操作系统 题目名称 多级文件系统-2 学生学院 计算机学院 专业班级 学 号 学生姓名 指导教师 年 月 日学生姓名专业班级学号题 目多级文件系统-2指导教师题目编号主要内容本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。任务要求1. 在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2. 文件物理结构可采用连续结构。3. 磁盘空闲空间的管理选择位示图。4. 文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理

2、地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。5. 设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有login (用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建: create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete (9)创建目录(建立子目录):mkdir(10)改变当前目录:cd(11)列出文件目录:dir(12)退出:logout6. 系统必须可实际演示,选用程序设计语言:C、C等。参考文献1 计算机操作系统, 汤小丹等 ,西安电子科技

3、大学出版社2 操作系统实验指导书,傅秀芬,广东工业大学(自编)3 计算机操作系统教程 ( 第二版 ), 张尧学、 史美林,清华大学出版社4 现代操作系统,A.S.Tanenbaum 著,陈向群等译机械工业出版社审查意见指导教师签字:系主任签字: 年 月 日 目录一、课程设计6二、开发工具及环境6三、设计内容6四、结构图8五、部分代码9六、运行截图11七、参考文献15八、心得体会15一、课程设计本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。二、开发工具及环境a)程序设计语言:C

4、+b)计算机及操作系统:PC机,Windows 7c)开发平台:Code:Blocks 10.05d)运行平台:PC机,WindowsXP, Windows 7三、设计内容1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2.文件物理结构可采用连续结构。3.磁盘空闲空间的管理选择位示图。4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:1)具有login (用户登录)2)系统初始化(建文件卷、提供登录模块)3)文件

5、的创建: create4)文件的打开:open5)文件的读:read6)文件的写:write7)文件关闭:close8)删除文件:delete 9)创建目录(建立子目录):mkdir10)改变当前目录:cd11)列出文件目录:dir12)退出:logout四、结构图函数说明:void shownode() /显示位示图fcb * searchfile(char *s, fcb* filename) /搜索当前目录下是否存在此文件fcb * searchfolder(char *s, fcb* foldername) /搜索当前目录下是否存在此文件夹void dnode(fcb* dd) /重置

6、使用点bool delfile(char *s, fcb* filename) /删除文件bool delfolder(char *s, fcb* filename) /删除文件夹,单级void delfolder2(fcb* filename) /递归删除文件夹五、部分代码struct node bool use; /记录储存点是否被使用 char content; /储存的内容d1000;int p=0; /目前的使用点struct fcb char name20; /文件名 | 文件夹名 int start; /文件起始位置 int len; /文件长度 bool open; /文件是否

7、打开 bool read; /文件是否可读 bool write; /文件是否可写 fcb* front; /指向父文件夹 vector <fcb*> file; /容器,存在在此文件夹下的文件的指针 vector <fcb*> folder; /容器,存在在此文件夹下的文件夹的指针head,*home,head0;fcb * searchfile(char *s, fcb* filename) /搜索当前目录下是否存在此文件 vector <fcb*>:iterator k = filename->file.begin(); for (;k!=fil

8、ename->file.end();k+) if ( !strcmp(s,(*k)->name) ) return *k; return NULL;fcb * searchfolder(char *s, fcb* foldername) /搜索当前目录下是否存在此文件夹 vector <fcb*>:iterator k = foldername->folder.begin(); for (;k!=foldername->folder.end();k+) if ( !strcmp(s,(*k)->name) ) return *k; return NUL

9、L;void delfolder2(fcb* filename) /递归删除文件夹 vector <fcb*>:iterator k = filename->folder.begin(); for (;k!=filename->folder.end();) /当迭代器k指着的元素被删除,k会自动指向下一位,故此免了k+ delfolder2(*k); /调用,k指向的元素肯定被删除 delfolder(filename->name, filename->front);六、运行截图七、参考文献计算机操作系统(第三版)西安电子科技大学出版社 汤小东,梁红兵,哲凤屏等 C+ Primer(第四版)人民邮电出版社 Stanley B.Lippman八、心得体会在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论