)
计算机操作系统课程设计
班级:计091-1
!
姓名:
学号:
使用语言:C++
指导老师:
学院:
~
一、系统要求
1、实验目的
通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
2、实验内容
(
为linux系统设计一个简单的二级文件系统。
要求做到以下几点:
(1)可以实现下列几条命令(至少4条);
login 用户登陆
dir 列文件目录
create 创建文件
delete 删除文件
open 打开文件
~
close 关闭文件
read 读文件
write 写文件
(2)列目录时要列出文件名、物理地址、保护码和文件长度;
(3)源文件可以进行读写保护。
二、系统分析
1、设计思想
`
本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。
本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。
另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。
系统采用结构体来存储用户、文件目录、文件数据内容:
0 48*5 48*5+44*50 48*5+44*50+264*200
每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。
整个系统的编码构成主要分为:
!
定义了每个分区的结构体;
声明了对系统操作的各种方法;
声明了对文件操作的各种方法;
整个系统的主函数,操作入口;
包含了,实现了操作系统的各种方法;
包含了,实现了操作文件的各种方法;
2、主要数据结构
文件的内容:。
struct s_user
登录"<<endl<<" 2. 注册"<<endl<<" 3. 退出"<<endl;
cout<<"*********************"<<endl;
cin>>n_select;
(); 看文件内容"<<endl;
cout<<" 2.新建文件"<<endl;
cout<<" 3.删除文件"<<endl;
cout<<" 4.修改文件"<<endl;
cout<<" 5.是否锁定状态转换"<<endl;
cout<<" 0.注销,退出程序"<<endl;
cout<<"*******************************"<<endl;
cin>>m_point;
(); 过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。
可以说此课程设计的理论难度并不大,但是若要深入发掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。
因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。
另外感谢老师一学期以来的培养。