os课程设计任务书 联系客服

发布时间 : 星期二 文章os课程设计任务书更新完毕开始阅读

课 程 设 计 报 告

课程名称 计算机操作系统 课题名称 模拟实现单级目录的FAT文件系统

专 业 网络工程 班 级 1201 学 号 201203120134 姓 名 伍涛 指导教师 刘铁武 周铁山 谭小兰

2015年 3 月 24 日

湖南工程学院 课 程 设 计 任 务 书

1.设计内容:

课题一:银行家算法。

银行家算法是操作系统中避免死锁的最具代表性算法。该问题可描述为:系统的总的可用临界资源序列为R={r1,r2,...rn },系统中的m个进程互斥访问资源。进程i执行过程中的最大需求序列为N={n1,n2...nn},当前状态下,诸进程都保持了一定的资源。随着进程的推进,进程i提出了新的资源请求,如将资源分配给它,系统将步入一种新的状态,试测试新状态是否安全。

课题二:模拟实现单级目录的FAT文件系统

基本思路:用二进制文件空间模拟磁盘空间,用文件块操作模拟磁盘块操作。 基本设计要求:1、实现如下文件系统功能(过程或函数):

a、 打开文件系统 FILE *OPENSYS(char *filename); b、 关闭文件系统 int CLOSESYS(FILE *stream); c、 显示目录 void LISTDIR(void);

d、 建立文件 int FCREATE(char *filename); e、 删除文件 int FDELETE(char *filename); f、 打开文件 int FOPEN(char *filename); g、 关闭文件 int FCLOSE(int fileid);

h、 文件块读 int FREAD(void *ptr, int n, int fileid); i、 文件块写 int FWRITE(void *ptr, int n, int fileid); j、 判断文件结束 int FEOF(int fileid);

k、 获取文件指针 long FGETPOS(int fileid);

l、 设置文件指针 int FSETPOS(int fileid, long offset); m、 取得文件长度 long FGETLEN(char *filename); 2、提供文件系统创建程序 3、有功能检测模块

4、为简化程序设计,假定目录区域大小固定。

文件系统空间划分:

保留扇区 FAT表区 (或字节映像图区) 根目录区 文件分区

可以使用的C语言文件操纵函数:

FILE *fopen(const char *filename, const char *mode); int fclose(FILE *stream);

int fseek(FILE *stream, long offset, int whence); long ftell(FILE *stream);

size_t fread(void *ptr, size_t size, size_t n, FILE *stream);

size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);

课题三: 两级目录结构。

目录管理是文件系统的核心功能之一。该问题可描述为:创建一简易的文件系统,其 核心是体现目录管理的功能。即:创建一个两级目录结构,其一为系统主目录,另一为用户目录。主目录对系统的用户进行管理,用户目录对用户文件进行管理。用户申请创建的文件确实存在于存储器中,并能对用户的文件进行各种操作(功能同课题二)。

2.设计要求:

课题一的总体要求是:对终端的随机性输入序列(模拟进程申请资源),能报告新状态是否安全,并决定是否确实将资源分配给该进程。 其它要求为:

(1)系统中的资源种类数及进程数不少于5。

(2)有输入的界面,以提供来自终端的随机性输入序列(模拟进程申请资源)。 (3) 有输出界面,能报告系统的状态。

(4)程序能根据将步入的状态是否安全来处理这次分配是否实施。 课题二和三的总体要求是:并应能实现“按名存取”、有较快的检索速度等目标。 其它要求为:

(1)有交互界面,便于对用户对文件进行操作,对非法输入有错误报告。 (2)能根据用户提供的文件名创建文件。(可用内存模拟)如在外存实现评阅时酌情加分。 (3)能根据用户提供的文件名读取文件。将文件夹内容正确显式。 (4)能根据用户的要求删除相应的文件。

(5) 能根据用户提供的文件名和要求截断文件,即将文件的陈旧部分删除。 选作部分:

(1)如该文件系统中包含有系统文件时,应如何处理较为合理?因为如果仅包含在某一用户目录中,则其它用户不可见!如每个用户文件中都包含这些系统文件,则是对空间的极大的浪费。

(2)实现对文件的保护和共享。

二、进度安排

1、课题讲解

2、每位同学必选一个题(学号模3加1),可另加选一题。

3、如遇机房紧张等客观原因需调整时间的另行通知。

(注意:第4周四前必须提交课设报告,迟交或未交只能计零分。 时 间 星期二 星期四 星期五 上 午 课题讲解 上机调试 答辩 下 午 上机调试 上机调试 附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码)。