国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

詳解Linux文件系統:ext4及更高版本

2024-08-28 00:03:12
字體:
來源:轉載
供稿:網友

今天帶大家了解一下ext4的歷史,包括其與ext3和之前的其它文件系統之間的區別

大多數現代Linux發行版默認為ext 4文件系統,就像以前的Linux發行版默認為ext3、ext2,以及-如果追溯到足夠遠的話-ext。
如果您是Linux新手或者是文件系統新手,您可能會想知道ext 4給表帶來了什么,而ext3卻沒有??紤]到諸如btrfs、XFS和ZFS等備用文件系統的新聞報道,您可能還想知道ext4是否還在積極開發中。
我們不能在一篇文章中涵蓋所有關于文件系統的內容,但是我們將嘗試讓您了解Linux的默認文件系統的歷史、它所處的位置以及所期待的內容。
我大量地引用了各種ext文件系統文章以及我在編寫本概覽時的經驗。

ext 簡史

MINIX 文件系統
在有 ext 之前,使用的是 MINIX 文件系統。如果你不熟悉 Linux 歷史,那么可以理解為 MINIX 是用于 IBM PC/AT 微型計算機的一個非常小的類 Unix 系統。Andrew Tannenbaum 為了教學的目的而開發了它,并于 1987 年發布了源代碼(以印刷版的格式?。?。

IBM 1980 中期的 PC/AT, MBlairMartin , CC BY-SA 4.0

雖然你可以細讀 MINIX 的源代碼,但實際上它并不是自由開源軟件(FOSS)。出版 Tannebaum 著作的出版商要求你花 69 美元的許可費來運行 MINIX,而這筆費用包含在書籍的費用中。盡管如此,在那時來說非常便宜,并且 MINIX 的使用得到迅速發展,很快超過了 Tannebaum 當初使用它來教授操作系統編碼的意圖。在整個20 世紀90年代,你可以發現 MINIX 的安裝在世界各個大學里面非常流行。而此時,年輕的 Linus Torvalds 使用 MINIX 來開發原始 Linux 內核,并于1991 年首次公布,而后在 1992 年 12 月在 GPL 開源協議下發布。
但是等等,這是一篇以 文件系統 為主題的文章不是嗎?是的,MINIX 有自己的文件系統,早期的 Linux 版本依賴于它。跟 MINIX 一樣,Linux 的文件系統也如同玩具那般小 ―― MINIX 文件系統最多能處理 14 個字符的文件名,并且只能處理 64MB 的存儲空間。到了 1991 年,一般的硬盤尺寸已經達到了 40-140 MB。很顯然,Linux 需要一個更好的文件系統。

ext

當 Linus 開發出剛起步的 Linux 內核時,Rémy Card 從事第一代的 ext 文件系統的開發工作。ext 文件系統在 1992 年首次實現并發布 ―― 僅在 Linux 首次發布后的一年!―― ext 解決了 MINIX 文件系統中最糟糕的問題。
1992 年的 ext 使用在 Linux 內核中的新虛擬文件系統(VFS)抽象層。與之前的 MINIX 文件系統不同的是,ext 可以處理高達 2 GB 存儲空間并處理 255 個字符的文件名。
但 ext 并沒有長時間占統治地位,主要是由于它原始的時間戳(每個文件僅有一個時間戳,而不是今天我們所熟悉的有 inode、最近文件訪問時間和最新文件修改時間的時間戳。)僅僅一年后,ext2 就替代了它。

ext2

Rémy 很快就意識到 ext 的局限性,所以一年后他設計出 ext2 替代它。當 ext 仍然根植于 “玩具” 操作系統時,ext2 從一開始就被設計為一個商業級文件系統,沿用 BSD 的 Berkeley 文件系統的設計原理。
ext2 提供了 GB 級別的最大文件大小和 TB 級別的文件系統大小,使其在 20 世紀 90 年代的地位牢牢鞏固在文件系統大聯盟中。很快它被廣泛地使用,無論是在 Linux 內核中還是最終在 MINIX 中,且利用第三方模塊可以使其應用于 MacOS 和 Windows。
但這里仍然有一些問題需要解決:ext2 文件系統與 20 世紀 90 年代的大多數文件系統一樣,如果在將數據寫入到磁盤的時候,系統發生崩潰或斷電,則容易發生災難性的數據損壞。隨著時間的推移,由于碎片(單個文件存儲在多個位置,物理上其分散在旋轉的磁盤上),它們也遭受了嚴重的性能損失。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣州市| 磴口县| 泸溪县| 师宗县| 定襄县| 西乡县| 临江市| 和平区| 青龙| 钟祥市| 海丰县| 井冈山市| 衡阳市| 确山县| 班玛县| 大荔县| 芜湖市| 博兴县| 永寿县| 福安市| 铁岭市| 江陵县| 青冈县| 沈丘县| 新兴县| 开封市| 始兴县| 呼和浩特市| 桃源县| 龙井市| 峨眉山市| 铅山县| 甘南县| 濉溪县| 丹凤县| 建宁县| 从化市| 秦安县| 南郑县| 康定县| 彰化县|