close

Apple 介紹 Mac OS X 10.6 Snow Leopard


AppleWoods

Mac OS X Snow Leopard

在今天的 WWDC 2009 期間,Apple 揭開了 Mac OS X Snow Leopard 的面紗,這是市面上最先進的作業系統,功能性更強、操作界面更為精緻,且為未來的 Mac 開發提供了絕佳的基礎。Snow Leopard 奠基於十年的 OS X 創新與成功,功能上進行更好的調整、具備新的核心技術,直接支援 Microsoft Exchange 和新的輔助使用功能。Snow Leopard 最棒的是在 2009 年九月,現行 Mac OS X Leopard 使用者將只要以 29 美元的價格即可升級至 Mac OS X Snow Leopard。

new Snow Leopard features
Mac OS X Snow Leopard 是對 Mac OS X Leopard 的大幅改良,讓整台 Mac 更快、更穩定、更容易使用。所有重要的系統應用程式 (包括 Finder、Mail、iCal、iChatSafari) 現在皆是 64 位元,因此其可充分運用您 Mac 中的所有記憶體。Grand Central Dispatch (GCD) 對軟體而言是項革命性的新方式,善用了多核心心心心心心心心心心心心心心心處理器的優勢。OpenCL 這項新科技可說是完全釋放了圖形處理器的威力,讓應用程式的效能更加快速。OpenCLC-based 開放標準,幾乎所有主要的圖形顯示卡製造商都參與其中。QuickTime X 也是奠基於新的核心技術,為使用者提供了新功能、高效能與高畫質。

characters_touchpad.jpgSnow Leopard 提供了一項創新的方式來輸入字元:直接在您 Mac 筆記型電腦的 Multi-Touch 觸控式軌跡板上書寫或繪製即可,在電腦上輸入中文字,對於不熟悉中文輸入法的人來說,大概沒有比這樣更為輕鬆了。

如需更多 Mac OS X 10.6 Snow Leopard 的精彩內容,可造訪www.apple.com/tw/macosx

Mac OS X 10.6 Snow Leopard 在 2009 年九月份,將會作為升級版供使用者取得,現行 Mac OS X 10.5 Leopard 的使用者僅需 29 美元即可升級。Mac OS X Snow Leopard 的硬體系統需求是,電腦必須配備 Intel 處理器。


 

Apple 並行處理框架 Grand Central Dispatch 開放源碼

2009-09-15 08:00 謝良奇/編譯

Grand Central Dispatch (GCD) 可說是 Apple 最新作業系統 Snow Leopard 中最令人驚艷的特色之一,透過它,開發者可以更輕易地撰寫運用多核心電腦的軟體。如今,Apple 宣佈將 GCD 這套強大的並行處理框架 (concurrency framework) 原始碼釋出給開放源碼社群使用。

GCD 的使用者空間 (userspace) 程式庫元件,libdispatch,透過 Apache Software License 授權提供下載。此舉有助於在其他平台運用這項技術。Apple 在核心層級的 GCD 最佳化程式碼也已經作為 XNU 原始碼樹的一部份公開出來。

GCD 針對全系統提供了高效率的執行緒集區 (threadpool),部份的高階程式語言建構則可以為應用軟體開發者簡化並行處理。

對於 Snow Leopard 與 OS X 開發者,GCD 儘管是一大優點,卻無法運用在其他平台上。藉由 GCD API 的開放源碼,Apple 希望如 Linux 等其他作業系統可以採用這套技術,擴大該技術的普及率。

可以作為 GCD 借鏡的,是 Apple 的 Safari 瀏覽器底層技術 WebKit,後來被 Google 採納使用於 Chrome 瀏覽器。WebKit 的成功,讓 Apple 看見開放源碼帶來的好處,該公司可獲益於開放源碼社群不斷的程式碼改進。

儘管 GCD 如今公開釋出,在廣泛採用於其他平台前,仍然存在一些技術與授權上的障礙。例如,高階的 GCD API 使用了由 Apple 開發的 C 語言延伸,blocks。這套技術目前仍然未被上游的 GNU Compiler Collection (GCC) 主線所採納,意味著必須透過 Clang 與 LLVM 才能在 Linux 上使用。雖然似乎有辦法在沒有 blocks 支援上使用 GCD,但其實用程度不高。Apple 這次提供了 blocks 數種實作的原始碼,包括針對 LLVM Clang 編譯器與該公司的 GCC 分支。

Apple 的 blocks 基本上近似於 closures,是可以存取區域變數的匿名函式。這個概念被 Ruby 程式開發者所採納,也可見於若干函數型程式語言 (functional programming languages) 之中。這項語言功能在許多情況下有助簡化程式碼,不僅限於並行處理。

組成 GCD 的三大元件,如今公開給外界使用、改進,其中包括:使用者空間的 libdispatch,其中包含的 API 可以讓開發者呼叫,將程式碼 blocks 排程到佇列中。xnu 是執行 OS X 的核心,在 Apple 尚未購併 NeXT 前,最初是由 NEXTSTEP 所開發。xnu 的意思是 “X is Not Unix”。由於 xnu 包含了來自 FreeBSD 的程式碼,從一開始就是開放源碼。

最後則是 llvm,也就是設計用來最終取代 gcc 的 Low Level Virtual Machine 編譯器技術。儘管技術上並非 GCD 的必要元件,但 llvm 支援了關鍵的 blocks

Apple 的 blocks 實作採用的是 MIT 授權,是一套與 GPL 相容的授權方案,意味在納入上游 GCC 時不會有授權上的障礙。不過,libdispatch 本身採用的是 Apache 授權,該授權與 GPLv2 授權不相容。Apache 授權與 GPL 的相容問題在 GPL 第三版已獲得解決。

如此一來,libdispatch 將無法被 GPLv2 的應用軟體使用。雖然許多 Linux 應用軟體採用 GPLv2 或之後的授權,代表可以使用第 2 或第 3 版的授權,仍有部份應用軟體僅採用 GPLv2 而無法與 Apache 授權的程式碼混合使用。這一點可能在 Linux 開發者之間構成對 GCD 的疑慮。




相關網址:

  1. Apple 將 Grand Central Dispatch 開放源碼
  2. Apple 公開 Grand Central; 阻礙 Linux 採用的挑戰
  3. 這篇是討論在讀取大型圖檔時,如何設計讓使用者可以隨時取消背景的下載動作
  4. 用兩個 queue 分別做DSA跟寫入檔案
  5. 離開view之後,讓queue停止做事
  6. 不錯的GCD tutorial一則
  7. Mac OS X 背後的故事(八)三好學生Chris Lattner的LLVM編譯工具鏈
  8. Mac OS X 背後的故事(九)半導體的豐收
  9. Intro to Grand Central Dispatch, Part I: Basics and Dispatch Queues
  10. Intro to Grand Central Dispatch, Part II: Multi-Core Performance
  11. Intro to Grand Central Dispatch, Part III: Dispatch Sources
  12. Intro to Grand Central Dispatch, Part IV: Odds and Ends
  13. What's New in GCD
  14. GCD Is Not Blocks, Blocks Are Not GCD
  15. Lockless Exclusion Accessor Pattern
  16. Read/Write Lockless Exclusion
  17. dispatch_sync_safe Deprecated
  18. Practical Design Patterns with Blocks and Grand Central Dispatch
  19. Getting Started With GCD in MacRuby & Rubymotion
  20. An Introduction to GCD with MacRuby
  21. GCD (Grand Central Dispatch)
  22. Grand Central Dispatch DesignPatterns
  23. XDispatch
  24. OpenGCD
  25. Mountain Lion libdispatch for Linux

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Bluelove1968 的頭像
    Bluelove1968

    藍色情懷

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()