1、 操作系统课程设计 设计设计名称:名称: 模拟文件管理系统 课程设计课程设计负责人:负责人: 课程设计课程设计成员:成员: 二一一年十二一一年十二二月月 目录目录 Contents 第一部分:课程设计目的 . 3 第二部分:设计要求 3 第三部分:运行环境 3 第四部分:实验内容 4 41 前期知识巩固 4 42 设计任务. 5 43 详细设计部分 10 431 数据结构 10 432 主要函数 11 433 系统流程图 . 11 第五部分:调试分析 13 51 用户登录. 13 52 创建文件. 14 53 查看文件. 15 54 删除文件. 15 55 修改文件夹位置 16 第六部分:参考
2、文献 16 第七部分:附录 . 17 71 心得体会. 17 72 源代码(代码文字已缩小) 17 第一部分:第一部分:课程设课程设计目的计目的 本设计的目的是实现操作系统和相关系统软件的设计,其中涉及进程编程、 I/O 操作、存储管理、文件系统等操作系统概念。具体指在内存中开辟一个虚拟 的磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。在退出这 个文件系统时应将该文件系统保存到磁盘上, 以便下次可以再将它恢复到内存的 虚拟磁盘空间中。 第二部分:第二部分:设计要求设计要求 (1)对进行认真分析,列出实验具体步骤,写出符合题目要求的程序清单, 准备出调试程序使用的数据。 (2)设计
3、一个 10 个用户的文件系统,每次用户可保存 10 个文件,一次运行 用户可以打开 5 个文件。 (3)程序采用二级文件目录(即设置主目录 MFD)和用户文件目录(UFD) 。 另外,为打开文件设置了运行文件目录(AFD) 。 (4)文件保护简单使用三位保护码:允许读写执行、对应位为 1,对应位为 0,则表示不允许读写、执行。 (5)以完整的论文形式提交原始代码、设计文档和可运行程序。提交的文档 应当包括:设计题目,程序清单,运行结果分析,算法及其优缺点,以及通过上 机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键字、方法、 变量等) ,在每个模块前加注释。 (6)本组交一份设计文
4、档的同时每名组员交一份实践体会。 第三部分:运行环境第三部分:运行环境 windows xp 系统,windows 7 旗舰版系统 编译器:Microsoft Visual C+ 6.0 编辑语言:c+ 第四部分:第四部分:实验内容实验内容 41 前期知识巩固前期知识巩固 A、文件系统: 文件系统是操作系统的五大功能模块之一, 主要实现操作系统对程序、 数据、 设备等的管理。文件系统的主要功能:完成文件存储空间管理,实现文件名到物 理地址的映射,实现文件和目录的操作管理,提供文件共享能力和安全措施等功 能。 B、文件 文件是信息的一种组织形式, 是存储在外存上的带有标识号的一组相关信息 的集合
5、, 而这个集合既可以由相关联的字符流组成, 也可以由相关联的记录组成。 文件的构成:文件控制块(FCB) 、数据。FCB 是系统在管理文件时所需信息 的数据结构,是文件存在的惟一标志。包括了文件的基本属性,大致有文件名、 地址、存取控制信息(如文件所有者、同组用户、访问权限)以及使用信息(如 创建日期、修改日期) 。 C、文件目录 文件控制块的有序集合称为文件目录。 文件目录的基本功能是实现文件名与 其存放位置的映射。 D、文件的物理结构 常用的结构有顺序结构、链接结构、文件分配表结构 FAT、索引结构、多级 索引结构。 E、文件操作 文件的操作就是创建/删除文件、打开/关闭文件、读/写文件等
6、 F、磁盘空间管理 文件系统的一个重要任务是对磁盘空间进行管理。 磁盘空间管理的关键问题是磁盘空闲空间的管理。 常用的空闲块管理方法有:空闲文件目录法、空闲块链法、位示图法、空闲块成 组链接法。 42 设计任务设计任务 建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟 Linux 文件系统。 a、 在现有机器硬盘上开辟 1M 的硬盘空间,模拟作为作为设定的硬盘空间。 b、编写一管理程序 simdisk 对此空间进行管理,以模拟 Linux 文件系统,要求: (1) 盘块大小 1k (2) 空闲盘块的管理:Linux 位图法 (3) 结构:超级块, i 结点区, 根目录区 c、 该文件管理程序的功能要求如下: Format:对文件存储器进行格式化 mkdir:用于创建子目录 dir:用于显示目录 cd:更改当前目录 create:创建文件 write:写文件 read:读文件 del:删除文件 access: 权限