文档详情

操作系统课程设计报告.pdf

发布:2024-03-06约6.11千字共18页下载文档
文本预览下载声明

操作系统课程设计报告

概述:

本课程设计旨在使学生熟悉文件管理系统的设计方法,加

深对所学各种文件操作的了解及其操作方法的特点。通过模拟

文件系统的实现,深入理解操作系统中文件系统的理论知识,

加深对教材中的重要算法的理解。同时通过编程实现这些算法,

更好地掌握操作系统的原理及实现方法,提高综合运用各专业

课知识的能力。

主要任务:

本课程设计的主要任务是设计和实现一个简单的文件系统,

包括建立文件存储介质的管理机制、建立目录(采用一级目录

结构)、文件系统功能(显示目录、创建、删除、打开、关闭、

读、写)和文件操作接口(显示目录、创建、删除、打开、关

闭、读、写)。

系统设计:

本系统模拟一个文件管理系统,要完成对文件的基本操作,

包括文件、文件夹的打开、新建、删除和读取写入文件,创建

更改目录,列出目录内容等信息。系统建立了文件目录树,存

储文件系统中的所有文件。对于用户名下的文件,用文件目录

树的分支来存储。采用命令行操作界面很直观,也方便用户进

行操作,用户只要按照操作界面所显示的命令来操作即可。

整体设计框架:

系统初始化界面由创建用户存储空间、管理文件、退出系

统三个模块组成。用户创建由创建用户存储空间、进入目录、

删除用户存储空间、显示所有用户存储空间等模块组成。然后

各个模块再由一些小模块组成。其中创建文件、打开关闭文件、

读写文件等文件操作模块包括在进入目录模块里面。

系统实现:

以下是本课程设计的主要内容的实现程序代码:

c

include

include

include

typedefstructfile{

charname[10];

structfile*next;

File;

typedefstructcontent{

charname[10];

File*file;

intf_num;

structcontent*next;

Content;

typedefstructuser{

charname[10];

charpsw[10];

Content*con;

structuser*next;

User;

charcur_user[20];

XXX;

intuser_num=0;

添加文件:

在该函数中,我们首先需要获取文件名,然后检查是否已

经存在该文件。如果存在,则输出错误信息;否则,创建一个

新的文件并将其添加到文件列表中。

voidadd_file(Content*con){

charf_name[10];

intexist=0;

File*file=con-file-next;

请输入文件名

strcat(f_name,tail);

while(file!=NULL){

if(strcmp(f_name,file-name)==0){

exist=1;

break;

file=file-next;

if(exist==1){

文件已存在

return;

FILE*q;

fclose(q);

while(file-next!=NULL)

file=file-next;

File*new_f=(File*)malloc(sizeof(File));

strcpy(new_f-name,f_name);

new_f-next=NULL;

file-next=new_f;

con-f_num++;

添加文件%s成功

读取文件:

在该函数中,我们需要获取文件名并检查是否存在该文件。

如果不存在,则输出错误信息;否则,打开该文件并读取其内

容。

voidread_file(Content*con){

charname[10];

intfind=0;

File*file=con-file-next;

请输入需要读取的文件名

strcat(name,tail);

while(file!=NULL){

if(strcmp(nam

显示全部
相似文档