操作系统课程设计报告

上传人:Bod****ee 文档编号:47549784 上传时间:2018-07-02 格式:DOC 页数:32 大小:591.53KB
返回 下载 相关 举报
操作系统课程设计报告_第1页
第1页 / 共32页
操作系统课程设计报告_第2页
第2页 / 共32页
操作系统课程设计报告_第3页
第3页 / 共32页
操作系统课程设计报告_第4页
第4页 / 共32页
操作系统课程设计报告_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《操作系统课程设计报告》由会员分享,可在线阅读,更多相关《操作系统课程设计报告(32页珍藏版)》请在金锄头文库上搜索。

1、课课 程程 设设 计计课程名称_ 操作系统操作系统 _ 题目名称 多用户多级目录文件系统的实现 2011 年 6 月 29 日广东工业大学课程设计任务书题目名称多用户多级目录文件系统的实现多用户多级目录文件系统的实现学生学院计算机学院计算机学院专业班级计算机科学与技术 4 班姓 名学 号3108006596一、课程设计的内容本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的 文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对 文件系统内部功能和实现过程的理解。 二、课程设计的要求与数据1 在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户 多目录的

2、文件系统。 2 文件物理结构可采用显式链接或其他方法。 3 磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文 件存储空间,并采用显式链接分配方式,则可以将位示图合并到 FAT 中。 4 文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地 址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织 方式可以不使用索引结点的方式,但使用索引结点,则难度系数为 1.2。 5 设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有 login (用户登录) (2)系统初始化(建文件卷、提供登录模块) (3)文件的创建: create (4)文

3、件的打开:open (5)文件的读:read (6)文件的写:write (7)文件关闭:close (8)删除文件:delete (9)创建目录(建立子目录):mkdir (10)改变当前目录:cd (11)列出文件目录:dir (12)退出:logout6 系统必须可实际演示,选用程序设计语言:C、C 等。三、课程设计应完成的工作1充分理解设计的任务,完成设计的基本要求。然后根据自己的基础和能 力选择不同难度的算法和实现方式,以取得更高的分数。 2. 独立独立完成系统的分析、设计、编码、测试工作。 3完成设计报告的撰写。 4以光盘(以班为单位刻录)方式提交已调试通过的完整的相关源程序和能够

4、运行的执行文件;提交“课程设计报告”的书面和电子两种版本。四、课程设计进程安排五、应收集的资料及主要参考文献1 计算机操作系统, 汤小丹等 ,西安电子科技大学出版社2 操作系统实验指导书,傅秀芬,广东工业大学(自编)3 计算机操作系统教程 ( 第二版 ), 张尧学、 史美林,清华大学出版社4 现代操作系统,A.S.Tanenbaum 著,陈向群等译机械工业出版社发出任务书日期:发出任务书日期:20112011 年年 6 6 月月 2020 日日 指导教师签名:指导教师签名: 计划完成日期:计划完成日期: 2011 年年 6 月月 29 日日 基层教学单位责任人签章:基层教学单位责任人签章:目录

5、目录1 1 实验题目实验题目.1 2 2 实验内容与要求实验内容与要求.1 3 3 设计分析设计分析.13.1 实现原理.13.2 实现原理图.33.3 程序执行过程.43.4 实现用到的数据结构.53.5 实现和运行环境.54 4 程序代码程序代码.55 5 执行结构和结果分析执行结构和结果分析.226 6 心得体会心得体会.26文件系统文件系统一、实验题目一、实验题目 编写并调试一个树型目录结构的文件系统,模拟文件管理工作流程。二、实验内容与要求二、实验内容与要求1设计多用户文件系统,采用多级文件目录。 2至少要有十个以上的实用命令,应设置文件保护措施。 3设计一个较实用的用户界面,方便用

6、户使用,界面要为用户提供足够的选择信息, 不需用户打入冗长的命令。三、设计分析三、设计分析1 1、实现原理、实现原理 本程序是一个文件系统模拟程序,模拟文件管理的工作过程。 本程序设计一个最多有 10 个用户的文件系统,实现文件系统的模拟管理过程,可以 进行创建用户、删除用户、创建文件、删除文件、创建文件夹、删除文件夹、读文件、写 文件、执行文件、打开文件、关闭文件、显示目录等操作。 程序设置了主目录 MFD、用户文件目录 UFD 和用户文件夹目录 UDD,为打开文件设 置了运行目录 AFD。 文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为 0,则表示 不 允许读写、执行。

7、用户名文件目录指针文件夹目录指针用户名文件目录指针文件夹目录指针文件名保护码文件长度文件内容文件夹名下一文件夹指针下一文件指针子文件夹指针下一文件指针打开文件名保护码文件内容读写指针MFDUFDUDDAFD。 。2 2、实现原理图、实现原理图用户名文件目录指针文件夹目录指针用户名文件目录指针文件夹目录指针MFD文件名保护码文件长度文件内容下一文件指针UFD。 。文件名保护码文件长度文件内容下一文件指针UFD文件夹名下一文件夹指针下一文件指针子文件夹指针UDD文件夹名下一文件夹指针下一文件指针子文件夹指针UDD文件夹名下一文件夹指针下一文件指针子文件夹指针UDD文件名保护码文件长度文件内容下一文

8、件指针UFD3 3、程序执行过程、程序执行过程开始初始化用户界面,等待用户选择操作choice创建 用户删除 用户创建 文件删除 文件结束5214创建 文件 夹删除 文件 夹读文 件写文 件执行 文件打开 文件关闭 文件显示 目录退出36789101112134 4、实现用到的数据结构、实现用到的数据结构 结构体 UFD:typedef struct ufd char filename10;/*文件名*/ char filecon100;/*文件内容*/ char procode8;/*属性*/ int length;/*文件长度*/ struct ufd *nextfile;/*指向下一个文

9、件*/ UFD; 结构体 UDD typedef struct udd char foldername10;/*文件夹名*/ struct ufd *clink;/*指向该文件夹的第一个文件*/ struct udd *cnext;/*指向该文件夹的第一个文件夹*/ struct udd *link;/*指向同级文件夹*/UDD; 结构体 MFD typedef struct mfd char username10;/*用户名*/ struct ufd *link;/*指向该用户的第一个文件*/ struct udd *clink;/*指向该用户的第一个文件夹*/ MFD; 结构体 PRO t

10、ypedef struct protected_flag char code4; PRO; 结构体 AFD typedef struct afd/*运行文件目录*/ char filename10;/*打开文件名*/ char filecon100; char procode4; int rwpointer;/*读写指针*/ AFD; 5 5、实现和运行环境、实现和运行环境 microsoft visual c+6.0四、程序代码四、程序代码#include #include #include #include #include int choice; /*操作类型*/ int ex,num;

11、typedef struct ufd char filename10;/*文件名*/ char filecon100;/*文件内容*/ char procode8;/*属性*/ int length;/*文件长度*/ struct ufd *nextfile;/*指向下一个文件*/ UFD;typedef struct udd char foldername10;/*文件夹名*/ struct ufd *clink;/*指向该文件夹的第一个文件*/ struct udd *cnext;/*指向该文件夹的第一个文件夹*/ struct udd *link;/*指向同级文件夹*/UDD;typed

12、ef struct mfd char username10;/*用户名*/ struct ufd *link;/*指向该用户的第一个文件*/ struct udd *clink;/*指向该用户的第一个文件夹*/ MFD;typedef struct protected_flag char code4; PRO;typedef struct afd/*运行文件目录*/ char filename10;/*打开文件名*/ char filecon100; char procode4; int rwpointer;/*读写指针*/ AFD;PRO flag3= “100“,/*只读*/ “110“,

13、/*读写*/ “001“/*可执行*/ ;UFD *rw_pointer;/*读写指针*/ AFD *afd=NULL; MFD filesystem10;/*-显示目录-*/void displayallfile() int i; UFD *p; UDD *q; system(“cls“);/*清屏*/ printf(“t* * * * * * * * * * * * * * * *n“); printf(“tt 显示目录n“);printf(“t* * * * * * * * * * * * * * * *n“); for(i=0;ifilename); printf(“文件属性: %st|“,p-procode); printf(“文件长度: %dn“,p-length); p=p-nextfile; while(q) printf(“t 文件夹名: %sn“,q-foldername); q=q-link; /*-建立用户-*/ void createuser() int i; char username10; system(“cls“);/*清屏*/ printf(“t* * * * * * * * * * * * * * * *n“); printf(“tt 建立用户n“);prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

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