全面了解MAC OS X系統-適用開發人員(2)
圖形和圖像: 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 。
