為什么蘋果Mac硬盤不分區?

作者:樂購科技 來源: 2013-10-14 07:47:51 閱讀 我要評論 直達商品

感謝192的投遞

本文翻譯自程序員的問答社區 stackexchange.com 上的一個問題。

有人可以給我解釋一下,為什么 Linux 的文件系統是「單目錄層階樹狀」結構,而不像 Windows 那樣有個 C:\ D:\ 分區啥的,這樣做有沒有特別的原因呢?

為什么蘋果電腦硬盤不分區?

有人可以給我解釋一下,為什么 Linux 的文件系統是「單目錄層階樹狀」結構,而不像 Windows 那樣有個 C:\ D:\ 分區啥的,這樣做有沒有特別的原因呢?

一句話:不分區的好,Windows 那是為了向下兼容

Doug O'Neal

說起來 Unix 的文件系統的道行要比 Windows 的早很多年,所以您的問題得改成:「為什么 Windows 要自搞一套弄出個硬盤分區符號來呢?」

樹狀的文件結構有個優勢就是任何子目錄或者文件,都能順著根目錄找到。所以,如果你需要把本地文件遷移到一個網絡硬盤上,這時候對于軟件來說,它們不會察覺到任何區別。

假設你有一套系統,操作系統焊死不能動,但是有個程序有很高的I/O需求,那么你可以很方便地把 /usr 目錄加載為只讀,然后吧 /opt(應用程序安裝目錄)目錄加載到一塊SSD上。這樣整個文件系統的結構對于操作系統來說沒有發生任何改變。然而在Windows下,這種問題就比較討厭,特別是程序路徑前面帶著個 C:\Program Files\ 的時候……

Gilles 70票

這都是有歷史原因在里面的,部分上是因為這樣做在當時更有效。

Multics

Multics 是我所知的歷史上第一個采用「層階樹狀文件結構」的操作系統,一個目錄里還嵌著子目錄這種機制。引用 R.C. Daley 和 P.G. Neumann 的《通用輔助文件存儲(A General-Purpose File System For Secondary Storage)》一文中的話:

論文第二部分闡述了一種「層階樹狀文件結構」的文件系統,對于操作系統來說,它非常高效。這種結構兼顧了可靠性和靈活性……

為了便于理解,我們可以把這種結構想象成一棵樹,文件的樹,其中有一些目錄其實也是文件。但是有一個例外的目錄,它自身的指針只指向一個單一的,確定的目錄,那就Root目錄。它沒有明確地被其他目錄所指,root目錄只是隱式地代表一個虛擬的分支,我們稱這個分支結構為「文件系統」。

在任何時候,用戶都處于一個目錄下面,我們稱它為「工作目錄(working directory)」,用戶可以通過指定入口訪問工作目錄下面的文件。而且多個用戶可以同時工作在同一個工作目錄之下。

在其他各個方面,Multics 追求的是靈活性,用戶只需工作在整個文件系統的一條分支上,其他的不用管,但還能保證用目錄管理文件的便捷性。目錄還被用來控制訪問權限 —— 目錄的 READ 屬性允許用戶訪問目錄中的文件,而 EXECUTE 屬性允許用戶修改目錄中的文件 (這個特性被后來的unix系統繼承下來)。

Multics 還遵循了「單一存儲對象池」的設計原則。但是論文沒有在這方面展開。「單一存儲對象池」對于當時的硬件條件來說非常合適,那時候沒有可移動的硬盤,起碼是沒有人關心這個問題。Multics 確實有一個備用的備份存儲池,但對于用戶來說,它是不存在的。

Unix

Unix 系統深受 Multics 的影響,但是比起 Multics 的「靈活」,Unix 更專注于加強系統的「簡潔」。

「單一目錄樹層級」的文件系統就很適合Unix系統。就和 Multics 一樣,存儲池的細節,經常不需要用戶關心。但是后來出現了可拆卸的硬盤, Unix 通過 mount 和 umount 兩個命令把對存儲設備的操作暴露給用戶(只有「管理員權限」的用戶才能執行這樣的操作)。在 《Unix 分時系統設計(The Unix Time-Sharing System)》一文中, Dennis Ritchie 和 Ken Tompson 解釋道:

雖然系統根目錄一般都在同一個存儲設備上,但是對于其他分支目錄則未必要這樣做。出于兩種考慮,我們需要 mount命令完成存儲設備掛載的工作:普通文件的文件名一致性,和文件所在的存儲設備可能有其獨立的文件存儲結構。通過mount命令,可以把之前的一個文件,替換成一個可移動存儲設備上的完整的目錄結構,事實上,mount命令把文件層級的某一部分,通過引用外部數據,替換成一個新的結構。這樣對于之前整個文件系統來說,沒有發生任何改變。其實,拿我們的系統安裝過程舉例,root目錄一直在我們的硬盤上占了一小塊地方,但其他用戶數據在不同的硬盤上,通過mount機制,按序列加載組成一個初始化的系統。一個「可掛載」的系統,完全是通過讀寫特殊文件完成的。各種應用可以創建自己的文件系統,或者簡單地從他處拷貝一份。

(小編注:上面這段文字的中心思想:在UNIX中,一切都是文件。)

「層階樹狀文件系統」還有一個優勢,就是可以把管理存儲設備的復雜任務交給內核處理,這就意味著內核雖然越來越復雜,但是對于建立其上的應用來說,其結果就是保持簡潔。因為內核已經把臟活累活都包了,大部分應用都不用關心這部分細節,這是一種更加自然的設計。

Windows

Windows 系統流淌著兩支古老血脈:設計運行在 VAX 微機上的 VMS 操作系統,和早期Intel微機(如 8080、Z80)上運行的 CP/M 操作系統。

VMS 有一個分布式的層級文件系統,叫做 Files-11

。在 Files-11 中,一個文件的完整路徑包括一個「節點名稱」、一個關聯的用戶賬戶、設備名稱、目錄樹、文件名和文件類型,以及版本號。VMS 有強大的Logical Names功能,這個功能允許自定義「快捷方式」到指定的路徑,所以用戶不需要在意目錄的「真實」路徑。

CP/M 是為了 64kB 的內存和軟盤系統設計的,為了一切從簡,所以從誕生起,它就沒有「目錄」這個概念,但是文件是通過引用「驅動器位置」來訪問的,比如 A: 或者 B:

而 MS DOS 1.0 繼承了 CP/M 的這個特性,所以,當 MS DOS 2.0 引入「目錄」的概念以后,為了兼容 1.0 也在路徑錢保留了「盤符」字符,而斜杠「/」符號是原來 VMS 和 CP/M 系統中表示「命令參數開始」的符號,所以后來的 DOS 以及 Windows 必須區分,而采用了 反斜杠「\」 符號作為路徑分隔符。

Windows 繼承了 DOS 和 VMS 的習慣,雖然已經意義不大,但是依舊保留著「盤符」的傳統。如今,在 Windows 底層,采用的是 UNC 路徑(通用命名規則,即 \servername\sharename 的規范),但這只是一些高級 Windows 用戶需要知道的功能,Windows 現在確實可以通過「重解析點」(Reparse Points)來掛在存儲設備。(所以不需要C:這樣的盤符了)


  推薦閱讀

  澳洲移動手機市場縮水不影響WP份額攀升

感謝小的投遞市場調研機構 IDC 發布了澳大利亞市場 2013 年第二季度的>>>詳細閱讀


本文標題:為什么蘋果Mac硬盤不分區?

地址:http://m.sdlzkt.com/a/05/20131014/290487.html

樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

網友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網友評論(點擊查看更多條評論)
友情提示: 登錄后發表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 午夜电影成人福利| 成人爱做日本视频免费| 亚洲av成人精品网站在线播放| 亚洲综合久久成人69| 99国产精品久久久久久久成人热| 18岁日韩内射颜射午夜久久成人| 欧美在线成人午夜网站| 国产精品香蕉成人网在线观看 | 高清成人爽a毛片免费网站| 日本在线高清视频日本在线观看成人小视频 | 午夜a级成人免费毛片| 青青国产成人久久91网| 国产成人精品1024在线| 中文字幕在线看片成人| 国产成人精品午夜视频'| 久久国产成人精品国产成人亚洲| 成人久久精品一区二区三区| 窝窝午夜看片成人精品| 四虎影视成人永久在线观看| 国产成人综合精品| 成人亚洲欧美日韩在线| WWW夜片内射视频日韩精品成人| 国产成人精品视频一区| 欧美e片成人在线播放乱妇| 亚洲成人一级片| 亚洲国产成人久久综合一| 国产成人精品视频一区| 成人免费看www网址入口| 欧美成人在线视频| 2022国产成人福利精品视频| 久久国产成人精品国产成人亚洲 | 成人免费观看网欧美片| 欧美成人免费一区在线播放| 一级成人a做片免费| 2022国产成人福利精品视频| 18成人片黄网站www| 1204国产成人精品视频| 欧美成人高清手机在线视频| 欧美在线成人午夜网站| 国产精品成人自拍| 国产成人亚洲精品无码青青草原|