PAGE
PAGE 1
操作系统原理课程设计
实践报告
全套设计加扣 3012250582
题 目:
Unix/Linux文件系统管理的仿真
姓 名:
学 院:
信息科技学院
专 业:
计算机科学技术系
班 级:
计科121
学 号:
指导教师:
职称: 教授
2015年3月 27 日
一:摘要:
文件系统是 \t "/_blank" 操作系统用于明确 \t "/_blank" 存储设备(或分区上的文件的方法和 \t "/_blank" 数据结构;即在存储设备上组织文件的方法。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件 \t "/_blank" 存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和 \t "/_blank" 检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。Unix/Linux可以把一个能随机存取的存储介质(如:硬盘、软盘和光盘)上的存储空间划分成一致多个区域,每个区域都可以像独立的物理设备一样单独进行管理和数 据存取,这样的存储区域,即是逻辑设备。在逻辑设备上按照一定的格式进行划分,就构成了逻辑文件系统,简称文件系统。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力;掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,并了解操作系统的发展动向和趋势。
关键字:操作系统,文件系统,存储设备;Unix/Linux
二:理论基础
在操作系统中,文件系统被安装在一个特定的安装点上,该安装点在全局层次结构中被称为命名空间,所有的已安装文件系统都作为根文件系统树的枝叶出现在系统中。
文件其实可以看作是一个有序字节串。Linux系统将文件的相关信息和文件本身这两个概念加以区分;文件相关信息,有时候被称为文件的元数据(也就是说,文件的相关数据),被存储在一个单独的数据结构中,该结构被称为索引节点(inode),是index node。文件路径中的每一部分都被称为目录条目,统称为目录项。在Unix中,目录属于普通文件。文件系统的控制信息存储在超级快中,超级块是一种包含文件系统信息的数据结构。把这些收集起来的信息称为文件系统数据源.(包含整个文件系统的信息)。
本次课程设计是模拟Linux文件系统的文件管理方法来设计的,设计过程中要考虑文件存储空间的管理,文件物理结构的设计,磁盘i结点的分配与回收,内存i结点的分配与回收,目录检索的实现,文件和目录的系统调用功能等方面的问题。首先为这个文件系统申请1M的内存空间存放文件系统的空间结构。空间结构包括引导块,超级块,磁盘inode区,数据区。
模拟Linux文件系统实现了一个多用户多目录文件系统,该系统只是一个模拟文件系统功能的虚拟文件系统,实现了基本的目录树结构,对目录和文件的操作都是在内存中完成。程序运行的时候,申请1M内存空间,1M内存分为512块,每块512字节,这512块就是文件系统可用块数。文件系统的分配就是以块为单位进行分配的。空闲块的管理用位示图的方法。程序运行结束的时候,内容都会丢失。
三:目的及意义
理解并实现文件系统物理结构、存储空间的管理;理解并构建文件系统的目录树;对于普通文件以及目录文件进行几种基本操作.
为了熟悉文件管理系统的设计方法;加深对所学各种文件操作的了 解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,
四:设计思想及设计功能说明
( 一 )设计思想:
本次课程设计是模拟Linux文件系统的文件管理方法来设计的,设计过程中要考虑文件存储空间的管理,文件物理结构的设计,磁盘i结点的分配与回收,内存i结点的分配与回收,目录检索的实现,文件和目录的系统调