The Minix file system is the native
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
of the
Minix operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
. It was written from scratch by
Andrew S. Tanenbaum in the 1980s and aimed to replicate the structure of the
Unix File System
The Unix file system (UFS) is a family of file systems supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.
Design
A UFS volume is composed of the following p ...
while omitting complex features, and was intended to be a teaching aid. It largely fell out of favour among Linux users by 1994 due to the popularity of other filesystems - most notably
ext2
The ext2 or second extended file system is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same p ...
- and its lack of features, including limited partition sizes and filename length limits.
History
MINIX was written from scratch by
Andrew S. Tanenbaum in the 1980s, as a
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system whose source code could be used freely in education. The MINIX file system was designed for use with MINIX; it copies the basic structure of the
Unix File System
The Unix file system (UFS) is a family of file systems supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.
Design
A UFS volume is composed of the following p ...
but avoids any complex features in the interest of keeping the source code clean, clear and simple, to meet the overall goal of MINIX to be a useful teaching aid.
[
]
When
Linus Torvalds
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and, historically, the lead developer of the Linux kernel, used by Linux distributions and other operating systems such as Android. He also ...
first started writing his
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
operating system kernel (1991), he was working on a machine running MINIX, and adopted its file system layout. This soon proved problematic, since MINIX restricted filename lengths to 14 characters (30 in later versions), it limited
partitions to 64 megabytes, and the file system was designed for teaching purposes, not performance. The
Extended file system
The extended file system, or ext, was implemented in April 1992 as the first file system created specifically for the Linux kernel. It has metadata structure inspired by traditional Unix filesystem principles, and was designed by Rémy Card to ...
(ext; April 1992) was developed to replace MINIX's, but it was only with the second version of this,
ext2
The ext2 or second extended file system is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same p ...
, that Linux obtained a commercial-grade file system.
As of 1994, the MINIX file system was "scarcely in use" among Linux users.
Design and implementation
A MINIX file system has six components:
*The
Boot Block which is always stored in the first block. It contains the
boot loader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
that loads and runs an
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
at system startup.
*The second block is the Superblock which stores data about the file system, that allows the operating system to locate and understand other file system structures. For example, the number of ''inodes'' and ''zones'', the size of the two bitmaps and the starting block of the ''data area''.
*The inode
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index.
As a noun, the term "bitmap" is very often used to refer to a particular bitmapping application: th ...
is a simple
map of the
inode
The inode (index node) is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attribu ...
s that tracks which ones are in use and which ones are free by representing them as either a one (in use) or a zero (free).
*The zone bitmap works in the same way as the ''inode bitmap'', except it tracks the zones.
*The inodes area. Each file or directory is represented as an inode, which records metadata including type (file, directory, block, char, pipe), IDs for user and group, three timestamps that record the date and time of last access, last modification and last status change. An inode also contains a list of addresses that point to the zones in the ''data area'' where the file or directory data is actually stored.
*The data area is the largest component of the file system, using the majority of the space. It is where the actual file and directory data are stored.
See also
*
List of file systems
The following lists identify, characterize, and link to more thorough information on Computer file systems.
Many older operating systems support only their one "native" file system, which does not bear any name apart from the name of the operating ...
*
MINIX 3
Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.
The project's main goal is for the system to be fault-tolerant by detecting and rep ...
*
Minix-vmd
References
External links
File, file system, and memory size limits in MinixMinix Filesystem ToolIntroduction to the minix file system
{{DEFAULTSORT:Minix File System
1987 software
Unix file system technology
Disk file systems
File systems supported by the Linux kernel
MINIX