操作系统课程设计报告.docx
- 文档编号:4269175
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:11
- 大小:304.25KB
操作系统课程设计报告.docx
《操作系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计报告.docx(11页珍藏版)》请在冰点文库上搜索。
操作系统课程设计报告
课程设计
课程名称操作系统
题目名称多级文件系统-2
学生学院计算机学院
专业班级
学号
学生姓名
指导教师
年月日
学生姓名
专业班级
学号
题目
多级文件系统-2
指导教师
题目编号
主要内容
本课程设计要求设计一个模拟的多用户多级目录的文件系统。
通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
任务要求
1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。
2.文件物理结构可采用连续结构。
3.磁盘空闲空间的管理选择位示图。
4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
5.设计一个较实用的用户界面,方便用户使用。
要求提供以下相关文件操作:
(1)具有login(用户登录)
(2)系统初始化(建文件卷、提供登录模块)
(3)文件的创建:
create
(4)文件的打开:
open
(5)文件的读:
read
(6)文件的写:
write
(7)文件关闭:
close
(8)删除文件:
delete
(9)创建目录(建立子目录):
mkdir
(10)改变当前目录:
cd
(11)列出文件目录:
dir
(12)退出:
logout
6.系统必须可实际演示,选用程序设计语言:
C++、C等。
。
参考文献
[1]计算机操作系统,汤小丹等,西安电子科技大学出版社
[2]操作系统实验指导书,傅秀芬,广东工业大学(自编)
[3]计算机操作系统教程(第二版),张尧学、史美林,清华大学出版社
[4]现代操作系统,A.S.Tanenbaum著,陈向群等译机械工业出版社
审查意见
指导教师签字:
系主任签字:
年月日
一、课程设计
本课程设计要求设计一个模拟的多用户多级目录的文件系统。
通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
二、开发工具及环境
a)程序设计语言:
C++
b)计算机及操作系统:
PC机,Windows7
c)开发平台:
Code:
:
Blocks10.05
d)运行平台:
PC机,WindowsXP,Windows7
三、设计内容
1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。
2.文件物理结构可采用连续结构。
3.磁盘空闲空间的管理选择位示图。
4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
5.设计一个较实用的用户界面,方便用户使用。
要求提供以下相关文件操作:
1)具有login(用户登录)
2)系统初始化(建文件卷、提供登录模块)
3)文件的创建:
create
4)文件的打开:
open
5)文件的读:
read
6)文件的写:
write
7)文件关闭:
close
8)删除文件:
delete
9)创建目录(建立子目录):
mkdir
10)改变当前目录:
cd
11)列出文件目录:
dir
12)退出:
logout
四、结构图
函数说明:
voidshownode()//显示位示图
fcb*searchfile(char*s,fcb*filename)//搜索当前目录下是否存在此文件
fcb*searchfolder(char*s,fcb*foldername)//搜索当前目录下是否存在此文件夹
voiddnode(fcb*dd)//重置使用点
booldelfile(char*s,fcb*filename)//删除文件
booldelfolder(char*s,fcb*filename)//删除文件夹,单级
voiddelfolder2(fcb*filename)////递归删除文件夹
五、部分代码
structnode
{
booluse;//记录储存点是否被使用
charcontent;//储存的内容
}d[1000];
intp=0;//目前的使用点
structfcb
{
charname[20];//文件名||文件夹名
intstart;//文件起始位置
intlen;//文件长度
boolopen;//文件是否打开
boolread;//文件是否可读
boolwrite;//文件是否可写
fcb*front;//指向父文件夹
vector
vector
}head,*home,head0;
fcb*searchfile(char*s,fcb*filename)//搜索当前目录下是否存在此文件
{
vector
:
iteratork=filename->file.begin();
for(;k!
=filename->file.end();k++)
{
if(!
strcmp(s,(*k)->name))return*k;
}
returnNULL;
}
fcb*searchfolder(char*s,fcb*foldername)//搜索当前目录下是否存在此文件夹
{
vector
:
iteratork=foldername->folder.begin();
for(;k!
=foldername->folder.end();k++)
{
if(!
strcmp(s,(*k)->name))return*k;
}
returnNULL;
}
voiddelfolder2(fcb*filename)////递归删除文件夹
{
vector
:
iteratork=filename->folder.begin();
for(;k!
=filename->folder.end();)//当迭代器k指着的元素被删除,k会自动指向下一位,故此免了k++
{
delfolder2(*k);//调用,k指向的元素肯定被删除
}
delfolder(filename->name,filename->front);
}
六、运行截图
七、参考文献
《计算机操作系统》(第三版)西安电子科技大学出版社汤小东,梁红兵,哲凤屏等
《C++Primer》(第四版)人民邮电出版社StanleyB.Lippman
八、心得体会
在设计过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。
在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。
总的来说通过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西,对操作系统有了更深一层的了解,同时也提高了C语言的应用能力,由于时间紧,故还有很多的方面需要改进。
以后的学习还得更加努力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 报告