全面瞭解MAC OS X系統(以 Mac OS 9爲例)


全面瞭解MAC OS X系統-適用開發人員

  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 技術的操作系統核心 

  本章的其餘部分說明了 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 中,虛擬內存始終是打開着的。 




圖形和圖像: 

  Mac OS X 結合了 Quartz 、 QuickTime 和 OpenGL -三種最強大的圖形技術-提升 了 Macintosh 的繪圖能力,這超越了以往在桌面操作系統上所見到的一切。 Mac OS X 的二維圖形和圖像功能都是基於 Quartz - 一種 Apple 技術,它提供了一個視窗服務器、基本的低級服務以及一個使用 PDF (可移植文檔格式)作爲內部模式的圖形渲染庫。集成到這種基礎上 的是一種打印架構和其它圖形庫,如 QuickDraw 和 QuickTime 。 

  Quartz: 
  Quartz 是一種強大的繪圖系統,能產生豐富的圖像模型、高速渲染、抗鋸齒和製作 PostScript 圖形。 Quartz 還 爲 Mac OS X 實現了視窗系統,以及提供了些低級服務,如:事件處理和指針管理。另外, Quartz 也提供了以 PDF 作爲圖形顯示內部模 式的渲染和打印工具。 

  Quartz 繪圖功能和規格 

  位深 : 對一般用戶,最小位深是 16 位。對遊戲和其它多媒體應用程序可在全屏模式下使用 8 位位深。 

  最小分辨率 : 對一般用戶可支持的最小屏幕分辨率爲 800 X600 。對 iBook 及遊戲和其它多媒體應用程序可使用 640X480 的分辨率。 

  抗鋸齒 : 所有的圖形和文字都是可抗鋸齒的。 

  幀緩衝存取 : 包括一個可以讓圖形應用程序(如遊戲)直接存取視頻幀緩衝的機制。 

  Velocity Engine: Quartz 和 QuickDraw 都利用 Velocity Engine 來提升性能。 

  Quartz Extreme: Quartz Extreme 可以與 OpenGL 就整個 Mac OS X 桌面相互影響。現在的圖形調用可以支持視頻硬件,讓 CPU 空閒出來進行其它任務。 

  2D 圖形加速 : 支持二維圖形加速,完善了當前 QuickDraw 中的功能。(目前的加速受系統軟件和 Classic 應用程序的限制;其它應用程序必須在 DRAM 中的後備儲存器內繪製圖形。) 

  ColorSync 色彩管理 : 在屏幕上繪畫數據時,參照 ICC 描述文件或將系統顯示器的描述文件應用爲源色彩空間, Quartz 使用 ColorSync 來管理像素數據。在打印時也可調用 ColorSync 。

  Quartz 有兩個組件: Quartz Compositor ( Quartz 合成器)和 Quartz 2D 。前者主要是系統的 視窗服務器。視窗服務器爲所有的應用環境提供了基本的視窗和事件路由服務。這種高性能的服務器是一種輕量級的服務,它本身並不能渲染,但是它對所有作爲客 戶端的圖形渲染庫提供了最基本的服務,包括 Quartz 2D 和 QuickDraw 。 Quartz Compositor 具備的高級功能有: 設備無關的顏色和像素深度、分層合成,以及爲視窗損壞的自動修復所提供緩存窗口。 Quartz Compositor 還包括了使 用 Quartz Extreme 對圖形硬件加速的透明支持。 

  Quartz 的 Quartz 2D 組件是二維形態的圖形渲染庫。它是用來進行屏幕渲染、生成 PDF 文件、打印預覽和其它服務 的。 Quartz 2D 使用 PDF 作爲向量圖形圖像的內部模式。 PDF 有幾種好處,包括良好的色彩管理、內部壓縮、和字體獨立 性。 Quartz 2D 使用了一種非常靈活和精確的座標系統(因爲它使用浮點座標),這樣就可以容許較高程度的設備獨立性。 

 

Quartz 2D 具有許多特性: 
  · 自動生成 PDF ,並保存爲 PDF 格式 
  · 可與所有的打印機兼容 
  · 自動圖形屏幕預覽 
  · 將 PDF 數據轉換到打印機光柵數據或 PostScript 
  · 高品質屏幕渲染 
  · 通過 ColorSyne 進行色彩管理 


  QuickDraw: 
  Carbon 開發人員會在爲內容渲染的時候使用 Quartz API 。不過 QuickDraw 作爲一種構建、處理和顯示二維圖形、圖片和文本的傳統技術,仍舊可以被繼續使用。 

  QuickDraw 爲程序代碼提供了一種便利的工具,用以通過一個接口將 QuickDraw 圖像指令發送到 Quartz 2D 庫。 此接口可以使 QuickDraw 代碼實現 PDF 生成、 PostScript 生成、文本抗鋸齒和其它由 Quartz 所提供的圖形和圖像功 能。 






  OpenGL: 
  Mac OS X 中包括了 Apple 對 OpenGL 高度優化的實現,它將 OpenGL 作爲了 3D 圖形的系統 API 和 庫。 OpenGL 是一種用於開發可移植 3D 圖形應用程序的行業規範標準。 OpenGL 是當今最爲廣泛採用的圖形 API 標準,通過編寫可移 植的 OpenGL 代碼,可生成非常一致的視覺效果。它是專門爲遊戲、動畫、 CAD/CAM 、醫學成像和其它需要豐富和強壯的 2D 、 3D 可 視化框架的程序而設計的。 OpenGL 的 Mac OS X 版可非常一致地產生高質量和高性能的圖形圖像。 

  OpenGL 提供了一套範圍廣且強大的圖像功能,包括:材質貼圖、隱藏表面去除、 alpha 通道溶合(透明)、抗鋸齒、象素運算、視覺 與模型轉換、大氣效果(霧、煙和朦朧),以及其它的特效。每個 OpenGL 命令都是指示了一個繪圖動作或產生一定特效,開發人員可以創建這些命令的列 表,以便重複使用。雖然 OpenGL 基本上是不依賴於每個操作系統的視窗環境特性的,不過可以通過執行某些特殊的 “ 粘合 ” 例程,以 讓 OpenGL 工作在操作系統的視窗環境中。 


  QuickTime: 
  QuickTime 的最新版本被打包在 Mac OS X 中。 QuickTime 是一個強大的用於處理、增強和存儲視頻、音頻、動 畫、圖形、文本、音樂,甚至是 360 度虛擬現實的多媒體技術。它還允許您製作數字視頻流,數據流可以被實況廣播或錄製存儲。 QuickTime 是 跨平臺的技術;除了 Mac OS X ,它還可以 在 Mac OS 9 、 Windows95 、 Windows98 、 Windows NT 和 Windows2000 中運行。 

  QuickTime 支持圖像的所有主要文件格式,包括 PICT 、 BMP 、 GIF 、 JPEG 、 TIFF 和 PNG 。它 還支持視頻的所有重要專業文件格式,包 括 AVI 、 AVR 、 DV 、 M - JPEG 、 MPEG - 1 、 MPEG - 2 、 MPEG - 4 、 AAC 和 OpenDML 。 對於 Web 流媒體,它可以支持 HTTP ,以及 RTP 和 RTSP 協議。 

  QuickTime 流媒體允許用戶使用行業標準協議 RTP (實時傳輸協議)和 RTSP (實時流協議)來觀看直播和點播的視頻影片。 用戶可以觀看到實況廣播的視頻流或以前錄製的視頻影片,也可以是兩者的混合。廣播可以是一對一的單播( unicast ),也可以是一對多的多點廣 播 (multicast) 。 

  通過 QuickTime 插件, QuickTime 的數字視頻流功能可擴展到所有流行的 Web 瀏覽器,包 括 Internet Explorer 、 Netscape Navigator 和美國在線瀏覽器。插件支持超過三十種不同的媒體文件格式,可以觀 看 80% 以上的所有互聯網媒體文件。 QuickTime 的 Web 流媒體功能還包括一個快速啓動功能,可以在下載後立即顯示視頻影片的第一幀, 並自動開始播放視頻影片。它還具有一些其他的高級功能特點,如:影片 “ 熱點 ” 和自動啓動網頁等。 

 

打印: 
  Mac OS X 的打印系統是基於和 Mac OS 以往版本完全不同的架構上的。它可用於所有的應用程序環境中。在根 據 Quartz 的功能指令來繪圖時,打印系統會發出一個風格一致的人機界面,這樣就可以讓打印機廠商在一個較短的週期內完成開發。它允許應用程序 在 “ 虛擬頁面 ” 中進行繪圖,並在打印時把這些頁面映射到物理頁面上,以斷開繪圖頁面和打印頁面之間的連接。打印系統還爲應用程序提供了在打印對話 框中高度控制用戶界面元素的功能。 

  Mac OS X 打印系統的功能 
  打印中心 : 提供了一個用於查找打印機、提交作業和管理隊列的單一界面。 
  本機 PDF: 支持 PDF 作爲本機數據類型。任何應用程序(除了 Classic 應用程序)都很容易將文本和圖形數據保存到相應的設備無關 PDF 中去。打印系統在標準的打印設置對話框中提供了這一功能。 

  PostScript 打印 : 可以打印到 PostScript1 級、 2 級和 3 級兼容打印機,除了在 Classic 環境中。 

  光柵打印機 : 可以在所有環境中打印到光柵打印機,除了在 Classic 環境中。 





  打印預覽 : 在所有環境中提供了打印預覽功能,除了在 Classic 環境中。打印系統可通過裝載一個 PDF 查看程序來實現這一功能。這種預覽是通過 ColorSync 來進行色彩管理的。 

  脫機處理打印 : 可實現高速脫機處理打印作業。 

  CUPS: 支持通用 UNIX 打印系統架構。 CUPS 是基於 UNIX 系統的標準打印解決方案。 

  Apple 字體解決方案 : 
  Apple 字體解決方案( Apple Type Solution , ATS )是系統範圍對字體進行管理、佈局和渲染的引擎。有 了 ATS ,用戶就可以擁有單一的一組字體,它們被分佈在文件系統的不同部分,甚至是在網絡上。 ATS 使所有的客戶機獲得相同的字體設置。通過統一 合併一些高成本的操作,如合併字體數據和渲染字形,就能使整個系統的性能受益於字體渲染和佈局的集中化。 ATS 可支持很多不同的字體格式,包 括 TrueType 、 PostScript Type1 和 PostScript OpenType 。 

  應用程序技術: 
  Mac OS X 包括了幾種可用於擴展應用程序機能的技術。 

  應用程序擴展性: 
  插件是開發人員和用戶可以用來動態添加到一個應用程序上,以增加其功能的代碼和資源模塊。主應用程序構建了它的代碼結構,以使外掛插件可以在 一個經過良好定義的區域內提供功能。主程序不必瞭解插件所實現的詳細功能。當應用程序啓動時,它將使用插件架構所提供的機制來找到插件並進行裝載。一個程 序可以讓用戶在運行時隨時添加插件,同時它還給用戶提供了卸載這些插件的方法。 

  插件給開發人員和用戶帶來了很多好處。用戶可以自定義應用程序的功能特性以滿足他們的要求,如果有了新增或升級的功能(由一個新的或是替換插件打包而成),用戶可以將這些功能 “ 插進 ” 應用程序中。 

  通過採用 Mac OS X 插件模式,開發人員獲得一種簡單、標準的插件架構,而不再需要自定義架構。插件可以帶來一種逐漸增加而又有效的 功能實現,可以在不需要改變源代碼的基礎上創建一個應用程序的自定義版本。因爲是獨立的模塊,插件可以幫助開發人員隔離和修正軟件中的 BUG 。它們還 可以讓第三方開發人員在不與原開發人員打交道的情況下,就實現程序的增值。 

  注意: 
  開發人員在決定如何編寫程序來支持插件時應特別小心。儘管插件有着各種好處,裝載大量的插件會引起重大的性能故障。如果一個程序過於依靠插件,那麼它的外觀對用戶來說可能會非常笨拙。

 


磁盤記錄: 
  Mac OS X 10.2 引進了一種可爲程序提供對 CD 和 DVD 進行刻錄和擦除操作的新型框架。磁盤記錄框架是爲滿足普通應用程 序的簡單需求而創建的,使在任何一個應用程序中添加基本的音頻和數據刻錄功能都變得非常容易。同時,這種框架還非常靈活,可以支持專 業 CD 和 DVD 主控程序。 

  磁盤記錄框架( DiscRecording.framework )可最小化您的應用程序所必須執行的作業的數量。您的應用程序負責指定所 需刻錄的內容。一旦您的應用程序指定了內容,該框架就會接管緩衝數據的進程、生成正確的文件格式信息,並將所有信息發送給刻錄機。另外,磁盤記錄用戶界面 框架(DiscRecordingUI.framework )還提供了一套完整而標準的用來收集用戶信息和顯示刻錄進程的窗口。 

  磁盤記錄框架支持用 Carbon 和 Cocoa 創建的應用程序。磁盤記錄用戶界面框架目前僅爲 Cocoa 應用程序提供用戶界面元素。 

  聯繫信息數據庫: 
  Mac OS X 10.2 引進了一種用來共享有關聯繫人信息和羣組信息的集中數據庫。數據庫包括用戶姓名、街道地址、電子郵件地址、電話號碼和分類列表在內的各種信息。應用程序可以使用這些數據,或者將其擴展到應用程序的特定信息內。

  地址薄框架提供了一個取得用戶記錄和創建新記錄的方法。支持這種框架的程序可以與其它程序共享聯繫信息。 API 還給當前的用戶提供了一 個 “Me” 記錄的概念。這一記錄包括了當前登錄用戶的信息,它可以被 Web 瀏覽器等程序用來將相應數據自動填寫到 Web 表單內。 

   


  網絡和互聯網: 
  Mac OS X 是在互聯世界進行計算的領先平臺之一。它支持業界主要的介質類型、協議和服務,以及來自蘋果公司的不凡和創新服務。 

  Mac OS X 網絡協議棧是基於 BSD 基礎上的。這個由網絡核心擴展( Network Kernel Extensions )所提供的可擴展架構可以使創建新模塊變得非常容易,新建模塊可以實現在該協議棧中添加新協議或現有協議。 

  介質類型: 
  Mac OS X 支持的網絡介質類型 
  以太網 10/100Base-T: 每個新 Macintosh 都內置以太網端口。 
  以太網 1000Base-T: 又叫高速以太網。用於在光纜和標準化銅質電纜上傳輸數據。 
  超長幀 Jumbo Frame: 這種以太網格式是一種用 9KB 的幀而不是標準的 1.5KB 的幀進行服務器間鏈接的技術。超長幀減少了網絡開銷,同時又增加了服務器到服務器以及服務器到應用程序間的數據流量。 
  串行 : 支持調制解調器、 DSL 和 ISDN 。 
  無線 : 請參見 “AirPort” 

 

標準協議: 
  Mac OS X 支持很多計算機業界的標準協議: 
  TCP/IP 和 UDP/IP : Mac OS X 提供了兩種傳輸層協議, TCP (傳輸控制協議)和 IDP (用戶數據包協 議),用來與網絡層互聯網絡協議( IP )一起工作。( Mac OS X10.2 和後來的版本包括了對 Ipv6 和 IPSec 的支持。) 

  PPP : 用於撥號(調制解調器)訪問, Mac OS X 包括 PPP (點對點協議)。 PPP 支持 TCP/IP 及 PAP 、 CHAP 等認證協議。 

  PAP : 打印機訪問協議用於脫機打印作業和打印到網絡打印機。 
  HTTP : 超文本傳輸協議是在網絡服務器和瀏覽器之間傳輸網頁的標準協議。 
  FTP : 文件傳輸協議( BSD 的一部分)是在 TCP/IP 網絡上的電腦間進行文件傳輸的標準方式 
  DNS : 域名服務是將主機名映射到 IP 地址上的標準互聯網服務。 
  SLP: 服務定位協議是用於在 IP 網絡中自動偵測資源(打印機、服務器、傳真機等)的協議。 
  DHCP 和 BOOTP: 動態主機配置協議和 Bootstrap 協議可在一個特定的網絡中自動分配 IP 地址。 
  LDAP: 輕量級目錄訪問協議可以讓用戶定位組織、個人和資源(如一個網絡中的文件和設備),而無論是在互聯網上還是企業內部網絡中。 
  NTP: 網絡時間協議可以用來同步客戶端時鐘。 
  SOAP: 簡單對象訪問協議是一種在 Web 或其它網絡上交換封包消息的輕量級協議。 
  XML-RPC: XML-RPC 是一種利用 Web 上的 XML 來發送遠程程序調用的協議。 

  Apple 還實現了很多文件共享協議 

  傳統的網絡服務和協議: 
  Apple 在 Mac OS X 系統中包括下列傳統網絡產品,以緩和來自 Mac OS 以前版本的過度。 
  ·AppleTalk 是一套基於 Macintosh 標準的網絡協議,可以與其它網絡系統(如互聯網)相結合。 Mac OS X 包括了對傳統 AppleTalk 環境和解決方案的最低兼容性支持。 

  ·Open Transport 作爲輸入 / 輸出系統的一部分,實現了工業標準的通信和網絡協議。它有助於開發人員在他們的應用程序中整合網絡服務,而不必擔心針對任何具體網絡的通信細節。 
  現有的應用程序可繼續使用這些技術。不過,如果您正在開發新的程序,您應該使用由 Cocoa 和 Carbon 提供的最新網絡技術。 

 


Rendezvous: 
  Mac OS X10.2 和以後的版本都包括了對 Rendezvous 的支持,這是一種由 Apple 所實現的零配置網 絡。 Rendezvous 使動態偵測文件服務器和打印機變得非常簡單,以及實現了真正的 “ 即插即用 ” 。使用 Rendezvous ,計算機 就可以在以太網或 Airport 連接上創建這種零配置網絡了。 
  Rendezvous 可實現無需相關硬件的複雜配置而在 TCP/IP 網絡上動態偵測計算機服務的功能。 Rendezvous 可在普通網絡中自動配置計算機或電子設備,以將它們連接起來。這時,每個設備都可以通過廣播向網上的其它設備提供服務。 





  路由和多重連接: 
  Mac OS X 是一種強大、易用的桌面操作系統,同時也可以作爲強大的服務器解決方案的基礎。一些企業或組織擁有小型網絡,它們受益於路 由器的服務。 Mac OS X 爲這種情況提供了 IP 路由支持。有了 IP 路由,一臺 Mac OS X 機器就可能充當一個路由器,甚至可作爲 互聯網的網關。路由信息協議( RIP )就是用來實現這項功能的。 

  Mac OS X 還允許多重連接( multihoming )和 IP 別名。有了多重連接,一臺主機就可以在同一或不同網絡中物理連接 到多個數據鏈路。 IP 別名可以讓網絡管理員給單個網絡接口指定多個 IP 地址。這樣一臺運行 Mac OS X 的計算機就可以給多個網站提供服 務,就好像是有多臺服務器一樣。 

  個人文件服務和 Web 服務: 
  個人 Web 共享,同時也是 Mac OS 9 的一個特色功能,它允許用戶在內部網絡中與其他用戶共享信息,而無論他們的計算機是什麼類 型或所使用的是什麼瀏覽器。最基本地,它讓用戶能夠設置自己的內部網站。 Apache -互聯網上最流行的網絡服務器,作爲系統的 HTTP 服務被集 成到操作系統中。運行個人 Web 共享服務器的主機必須連接到 TCP/IP 網絡。 

  高級硬件特性: 
  Mac OS X 爲目前普遍使用的大部分基於標準的硬盤和附加設備提供了驅動程序。例如,它給 IDE 和 SCSI 磁盤驅動器提供了支 持和驅動程序,並支持大量的 Apple 顯示器。 Mac OS X 還包括了一些其他特性,如:針對臺式和便攜式系統的電源管理。 

  本章節的剩餘部分討論了 Mac OS X 的一些高級硬件特性。要了解本書中與硬件有關的信息,請參見 “ 介質類型 ” 、 “ 文件系統 ” 和 “ 網絡擴展 ” 。要了解硬件支持的詳細資料,請參見 “Mac OS X” 所附帶的安裝指南。 

  USB: 
  USB (通用串行總線)是在計算機和附加設備(如音頻播放器、操縱桿、鍵盤、電話、掃描儀和打印機)之間進行連接的高速即插即用接口。它支 持每秒 12 兆位的數據速率。 USB 允許用戶在自己的計算機添加新設備,而不必安裝適配卡,也不必在安裝時關機。 Mac OS X 包括了用來驅 動下列類型設備的 USB 驅動程序。 

  · 輸入設備( HID 類) 
  · 打印機 
  · 調制解調器和其它通信設備 
  · 大容量存儲設備(如 Zip 和 Jaz 驅動器及外置硬盤) 
  · 成像設備 
  · 顯示設備 
  · 音頻設備 

 


火線( FireWire ) : 

  FireWire 是 Apple 採用 IEEE1394 標準(高性能串行總線)來連接外圍設備的一種技術實現。它允許在單條連續接插的 串行鏈接上,同時接入多達 63 個設備。因爲可支持高達每秒 400 兆位的傳輸速率,所以 FireWire 對數字相機、 DVD 、數字錄影帶、 數字攝像機和音樂合成器之類的設備來說是很理想的。有了 FireWire ,用戶可以不需要終端設備或進行復雜的設置就能以不同的方式把設備鏈接在一 起。而且不需要重新啓動系統就可以插入和使用設備。因爲 IEEE1394 標準是一個點對點接口,您可以將一臺帶 FireWire 接口的設備與另一 臺設備相連,並同時使用這兩臺設備,而不需要將其中任何一臺設備連接到計算機上;例如,一臺數字攝像機可以在另一臺上進行配音。 

  搜索引擎 (Velocity Engine) : 
  支持 Velocity Engine 是 Mac OS X 的另一個重要特性。 Velocity Engine 提升了應用程序並行處 理數據的性能,如執行 3D 圖形成像、圖像處理、視頻處理、音頻壓縮和基於軟件的移動電話 等。 Quartz 、 QuickTime 和 QuickDraw 目前都已整合了 Velocity Engine 的功能;這樣,任何使用這 些 API 的程序都可不經任何修改,就享受到 Velocity Engine 所帶來的性能提升。另外,由於 Mac OS X SDK 中包含了一 個帶有 Velocity Engine 支持的 C/C++ 編譯器,所以您還可以充分利用 Velocity Engine 來創建新應用程序。 

  AirPort: 
  AirPort 是 Apple 的無線網絡技術,可實現在本地局域網的多臺計算機間,以及在該局域網與互聯網間進行快速可靠的通信。有 了 AirPort ,幾個用戶可以同時在線,同時在網上衝浪、接收電子郵件、玩遊戲和交換文件,而全部用戶訪問只需要通過一個互聯網服務帳 戶。 AirPort 還可以通過無線方式,將文件從您的計算機傳輸到 150 英尺 外的另一臺裝 配 AirPort 的 iBook 、 iMac 、 PowerBook 或 Power Mac G4 上。 
  AirPort 的無線數據傳輸速率爲每秒 11 兆位,每個基站可同時服務於多達 10 個用戶。由於 AirPort 是基 於 IEEE802.11 直接序列擴頻( DSSS )全球工業標準上的,所以它可以與其它 802.11 設備實現互相連通。此 外, AirPort 使用無線電信號,所以它可以穿透固體進行通信。 

  視頻功能: 
  Mac OS X 中的 Quartz Compositor 包括了一種叫 Quartz Extreme 的硬件加速層。這個透明層使用 基於 OpenGL 的視頻硬件,來支持視頻、 2D 和 3D 圖形的渲染。這種加速支持是自動運行的,不需要任何特殊代碼。 

  Mac OS X 還支持 “ 熱插拔 ” 顯示器的能力,也就是說,在需要更換顯示器時,可以不必先關掉主機。這種特性爲用戶在設置和使用 計算機時提供了更大的靈活性。但是,那些依賴於當前視頻設置的應用程序需要知道:這些設置現在可以在運行時被更改。核心圖形框架 ( CoreGraphics.framework )定義了允許程序在視頻設置發生改變時註冊通知的 API 。 






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章