MINIX文件系统

科技工作者之家 2020-11-17

MINIX文件系统(英语:MINIX file system),一种文件系统,是MINIX操作系统中的原生文件系统。

简介由安德鲁·斯图尔特·塔能鲍姆于1980年代创作,于1987年伴随着Minix 1.0版一同释出。它源自于Unix文件系统的基本结构,为了使源代码简洁,以方便教学,许多复杂的功能都没有在这个文件系统中实作,但这也使得它的效能与功能受限。林纳斯·托瓦兹在1991年创作Linux核心时,最初采用了Minix文件系统,直到1992年4月,才以延伸文件系统来取代它。1

设计与实现一个MINIX文件系统由6个组成部分:

引导块是总是存储在第一个块。在系统启动时,它包含了引导加载程序的加载和运行一个操作系统。

第二个块是超块,它是存储有关文件系统,即允许操作系统来定位和理解其它文件系统结构数据。例如,数i节点和区,两个位图的大小和的起始块的数据区。

该索引节点位图是一个简单的地图索引节点跟踪哪些是在使用中,哪些是免费的通过代表他们的任何一个(使用时)或零(免费)。

该区域的位图的工作原理相同的方式作为索引节点位图,除了它跟踪的区域。

该索引节点区域。每个文件或目录被表示为一个inode,它记录元数据,包括类型(文件,目录,块炭,管道),标识为用户和组,三时间戳记录的日期和上次访问时间,最后修改和最后的状态改变。一个inode还包含指向该区域中的地址的列表的数据区所在的文件或目录的实际存储数据。

该数据区是在文件系统的最大组成部分,使用大部分空间。它是在实际的文件和目录的数据被存储。2

文件系统计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。

文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问数据的界面而已,实际的数据是通过网络协议(如NFS、SMB、9P等)提供的或者内存上,甚至可能根本没有对应的文件(如proc文件系统)。

严格地说,文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。2

MINIXMinix,是一个迷你版本的类Unix操作系统,由塔能鲍姆教授为了教学之用而创作,采用微核心设计。它启发了Linux核心的创作。

它的名称取自英语:Mini UNIX的缩写。与Xinu、Idris、Coherent和Uniflex等类Unix操作系统类似,派生自Version 7 Unix,但并没有使用任何AT&T的代码。第一版于1987年发布,只需要购买它的磁片,就提供完整的源代码给大学系所与学生,做为授课及学习之用。2000年4月,重新以BSD许可协议发布,成为开放源代码软件。

全套Minix除了启动的部分以汇编语言编写以外,其他大部分都是纯粹用C语言编写。分为:核心、存储器管理及文件系统三部分。

Minix在设计之初,为了使程序简化,它将程序模块化,如文件系统与存储器管理,都不是在操作系统核心中运作,而是在用户空间运作。至Minix 3时,连IO设备都被移到用户空间运作。

另一个特点,则是Minix主要目的是用于教学,因此代码撰写上极力重视简洁与可读性。1

本词条内容贡献者为:

吴晨涛 - 副研究员 - 上海交通大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。