全面了解MAC OS X系統-適用開發人員(1)
第一章 系統技術 基礎概述 Mac OS X 既是以往 Macintosh 操作系統的重大升級,也是對其的一種自然演化。它繼承了 Macintosh 易于操作的傳統,但其設計不只是讓人易于使用,同時也更讓人樂于使用。 作為下一代操作系統, Mac OS X 是一種綜合技術的產物。在其所覆蓋的技術中,一部分是來自于計算機業界的新技術,而大部分則是標準技術。它完全是建立在現代核心操作系統的基礎上的,這使 Macintosh 獲得了內存保護和搶占式多任務等計算處理能力。 Mac OS X 有著絢麗多彩的用戶界面,具備了如半透明、陰影等視覺效果。這些效果,連同在個人電腦上看到的最清晰圖形,都可以利用蘋果公司專門為 Mac OS X 開發的圖形技術來獲得。 不過 Mac OS X 有的不僅僅是精密的內核與精巧的外形。憑借著多元化的應用程序環境,各種類型的 Macintosh 應用程序都可以在此操作系統中得以運行。而憑借著對多種網絡協議和服務的支持, Mac OS X 成為了網上沖浪的終極平臺。又由于其對多種磁盤卷格式的支持,并符合各種現有和發展中的標準, Mac OS X 還具備了與其它操作系統的高度協作性。 從功能上看,下面是 Mac OS X 最重要的各個組件: ·Aqua ,用以獲得用戶體驗的人性化界面設計 · 應用程序環境( Carbon 、 Cocoa 、 Java 和 Classic ) · 視窗和圖形系統,由 Quartz 實現(包括對 QuickTime 和 OpenGL 的支持) ·Darwin ,高級的、基于 Unix 技術的操作系統核心 圖 2-1 描述了這些組件間的總體從屬關系。本章的其余部分說明了 Mac OS X 的這些組件以及其它技術所提供的功能。 用戶體驗: Mac OS X 的用戶環境與 Mac OS 的早期版本相似,不過在一些重要方式上仍存在區別。這些區別表現在用戶界面設計、軟件界面本地化構建以及增加應用程序功能的方式等方面。而在導出和訪問其它應用程序服務的機制上, Mac OS X 也有所增強。 當然, Mac OS X 上的用戶體驗受益于由這種操作系統核心所帶來的好處。(參見 “Darwin” )。即使在一個程序崩潰時, Macintosh 計算機也一樣能保持穩定,單個的應用程序或任務不能獨占進程資源;而應用程序可并發執行。 本章節描述了 Mac OS X 給用戶所帶來的操作體驗,以及那些使之能增加效率和令人愉快的功能和應用。 Aqua 在蘋果公司設計 Aqua--Mac OS X 的圖形用戶界面時,設計思想的目標是:創造一種不僅易用,而且比您所見過的任何 Mac OS 更具吸引力的現代操作系統(參見圖 2-2 的屏幕快照)。正如 “aqua” 這個單詞讓我們所聯想到的,水的屬性充斥了 Mac OS X 的清透外表。 Aqua 以它的色彩、深度、清澈、透明和動感給電腦帶來了生命的活力。按鈕看起來象是刨光了的藍寶石,激活的按鈕會呈現出脈動般的閃爍,窗口有著帶有層次感的陰影,最小化窗口還會象魔鬼落入瓶子一樣落入它們的 Dock 圖標中。 Aqua 最引人注目的一個特點就是它的圖標。在早期的操作系統中,圖標的大小受到屏幕的分辨率的限制。隨著現在的顯示大小和分辨率水平的大大提高, Aqua 則擺脫了這種限制。它提供了具有豐富色彩和照片質量的圖標,并可以將圖標尺寸調節到 128x128 像素。 Aqua 圖標也更具表現力,可以實現原位置文件預覽等功能。 通過對屏幕布局規劃的優化管理, Aqua 還改善了用戶體驗。不斷產生的一個又一個窗口往往會打亂屏幕布局,特別是在顯示較深結構的文件系統和多個控制面板時。 Mac OS X 通過將一個應用程序的各個活動項目集中在一個窗口中,解決了窗口大量增生的問題。 這種新的方法的最好的實例就是 Mac OS X 是如何處理一些像打開或打印文檔這類普通程序的。即便您可能同時打開了多個文檔,當操作系統顯示打印或保存文檔的對話框時,您也應該知道哪個對話框是對應哪個文檔的。 Mac OS X 引進了一種新的對話框,叫做漂浮對話框( sheet ),它被附著在文檔窗口上,這使它們的關系更為明確。漂浮對話框從窗口標題欄下方滑出,由于其半透明特性使得它們看起來似乎像是漂浮在文檔窗口上的。漂浮對話框并不是模式化的,因此在漂浮對話框出現時用戶仍然可以繼續進行其它的操作。 一直以來, Mac OS 以其易用性受到了人們的青睞。 Aqua 中結合了很多 Macintosh 用戶在他們的計算機中所期望獲得的用戶界面質量和特性。系統中幾乎每個功能和特性都被賦予了易用性的特點。 Aqua 的許多效果都可由 Quartz (蘋果公司開發的 2D 圖形和視窗技術)來實現。 Finder: 大部分 Aqua 用戶體驗是來自于對桌面和 Finder 的設計, Finder 是一種作為與文件系統實現交互的主要界面的系統應用程序。用戶有可能會注意到這個領域中的兩大創新: Dock 和 Finder 顯示文件系統各元素的方式。 Dock 減少了桌面的零亂。該屏幕區域掌管著所有您想要快速訪問到的東西,如:文件夾、應用程序、文檔、存儲設備、最小化窗口、 QuickTime 影片、網站鏈接。圖標用于標識 Dock 中存放的每一項內容;而這些圖標對它們所代表的項目往往是一種很好的描述。例如,如果您有待讀的新消息, Mail 圖標會告訴您。如果您存放了一張圖片, Dock 則會以預覽圖標的形式將其顯示,這樣不用您打開它就可以知道它是什么了。同時,因為您可以將正在運行的程序最小化到 Dock 中,通過快速瀏覽屏幕下端,您就可以知道當前正在運行哪些程序。要在任務間進行切換,只需點擊您所要啟用的程序或文件圖標,它將成為新的活動任務。如果您不知道一個圖標代表的是什么,可將鼠標移到圖標上,文檔、文件夾或程序的名稱就會顯示出來。 Dock 掌管了您所希望在那里保存的各種東西。當您添加項目時, Dock 會隨之加長,直到達到屏幕的邊緣。一旦到達這個點時, Dock 中的圖標就會自動成比例收縮,以容納下所添加的項目。不過,為了使小圖標更加靈活, Mac OS X 包含了一種名叫放大的功能( magnification ):只需將指針移過圖標,它們就會在您預置的水平上放大。 Mac OS X Finder 具有一個可包括在單個窗口中的簡單導航界面。位于可配置工具欄中的直觀控件可將您快速地帶到電腦中最常使用的地方,如:您的個人目錄 (home) 、您的應用程序、您的文檔、甚至是您經常聯系的人。 Finder 中顯示的項目不僅僅是文件夾、程序和文檔,還包括了其它一般較常用的項目,如:已裝載的網絡卷、外部存儲設備、 CD - ROM 和數碼相機等。 除了 Macintosh 用戶非常熟悉的圖標視圖和列表視圖外,每個 Finder 窗口還都可以被設置為叫作分欄視圖的查看模式。這種模式對瀏覽深層次的文件系統是很理想的;在點擊一個文件夾后,將在其右側的下一個分欄內顯示該文件夾的內容。分欄視圖還可保留您的瀏覽歷史記錄,這樣就可以使您總能找到以前的瀏覽路徑了。 當您雙擊圖標或列表視圖中的 Finder 項目時, Finder 不會默認產生一個新窗口。取而代之的是, Finder 將在單一 Finder 窗口中替換原有的文件夾視圖。(不過您可以更改默認動作。)作為一個關鍵性的設計目標,通過將文件系統集中到一個窗口中顯示, Finder 減少了大量打開窗口的需要。盡管有這個默認動作,系統也不會阻止您根據需要打開多個 Finder 窗口。 在 Mac OS9 中, Finder 利用儲存在文件中的文件類型和創建者代碼來標識文件。 Mac OS X 中 Finder 能夠通過文件的文件擴展名,以及它們的類型和創建者代碼來標識文件。由于許多 Mac OS9 的用戶習慣于那些沒有擴展名的文件, Finder 提供了一種方法,使得通過 Finder 預置屬性可以用來全局隱含文件擴展名,通過顯示信息( Show Info )窗口可以用來逐個隱含文件擴展名。 當您安裝 Mac OS X 開發軟件包時,安裝程序會將開發人員文檔放置在四個位置: ■ 框架: 與框架緊密關聯的信息通常被安裝在框架中的一個本地化子目錄中。這種打包方法可以確保當框架移動或拷貝到另一位置時,文檔可隨之移動。同時它也使擁有本地化的文檔版本成為可能(盡管英文是目前唯一支持的本地化語言)。 ■ 開發應用程序 應用程序支持: Mac OS X 用戶體驗部分是操作系統的不同組件間的無縫交互。從 BSD 到 QuickTime , Mac OS X 包含了各種在歷史上存有很大差異的技術,且基于不同的標準和約定。單一 Mac OS X 系統可以控制不同格式的卷,支持不同的網絡文件共享協議,并可運行基于完全不同 API 的應用程序。 Mac OS X 為用戶和開發人員提供了簡易的過渡方式。 Mac OS X 支持四種應用程序環境,每一種環境都適合一種特定的程序類型: ·Classic 環境可運行大部分的 Mac OS9 程序。因為 Classic 是一種兼容性環境,它不支 持一些 Mac OS X 特性,如 Aqua 或由 Darwin 所提供的增強核心架構。 ·Carbon 環境可運行所有經過 Mac OS X 代碼優化的 Mac OS9 程序。通過將它們的代碼轉換 為使用 Carbon API ,程序開發人員可以確保程序有效地利用 Darwin 的內存保護、搶占 式多任務處理和其它特性。 · Cocoa 環境提供了一個先進的面向對象框架,用來創建最佳的下一代應用程序。 ·Java 環境可運行 100% 純 JAVA 和混合 API Java 應用程序及 Java applet 。 Mac OS X 可以復制(或剪切)幾乎任何數據片,并將之粘貼到在另一個環境中運行的程序上。它還可以在大部分的環境之間拖動 Finder 對象(以及它們所代表的數據)。另外,如當一個存儲在 Mac OS Extended (HFS+) 卷上的文件復制到一個 UFS 卷上時, Mac OS X 還會執行必要的轉換。 Mac OS X 應用程序打包可以使多個可執行應用程序在同一個目錄中并存,而這個目錄對用戶來說就好象是一個可以雙擊的文件。這個目錄里包括了可執行程序所需要的資源(如圖像文件、聲音文件、本地化字符串、插件、私有庫和共享庫)。有了這個方案,您就可以在 Mac OS X 和 Mac OS 9 系統中安裝相同的應用程序包,而用戶可以啟動并使用這個應用程序。因為一個應用程序包包括了所有需要在多個系統上執行的東西,某些高級功能變得很容易就能實現,如在遠程服務器上執行一個應用程序、在互聯網上分發應用程序和簡化安裝、卸載的過程。 多用戶 用戶可在 Mac OS X 系統的個人自定義環境中工作。他們可以選擇特定的桌面樣式、優先語言、自動啟動的應用程序和許多其它功能。無論何時用戶登錄到自己的帳戶上,他們所有的選擇都可以被恢復。 一個用戶的個性化環境有可能成為這樣一種環境。其他用戶可以登錄到同一臺計算機,并在計算機環境中設定完全不同的一套預置屬性。 Mac OS X 確保了一個用戶的數據和程序與其它用戶的數據和程序的安全隔離。每個帳戶都是受密碼保護的,沒有所有者的允許,用戶不能在其他用戶的文件夾中執行程序、編輯或者讀取文檔。系統為每個用戶的文件夾(及其所有內容)提供了一套默認的訪問權限,用戶也可以在以后更改權限,以限制或允許其他用戶的訪問。 比這種單機(本地機) / 多用戶模式功能更強大的是多機 / 多用戶模式 -- 即網絡帳戶, Mac OS X 通過其 NetInfo 網絡管理系統實現了這種可能性。人們可以使用連接到他們的 NetInfo 網絡的任何一個 Mac OS X 系統 -- 可以是一個家庭計算機、一個便攜式計算機或者是在朋友家里的一個系統 -- 來遠程登錄到他們的帳戶。不管用戶最后一次是用的哪臺計算機登錄的,登錄后,都可以在一個與他們最后一次退出時非常相似的環境中工作。同時,如果一個網站管理得當,他們在那臺服務器上的信息就會和在本地維護的數據一樣安全,如果服務器上的文件能定期備份的話,也許會更加安全。 Mac OS X 的預置系統非常靈活,足以支持任何遠程和本地訪問的組合。有了它,用戶和管理員就可以根據每個用戶、每臺機器和每個應用程序的情況來設置多套預置參數。
國際化: Mac OS X 使軟件國際化更為容易。它的做法是:一個單一的二進制程序可以支持多種語言和地方方言的本地化。它還可以讓軟件開發人員為新語言或方言動態添加本地化資源。 Mac OS X 包括了能處理在世界范圍內使用的文字系統的綜合技術。該文字系統提供了 Unicode 編碼標準、輸入法和常的規文字處理服務。在 Mac OS X 系統中,大部分的軟件都是以束的形式來組織的,一個應用程序只有一種類型(參見 “ 應用程序支持 ” )。束是文件系統中的一個隱含目錄,包含一個或更多的可執行程序和這些可執行程序的附帶資源。束最主要的好處在于它們提供了本地化軟件的底層構造。對用戶來說,一個束被顯示成一個可被雙擊或從一個文件夾拖到另一個文件夾的單一文件對象。 本地化資源(如圖像文件、字符串文件)和 Mac OS 9 風格的資源( .rsrc )都可放在束中的子目錄內,這些子目錄的目錄名對應了一種特定的語言或方言(如加拿大法語)。一個恰當構建的 Mac OS X 應用程序(插件或共享庫)不會在這些目錄里面對這些資源文件進行硬連接。而是,當應用程序需要一個資源的時候,它會利用一種特定的系統路徑去獲得能夠最佳匹配用戶所選語言的本地化資源。 訪問輔助: 成千上萬的人有著某種類型的殘障或特殊需要,美國聯邦法規規定政府或教育部門使用的計算機必須能夠讓殘障人士使用。 Mac OS X 包括了為有特殊需要的人士設計的內嵌功能,它也為軟件開發人員提供了能滿足他們在自己的應用程序中獲得訪問輔助的功能。 Mac OS X 具有以下幾種訪問輔助支持: · 縮放功能可以讓用戶放大屏幕上的各個元素。 · 粘滯鍵可以讓用戶順序按下一組合鍵,而不需同時按下,這樣他們就能使用鍵盤快捷 鍵了。 · 鼠標鍵可以讓用戶用數字小鍵盤來替代控制鼠標。 · 全鍵盤操作模式可以讓用戶使用鍵盤來完成所有的動作,而不需使用鼠標。 · 語音識別可以讓用戶通過說話而不是鍵盤輸入來提出指令。 · 文本語音轉化( Text-to-speech )閱讀功能可以幫助那些視覺上有障礙的人士進行文 本閱讀。 除了其內嵌的支持,軟件開發人員還可利用 Carbon 和 Cocoa API 來與其它應用程序進行訪問輔助信息的通信。 Cocoa 控件通過執行 NSAccessibility 協議,可以與系統進行訪問輔助信息的通信,而在 Carbon 中也提供了類似的支持功能。 AppleScript: 在 Mac OS X 中編寫腳本,就像在 Mac OS 9 中一樣,是采用 AppleScript 作為最主要的腳本語言,而以 Apple 事件作為通信模式的。您可以將特定的動作編進您的應用程序里去,這樣它們就可以在接收到 AppleScript 命令時執行相應的動作了。 AppleScript 可支持所有的應用程序環境,也包括 Classic 兼容性環境。用戶可以在不同的環境中編寫將多種應用程序服務鏈接在一起的腳本。 在設計新的應用程序的時候,必須在較早期階段就考慮 AppleScript 的支持問題,并仔細考慮您應用程序的數據結構。對 AppleScript 的支持,要求您以一種有效的方式來設計應用程序的數據結構,以方便人們使用腳本,并更易于讓其它應用程序與您的應用程序進行快捷而有效的通信。 AppleScript Studio 是一個強大的開發工具,它被用于快速創建能夠支持 Aqua 用戶界面的 Mac OS X 本機應用程序。 AppleScript Studio 結合了來自 AppleScript 、 Project Builder 、 Interface Builder 和 Cocoa 應用程序框架的各種特性。有了 AppleScript Studio ,您就可以在一個全功能的開發環境中創建應用程序,并使用 AppleScript 腳本來控制應用程序中的大量 Cocoa 用戶界面對象。 導入的應用程序服務: 同時在 Mac OS X 系統中運行的各程序不必在隔離的狀態下運行。任何一個程序所提供的服務均可以和其它程序共享,任何程序如果對該項服務感興趣,就可以利用它。服務菜單為程序提供了另一種共享資源和功能的方法。 各應用程序不必事先知道被提供了哪些服務。在用戶選擇一個應用程序中的一組數據(如一組文本、一個圖像,或是代表著一個文件夾或文件的圖標)時,用戶可在服務菜單中所列出的應用程序內選擇一個命令,該命令一經選擇便開始執行,以調用第二方程序。 服務程序的工作就好象是用戶從一個應用程序中將數據復制粘貼到另一個應用程序、然后修改數據,再將結果復制并粘貼回原來的應用程序中。例如,用戶可以在 Finder 中選定一個文件夾,然后選擇能將該文件夾壓縮為一個壓縮包格式的服務選項;這項操作的結果將被放回到原文件夾的相同位置。不過服務程序的動作也可以是單向進行的;例如,用戶可以在文字處理文檔中選定一個名字,然后選擇一個能利用 LDAP 服務器查找名字的服務命令,繼而啟動一個電子郵件程序,打開一個新的消息窗口,在收件人一行中輸入所找到的電子郵件地址。 用戶體驗和其它部分: 和 Mac OS 以前的版本一樣, Mac OS X 的用戶體驗在其 CD - ROM 盒子被打開時就開始了。安裝是一項簡單的任務,設置助理可以讓用戶進行快速地啟動、運行,和連接互聯網。如用戶有任何疑問,可以用 Help VIEwer 來查找答案。 Mac OS X 將互聯網集成到日常的計算機使用中。用戶很容易就可以訪問互聯網并可以將喜歡的網站地址收藏保存,用于以后的訪問。作為一個特色, Sherlock 可以用來搜索互聯網或內聯網,以及搜索本地文件系統(包括通過內容索引來進行查找)。另外, Mac OS X 還包括了一個強大而簡單至極的完全基于互聯網標準的電子郵件應用程序。 Darwin: 在迷人、易用的界面下, Mac OS X 有著一個基于 UNIX 的穩固基礎,并具有穩定性、可靠性和性能優越的特點。其基礎是一個核心操作系統,通常人們稱之為 Darwin ,這是一種開放源碼技術,該技術可在 www.apple.com/darwin 找到。 Darwin 集成了大量的技術,最重要的是 Mach 3.0 、基于 4.4BSD ( 伯克利軟件發行 ) 的操作系統服務、高性能網絡工具、和對多種集成文件系統的支持。因為 Darwin 的設計是高度模塊式的,您可以動態添加如設備驅動程序、網絡擴展和新文件系統之類的東西。 要了解關于 Darwin 的詳細資料,請參見 “nside Mac OS X : Kernel Programming (內核編程)和 Inside Mac OS X: I/O Kit Fundamentals ( I/O 工具箱基礎) ” 。這些書在蘋果公司的網站: http://developer.apple.com/techpubs/macosx/Darwin 中可以找到。 Mach: Mach 位于 Darwin 的中心,因為它執行了一個操作系統中大量的最關鍵的功能。 Mach 所提供的大部分功能對于應用程序而言都是透明的。它管理著程序處理資源(如 CPU 的使用和存儲)、處理日程安排、增強內存保護,并對非類型化的進程間通信(本地和遠程)實現了一個以消息為中心的基礎架構。 Mach 給 Macintosh 計算處理增加了很多重要的優勢。 · 內存保護:一個操作系統的穩定性不應該依靠所有的執行程序都扮演著好 “ 公民 ” 的角色。內存保護不允許應用程序在彼此的(或系統的)地址空間內寫入數據,而如果這樣做往往會導致信息的丟失或毀壞,甚至可能使系統突然崩潰。 Mach 保證了一個應用程序不能寫入另一個應用程序或操作系統的內存區域。通過各個應用程序間的彼此隔離以及與系統進程的隔離, Mach 可以使單個存在故障或缺陷的應用程序不至于會傷害到系統的其余部分。當然最好是,如果一個應用程序意外崩潰,也不會影響到系統的其余部分,這樣您就不必為此重新啟動機器了。 · 搶占式多任務處理:在現代操作系統中,多個進程有效地共享了 CPU 。 Mach 監控著計算機的進程、任務優先級,并確保活動水平處于最大值,保證每項任務都能得到其所需要的資源。 Mach 利用某種標準來判斷一項任務的重要性,進而決定在安排另一項任務之前應給該項任務分配多少時間。您的進程并不會依靠另一進程放棄其處理時間,以獲得自己的處理時間。 · 高級虛擬內存:和其它虛擬內存系統一樣, Mach 維護著地址映射,以控制任務的虛擬地址與物理內存地址之間的翻譯。一般來說,存在于一項任務的虛擬地址空間中的存對象的抽象來擴充了這些語義。命名內存對象可以使一項任務(在一個足夠低的水平上)映射一段內存區域。取消對它的映射,就會把它發送給另一項任務。在同一系統內實現彼此分離的執行環境,這是操作系統所提供的基本能力。在 Mac OS X 中,虛擬內存始終是打開著的。 · 實時支持:該項功能保證了時間敏感的媒體應用程序對處理器資源的低延時訪問。 Darwin 還可以實現協同式多任務,以及搶占式和協同式多線程。 BSD: 與 Mach 集成的是 BSD 操作系統(目前是 4.4BSD )的自定義版本。 Darwin 的 BSD 實現包括了 POSIX API 的許多功能,并將其導入到系統的應用層。 BSD 充當了 Mac OS X 的文件系統和網絡工具的基礎。另外,它還提供了幾種編程界面和服務,包括: · 進程模式(進程 ID 、信號,等等) · 基本安全策略,如,用戶 ID 和權限 · 線程支持( POSIX 線程) ·BSD 套接字 設備驅動程序支持: 對于設備驅動程序的開發, Darwin 提供了一種面向對象的框架結構,叫作 I/O Kit (輸入 / 輸出工具箱)。 I/O Kit 不僅簡化了 Mac OS X 驅動程序的編寫過程,而且為這些驅動程序提供了所需要的很多基礎結構。 I/O Kit 是用 C++ 的受限子集中編寫的。這一框架可支持大范圍的設備種類,它是模塊化的,也是可擴展的。 用 I/O Kit 創建的設備驅動程序很容易得到下面幾種重要功能: · 真正的 “ 即插即用 ” · 動態設備管理( “ 熱插拔 ” ) · 電源管理(臺式和便攜式) 網絡擴展: Darwin 為內核開發人員提供了一種在操作系統添加網絡功能的新技術 -- 網絡內核擴展 (Network Kernel Extensions , NKE) 。 NKE 工具允許您創建網絡模塊,甚至是可在內核中動態裝載(或卸載)的完整協議棧。 NKE 還使得自動配置協議棧成為可能。 NKE 模塊具有監控和修改網絡通信的內嵌功能。在數據鏈接和網絡層,它們還可以接收來自設備驅動程序的同步事件通知,如在網絡接口的狀態發生變化時。 文件系統: Darwin 的文件系統組件是在 BSD 和增強型虛擬文件系統( VFS )的基礎上設計擴展而來的。文件系統組件引進了幾種新的綜合功能: · 可移動存儲介質的訪問權限。此功能是基于每個已連接的可移動設備(包括 USB 和 FireWire 設備)注冊在系統中的一個全局唯一的 ID 號。 · 基于 URL 的卷裝載,它可以讓用戶(通過一個 Finder 命令)裝載諸如 AppleShare 和 Web 服務器之類的東西。 · 統一的高速緩存,與虛擬內存的高速緩存所一致。 · 長文件名( 255 個字符或 755 個字節,基于 UTF - 8 )。 · 支持逐個隱藏文件的后綴擴展名。 由于其多元化的應用程序環境和對各種不同設備的支持, Mac OS X 必須能夠在多種標準卷格式下處理文件數據。它所支持的格式如下 所支持的本地卷格式: Mac OS 擴展格式 又叫擴展分層式文件系統( Hierarchical File System Plus ),或 HFS+ 。這是 Mac OS X 中的默認根目錄和引導卷格式。 HFS 的擴展版本通過減少單個文件的最小容積而優化了大型硬盤的存儲能力。它還是 Mac OS 9 的標準卷格式。 Mac OS 標準格式 又叫分層式文件系統( Hierarchical File System ),或 HFS 。這是 Mac OS 8.1 以前的 Mac OS 系統中的卷格式。 HFS ( HFS+ 也一樣)將資源和數據存在一個文件的不同分支中,并使用了包括類型和創建者代碼在內的多種文件屬性。 UFS 一種 ' 平 ' (即,單個分支)的磁盤卷格式,基于與大部分 UNIX 操作系統的標準卷格式相類似的 4.4BSD FFS ( Fast File System 快速文件系統),支持 POSIX 文件系統語義,這對很多服務器應用程序來說都是很重要的。 UDF DVD 卷的通用光盤格式( Universal Disk Format ) ISO9660 CD - ROM 卷的標準格式 HFS 和 HFS+ 卷支持替身( aliases ),而 UFS 卷支持符號鏈接( HFS +和 UFS 都支持硬鏈接)。雖然替身和符號鏈接都是對文件系統中其它位置的一個文件或目錄的輕量級引用 -- 它們在語義上有著顯著的區別。這些描述和其它區別請參見 “ 文件系統 ” 一章。 注: Mac OS X 不支持文件系統設計中的堆棧。 因為 Mac OS X 企圖在異構網絡中實現部署,以將多個完全不同的系統連為一體,所以它也支持多種網絡文件服務器協議。列出了這些協議: 支持網絡文件協議: AFP 客戶端 Apple 文件協議,是 Mac OS 9 系統中主要的文件共享協議(只能在 TCP/IP 上傳輸)。 NFS 客戶端 網絡文件系統,是 UNIX 世界的主導文件共享協議。 WebDAV 基于 Web 的分布式創作和版本控制( Web-based Distributed Authoring and Versioning ),一種 HTTP 擴展,允許在網絡上的協作文件管理。 Samba SMB/CIFS ,一種用于 Windows 和 UNIX 系統的文件共享協議。 一些文件系統功能可擴展為 Mac OS X 的所有可寫卷格式。 Darwin 和開放源碼開發: 蘋果公司是將開放源碼開發作為操作系統發展策略的關鍵部分的首家主要計算機公司。作為開放源碼技術, Darwin 成為了該項策略的關鍵部分。蘋果公司已向開發人員社團發布了幾乎所有 Darwin 組件的源代碼。 Mac OS X 內核環境是 Darwin 的子集。內核環境包括了 Darwin 中除了構成 BSD 命令環境的基本 BSD 庫和命令之外的所有內容。
圖 2-2 Aqua 用戶界面
圖 2-1 Mac OS X 的功能視圖