操作系统课程设计文件系统

上传人:汽*** 文档编号:456554568 上传时间:2023-08-02 格式:DOC 页数:19 大小:90.50KB
返回 下载 相关 举报
操作系统课程设计文件系统_第1页
第1页 / 共19页
操作系统课程设计文件系统_第2页
第2页 / 共19页
操作系统课程设计文件系统_第3页
第3页 / 共19页
操作系统课程设计文件系统_第4页
第4页 / 共19页
操作系统课程设计文件系统_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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

1、-*工业大学课 程 设 计资 料 袋计算机与通信学院 学院系、部 20212021学年第1学期 课程名称计算机操作系统 指导教师 左新娥职称 讲师 学生*专业班级*题 目文件系统演示成 绩起止日期2021年12月9日2021年12月15日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13456课程设计任务书2021 2021学年第 1 学期学院系、部 计算机与通信学院专业班级课程名称: 计算机操作系统 学生*:设计题目:指导教师: 左新娥 完成期限:自 2021 年 12月 9 日至 2021 年 12 月 15日共1周内容及任务一、设计内容设计一个简单的多用

2、户文件系统。即在系统中用一个文件来模拟一个磁盘;此系统至少有:Create、delete、open、close、read、write等和局部文件属性的功能。 能够实现并且实际演示这个文件系统。根本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。二、设计任务课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据构造进展说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。三、设计要求1. 按功能要求开发系统,能正确运行。程序

3、代码书写标准,有充足的注释。2. 课程设计所使用的编程语言任选,但建议使用C或C+;3. 绿色软件:程序运行不需安装,防止写系统和注册表;进度安排起止日期工作内容课程设计前一周召开发动大会,学生选题;2021-12-92021-12-10系统分析和设计;2021-12-112021-11-13熟悉软件开发工具、编码系统、系统测试以及中期辩论;2021-12-142021-12-15撰写并提交课程设计说明书 (含电子文档)、源程序等。主要参考资料1罗宇、邹鹏、邓胜兰等著操作系统M:电子工业,20212Andrew S.Tanenbaum 著陈向群等译现代操作系统M:机械工业,20073邓胜兰编著

4、操作系统根底M:机械工业,20214Dave Probert著,陈向群等译Windows操作系统原理M:机械工业出版 ,20065罗宇 褚瑞等等著操作系统课程设计M:机械工业出版,2004指导教师签字:年 月 日系教研室主任签字:年 月 日. z.-课程设计说明书课程名称: 计算机操作系统 设计题目: 文件系统演示 专 业: 网络工程 班级:学生*:学 号:指导教师: 左新娥 2021 年 4 月 日目录一 课程设计简介61.1 课程设计的目的61.2 课程设计内容6二 课程设计实现过程72.1程序功能需求分析72.2程序功能模块分析72.2.1 format 格式化72.2.2 instal

5、l 安装72.2.3 login 登陆82.2.4 create 创立文本文件82.2.5 cd 进入子目录或者上级目录82.2.6 del 删除文件或目录92.2.7 help 显示帮助92.2.8 e*it 退出系统92.3程序实现过程102.3.1 相关构造体描述102.3.2 相关全局变量132.3.2 主要功能函数代码152.4程序测试截图223设计总结24参考文献25. z.-一 课程设计简介1.1 课程设计的目的课程设计目的使同学们熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材

6、中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。1.2 课程设计内容课程设计内容设计一个简单的多用户文件系统。即在系统中用一个文件来模拟一个磁盘;此系统至少有:Create、delete、open、close、read、write等和局部文件属性的功能。实现这个文件系统。能实际演示这个文件系统。根本上是进入一个界面此界面就是该文件系统的界面后,可以实现设计的操作要求。二 课程设计实现过程在本段落中,将从程序功能需求分析,程序流程设计,程序实现来完本钱章的描述。2.1程序功能需求分析本次课程设计内容是设计一个简单的多用户文件系统,

7、对软件的功能需求如下:在linu*系统中用一个文件来模拟一个磁盘;可以对这个模拟磁盘进展的操作为:Create、delete、open、close、read、write等和局部文件属性的功能。使用编程语言实现这个文件管理系统,能实际演示这个文件系统。根本上是进入一个程序主界面此界面就是该文件系统的界面后,可以实现设计的操作要求。程序运行不需安装,防止写系统和注册表;2.2程序功能模块分析2.2.1 format 格式化只写翻开模拟文件,初始化超级快,初始化dinode位图 block位图,初始化主目录,初始化etc目录,初始化管理员admin 目录,初始化用户*iao 目录,初始化 用户pas

8、swd文件,写入模拟硬盘文件。2.2.2 install 安装读写翻开模拟文件,读取dinode位图 block位图,读取主目录,读取etc目录,读取管理员admin 目录,读取用户*iao 目录,读取 用户passwd文件。2.2.3 login 登陆用户输入用户名和密码,在passwd文件中查找是否有此用户,核对密码。正确则登陆成功,当前目录设定到当前用户文件夹下。2.2.4 create 创立文本文件查找当前目录下是否有同名文件,是则退出,否则让用户输入文本文件内容,以*完毕。申请inode空间ialloc函数,申请硬盘block空间balloc函数,申请失败则完毕。将文件内容写入ino

9、de空间和block空间。修改当前目录的构造,修改超级快,修改inode位图,block位图,写入模拟硬盘。2.2.5 cd 进入子目录或者上级目录查找当前目录是否有该子目录,没有则退出,调用access判断当前用户是否有权限,无则退出,有则读取该子目录的inode,将当前目录指向该目录。2.2.6 del 删除文件或目录查找当前目录是否有该文件名,没有则退出,有则调用access判断是否有权限,有则判断是否为系统文件,是则无法删除,不是则判断是否是文件,是文件则直接删除,不是则判断是否文件夹,是文件夹则判断该文件夹下是否有文件,有文件则无法删除。提示用户是否删除,确认则删除文件,修改当前文件

10、夹inode,block构造,修改该文件占有的inode和block位图为0,修改超级块,写入模拟硬盘。2.2.7 help 显示帮助在命令模式在输入help可以显示本程序所有的的命令和对应的解释,在输入help时候,列出系统中可以用的函数对应的命令名称。2.2.8 e*it 退出系统在文件模拟系统中输入e*it可以退出程序,当从键盘处承受到字符时候,判断为e*it时候,则推出程序,并且关闭文件流。2.3程序实现过程2.3.1 相关构造体描述一 Inode节点构造/*Inode构造体*/*struct inode/ _int1616 a; struct inode *i_forw;/ stru

11、ct inode *i_back; _int16 uf_id; /该节点在user.f_ofile中的下标 _int8i_flag;/ chardi_nameDIRSIZ; / unsigned _int16 i_count;/计数 unsigned _int16 di_ino;/磁盘i节点标识 unsigned _int16 di_number;/关联文件数,当为0时表示删除文件 unsigned _int16 di_mode;/存取权限 unsigned _int16 di_uid;/磁盘i节点用户id unsigned _int16 di_gid;/磁盘i节点组id unsigned _

12、int32 di_size;/文件大小 unsigned _int32 di_ctime; /Creation time unsigned _int32 di_mtime; / Modification time unsigned _int16 di_blockP_N_BLOCKS; /* 一组 block 指针 ;*/二 Block组描述/*e*t2 block组描述构造体*/struct group_desc unsigned _int16 bg_block_bitmap; /block 指针指向 block bitmap unsigned _int16 bg_inode_bitmap;

13、/ block 指针指向 inode bitmap unsigned _int16 bg_inode_table; / block 指针指向 inodes table unsigned _int16 bg_free_blocks_count; / 空闲的 blocks 计数 unsigned _int16 bg_free_inodes_count; / 空闲的 inodes 计数 unsigned _int16 bg_used_dirs_count; / 目录计数 ;三 超级块描述局部/*超级快数据构造的描述*/struct super_blockunsigned int s_inodes_count; /* inodes 计数 */unsigned int s_blocks_count; /* blocks 计数 */unsigned int s_r_blocks_count; /* 保存

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

当前位置:首页 > 建筑/环境 > 施工组织

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