Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MINIX file system
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Native file system of the Minix operating system}} {{Infobox filesystem | name = Minix file system | full_name = MINIX file system version 3 | developer = [[Open source community]] | introduction_os = [[Minix]] 1.0 | introduction_date = {{Start date and age|1987}} | partition_id = 0x81 ([[Master boot record|MBR]]) | directory_struct = | file_struct = | bad_blocks_struct = | max_filename_size = | max_files_no = | max_volume_size = | max_file_size = | filename_character_set = | dates_recorded = last metadata change, last file change, last file access | date_range = | date_resolution = 1s | forks_streams = | attributes = |file_system_permissions = [[POSIX]] | compression = No | encryption = No (provided at the block device level) | OS = [[Minix 3]], [[Linux]], [[MiNT]] and [[HelenOS]] }} The '''Minix file system''' is the native [[file system]] of the [[Minix]] [[operating system]]. It was written from scratch by [[Andrew S. Tanenbaum]] in the 1980s and aimed to replicate the structure of the [[Unix File System]] 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]] - 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]] 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]] 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.<ref name="TanenbaumOSBook"> {{cite book | last = Tanenbaum | first = Andrew S | authorlink = |author2=Albert S. Woodhull | title = [[Operating Systems: Design and Implementation]] | edition = 3rd | isbn = 0-13-142938-8 | date = 14 January 2006 | publisher = [[Prentice Hall]] }}</ref> When [[Linus Torvalds]] first started writing his [[Linux]] 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 [[Disk partitioning|partitions]] to 64 megabytes,{{r|Strobel}} and the file system was designed for teaching purposes, not performance.{{r|Mauerer}} The Linux implementation of the MINIX fs was multi-threaded, whereas the MINIX implementation of the fs was single-threaded.<ref>{{Cite web |title=linux release 0.01 - refs/tags/v0.01 - pub/scm/linux/kernel/git/nico/archive - Git at Google |url=https://kernel.googlesource.com/pub/scm/linux/kernel/git/nico/archive/+/refs/tags/v0.01 |access-date=2024-03-29 |website=kernel.googlesource.com}}</ref> The [[extended file system]] (ext; April 1992) was developed to replace MINIX's, but it was only with the second version of this, [[ext2]], that Linux obtained a commercial-grade file system.<ref name="Mauerer">{{cite book |first=Wolfgang |last=Mauerer |title=Professional Linux Kernel Architecture |publisher=John Wiley & Sons |year=2010 |isbn=9781118079911 |url=https://books.google.com/books?id=-6zvRFEfQ24C&pg=PT490}}</ref> As of 1994, the MINIX file system was "scarcely in use" among Linux users.<ref name="Strobel">{{cite book |title=Linux—Unleashing the Workstation in Your PC |first1=Stefan |last1=Strobel |first2=Thomas |last2=Uhl |publisher=Springer-Verlag |year=1994 |page=54}}</ref> ==Design and implementation== A MINIX file system has six components:<ref name="TanenbaumOSBook" /> *The [[Boot sector|Boot Block]] which is always stored in the first block. It contains the [[Booting|boot loader]] that loads and runs an [[operating system]] 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]]''' is a simple [[Map (computer science)|map]] of the [[inode]]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]] *[[MINIX 3]] *[[Minix-vmd]] ==References== {{Reflist|30em}} ==External links== *[http://minix1.woodhull.com/faq/filesize.html File, file system, and memory size limits in Minix] *[http://mfstool.sourceforge.net/ Minix Filesystem Tool] *[http://ohm.hgesser.de/sp-ss2012/Intro-MinixFS.pdf Introduction to the minix file system] {{File systems}} {{DEFAULTSORT:Minix File System}} [[Category:1987 software]] [[Category:Unix file system technology]] [[Category:Disk file systems]] [[Category:File systems supported by the Linux kernel]] [[Category:Minix]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:File systems
(
edit
)
Template:Infobox filesystem
(
edit
)
Template:R
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)