计算机操作系统课程设计

上传人:ni****g 文档编号:507746571 上传时间:2024-02-16 格式:DOC 页数:33 大小:629KB
返回 下载 相关 举报
计算机操作系统课程设计_第1页
第1页 / 共33页
计算机操作系统课程设计_第2页
第2页 / 共33页
计算机操作系统课程设计_第3页
第3页 / 共33页
计算机操作系统课程设计_第4页
第4页 / 共33页
计算机操作系统课程设计_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

1、.计算机操作系统课程设计班级:计 091-1:学号:使用语言: C+指导老师:学院:.一、系统要求1、实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。2、实验内容为 linux系统设计一个简单的二级文件系统。要求做到以下几点:(1)可以实现下列几条命令(至少 4 条);login用户登陆dir列文件目录create创建文件delete删除文件open打开文件close关闭文件read读文件write写文件(2)列目录时要列出文件名、物理地址、保护码和文件长度;(3)源文件可以进行读写保护。.二、系统分析1、设计思想本文件为二级文件系统, 即要实现对文件的增删改查

2、, 同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。本文件系统采用两级目录, 其中第一级对应于用户账号, 第二级对应于用户帐号下的文件。 另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。系统采用结构体来存储用户、文件目录、文件数据内容:048*548*5+44*5048*5+44*50+264*200用户区文件目录区文件数据区每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。整个系统的编码构成主要分为:.Allstruct.h定义了每个分区的结构体;Mysys.h声明了对系统操作的各种方法;Myuserfile.h声明了

3、对文件操作的各种方法;Mymain.cpp整个系统的主函数,操作入口;Mysys.cpp包含了 mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了 myuserfile.h ,实现了操作文件的各种方法;2、主要数据结构Allstruct.h文件的内容:struct s_user/ 用户区结构体long isuse;/ 是否使用char name20;/ 用户名char psd20;/ 密码long address;/ 目录地址;struct s_list/ 目录结构体.long isuse;/ 是否使用char name20;/ 文件名字long myaddress

4、;/ 本条目录地址long pointaddress; / 指向的文件的地址long isfile;/ 是否锁定long pointsize;/ 目标文件的大小long nextaddress;/ 下条目录的地址;struct s_file/ 文件结构体long isuse;/ 是否使用char content256; / 文件内容long next;/ 下个文件块地址;三、系统执行1、 如果首次进入系统, 还没有文件系统, 则会提示格式化文件系统, 创建分区,并初始化分区:2、刚初始化后,没有用户,提示创建用户:.3、用户创建成功后出现对系统操作的菜单4、注册用户功能:5、用户登录,登录成功

5、后显示当前用户下的所有文件及其详细信息,同时显示对文件操作的菜单:.6、新注册的用户默认为没有文件,选择创建文件,并且每次对文件操作后显示当前用户的所有文件和操作菜单:7、此次新建的文件为锁定状态,不能被删除:.8、对文件查看,默认创建的时候用0 填充文件内容:9、修改文件内容:10、对文件的锁定进行装换:11、删除文件:.12、注销登录退出系统:四、功能实现Mysys.h#include #include myuserfile.hclass MSysterm/ 封装了管理系统的方法/ 成员变量private:FILE *myfile;MUser myuser;/ 成员函数public:MSy

6、sterm()void outName();/ 打印登陆后的用户名int cheack();/ 检查虚拟文件系统跟是否存在int myformat();/ 初始化虚拟磁盘int createuser(); /创建用户int login();/ 用户登录void mymain();/ 主控制程序int logout();/ 用户注销;.Myuserfile.h#include class MUser/ 封装了管理文件的方法/ 成员变量public:FILE *myfile;char name20;/ 用户名char psd20;/ 密码long listaddress;/ 目录地址long my

7、address;/ 此用户的地址private:long lastaddress;/ 最后一个目录的地址/ 成员函数public:int createFile();/ 增加文件int delFile(char filename20);/删除文件int revampFile(char filename20);/修改文件int mydir();/ 列出当前目录的所有文件(夹)int viewFile(char filename20);/查看文件int myConversion(char filename20);/转换是否锁定状态private:int isSame(char filename_f2

8、0,char filename_s20);Mymain.cpp#include #include #include mysys.h#include using namespace std;int main()char nod1;int n_select = 2 , i_1 =0;MSysterm mysys;/*文件不存在的程序入口*/if(mysys.cheack()=-1)/磁盘空间不存在cout 虚拟磁盘文件不存在,是否生成? Y/N nod1;cin.clear(); /清除流的错误标记cin.ignore(numeric_limits:max(),n); /清空输入流if(nod1=Y|nod1=y).cout 正在创建。 endl;if(mysys.myformat()!=1)/创建磁盘空间cout 创建磁盘空间失败!即将退出。nod1;return 2;cout 创建完成!是否创建用户?Y/N nod1;cin.clear(); /清除流的错误标记cin.ignore(numeric_limits:max(),

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

当前位置:首页 > 办公文档 > 演讲稿/致辞

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