星期四, 7月 19, 2007

Intel Mac 多重開機 - OS X + WinXP + Linux

Triple Boot via BootCamp - OnMac.net Wiki

http://wiki.onmac.net/index.php/Triple_Boot_via_BootCamp

在 Apple 發表 Boot Camp 之後,已經有不少人成功的在 Intel Mac 上安裝 Windows XP 了,現在有位老兄,試出了三重(不是台北縣那個)開機,可以在上面安裝 Linux(作者用 gentoo 2006.0)了。不過有點要特別注意,他的方法會清掉硬碟當中的內容,因此要事先做好備份。


以下是準備材料:

* 一部 Intel Mac http://store.apple.com/
* OSX 安裝 DVD(s)
* 一張非升級的 Windows XP CD with SP2 slipstreamed
* 一張 x86 Linux Live CD/DVD(作者使用 gentoo 2006.0 Live CD)http://www.gentoo.org/
* 更新 Intel Mac 的 firmware(2006 早期機種才要)ttp://www.apple.com/support/downloads
* Apple BootCamp http://www.apple.com/macosx/bootcamp/
* OSX 10.4.6 combo update http://www.apple.com/support/downloads/macosx1046comboforintel.html


A quick note on disk partitioning

有點要注意,Intel Mac 採用新式的 GPT (GUID (globally unique identifier) Partition Table)系統來分割硬碟,只支援 OS X 與 Linux,Windows 則還在用 MBR。 Boot Camp 為了遷就這種情況,因此二種系統兼用,這也讓三重開機有點難度。目前只有 diskutil(包含在 OS X 10.4.6 當中)有辦法切出同時包含 GPT/MBR 的硬碟。目前 GPT 會把 MBR 的資料洗掉,因此fdisk/partion magic 之類的軟體都沒有辦法編輯 GPT。因此,目前只能用 diskutil 來切割硬碟。不過,更糟的是MBR 只支援 4 個 primary partitions,而且 GPT 不支援 extended partitions,結合這些限制,表示多重開機的系統只能夠有 4 個 primary partitions 可用,另外 Mac 的 bootloader 霸佔掉第一個 primary partition,因此只能在上面裝上其他三種不同的作業系統。
所以 linux swap partition 不能夠存在,因此必須透過 swapfile 來解決。還有,因為某些原因, Boot Camp 會把 Windows 的 "C:" 當作最後一個磁碟,因此如果不是安裝 Windows 的話,會在安裝完畢,第一次重開機時出現:"cannot find hall.dll"(地獄?)的錯誤訊息。另外,最好聽 Apple 的忠告,把分割 format 成 FAT32,NTFS 只會吃到閉門羹。然而,你要用 FAT32 時,必須注意,硬碟分割的大小不能大於 32GB。


The science of chainloading

作者是利用 "連鎖載入" 的方式從 Windows Xp (ntldr) bootloader 載入 Linux 的 lilo bootloader,達成連鎖開機的目的(Boot Camp 似乎只認得 ntldr ),因此 grub 很抱歉,不能用,因為他的 stage 1.5 code 會寫入與 GPT 相同的地方,因此 Intel Mac 會不允許這麼做。作者也表示,可能可以用 efi/elilo 來啟動,有人成功的話,別忘了告訴作者。


Procedure

1) 如同一般狀況安裝 OS X 到單一一個分割上,為了節省時間,只裝 base system
2) 開機進入 OS X,安裝 10.4.6 combo update
3) 安裝 firmware update,然後再安裝 Boot Camp
4) 執行 Boot Cam 精靈然後建立 XP driver CD,然後離開 Boot Camp。
*千萬不要用 Boot Camp 分割硬碟* 當然你可以直接察看 package 當 中的內容,找出 driver,然後用 disk utility 來燒成 CD,它位於 contents/resources/diskimage.dmg

5) 開啟終端機視窗輸入下列指令來重新分割硬碟。在 100 GB 的硬碟上作者切了 60GB 給 OS X,17GB 給 Linux,15GB 給 Windows。你可以 改變分割硬碟的大小,但是分割的次序 *不要改變* (所有指令均在 同一行)

sudo diskutil resizeVolume disk0s2 60G Linux 17G "MS-DOS FAT32" 15G

6) 插入 WinXP CD 重開機,如果聽到 "噹" 一聲,按下 c 鍵。
7) Windows 安裝程式將會開始。當初現硬碟分割畫面選擇 C: 槽。將它 "快速分割" 成 FAT32。然後按照一般方式安裝,重開機。

8) 在第一次重開機時,按住 option/alt 鍵,並從 bootloader 當中選 擇 Windows 的硬碟,以便繼續安裝 XP。你將重複這個步驟,直到 XP 完成安裝。

9) 最後安裝 Apple 所給的驅動程式,讓 XP 認得硬體。

A. OK 現在你有雙重開機的 Intel Mac 了,不過步驟尚未結束。

B. 插入 Linux 的 Live CD 然後重開機,如果聽到 "噹" 一聲,按下 c 鍵,從 Linux 開機。

C. 輸入下面指令設定 root 密碼。

sudo passwd root

D. su 成 root,然後 format Linux 的分割,它應該在 /dev/sda3,不 過請仔細檢查!

su mke2fs -j /dev/sda3

E. mount 上你建立的 ext3 分割,然後建立 swapfile。下面的例子建了 2GB 的 swapfile,當然,大小自便。

mkdir /mnt/linux && mount -t ext3 /dev/sda3 /mnt/linux
dd if=/dev/zero of=/mnt/linux/swap bs=1024 count=2097152
mkswap /mnt/linux/swap
swapon /mnt/linux/swap

F. 在這裡,你必須要 bootstrap(安裝;generally considered a longer term for booting, or the process of starting up any computer... http://en.wikipedia.org/wiki/Bootstrap)你最喜歡 的套件,依照不同的情況,你可能需要編譯你自己的 kernel。

G. 現在我們要設定 lilo bootloader 以便讓我們可以開機進入 Linux,請依照你套件安裝 lilo 的方式安裝 lilo。

H. 建立如下的 /etc/lilo.conf

# Global LILO settings
boot=/dev/sda3
prompt
timeout=50
default=Linux
# Kernel specific LILO settings
image=/boot/
label= Linux
read-only
root=/dev/sda3

I. 然後將 lilo 安裝到你的 Linux 分割的分割記錄當中。

/sbin/lilo

J. 現在你必須要將 Windows 的分割給 mount 上,並在 ntldr 的設定檔 boot.ini 當中建立連鎖載入的設定。

mkdir /mnt/windows && mount -t vfat /dev/sda4 /mnt/windows

cd /mnt/windows
dd if=/dev/sda3 of=linux.mbr bs=512 count=1
cat 'C:\linux.mbr="XYZ Linux"' >> /mnt/windows/boot.ini
cd && umount /mnt/windows

K. 現在重新開機。如果每件事情運作 OK,那麼當你按下 option/alt 鍵時你將可以看見 OS X 與 Windows 的開機選項,如果要開啟 Linux,你必須先選擇 Windows 然後從 ntldr 當中選擇 Linux 開機。


* 使用者發現 Boot Camp 的問題
* Apple 推出軟體 可讓 Intel-Mac 裝 XP
* Apple 開始更新 MacBook Pro

軟體是否能趕上多核心運算?

Where's The Software To Catch Up To Multicore Computing?

http://www.informationweek.com/news/showArticle.jhtml?articleID=197001130

IBM 次世代系統軟體的首席工程師,對於我們能將那些需要利用超級電腦等級機器優勢的軟體推進多遠表示質疑。

By Catherine Crawford / EE Times / Jan, 29, 2007

就目前在處理器與系統上可利用的(available)每秒浮點運算次數而言,Moore 定律尚未達到它的極限。但就大部分軟體 -- 甚至是先進科技運算軟體 -- 的合用(usable)性能而言,或許已經達到這樣的極限了。

一瞥 Top500 Supercomputer Sites List (www.top500.org) 上的清單,證實大部分科技運算的工作量,已經轉一到日常的 Linux 叢集:包括日常使用的 server、網路以及儲存設備。在此同時,新穎的多核處理器架構,例如:Cell Broadband Engine (Cell BE),證明大量運算的潛能(數百 gigaflops)已經屬於入門等級的 server 了,如:2-4 核處理器。

由於有如此多的運算能力可以就近取用 -- 不管是在 SoC 或是日常使用的叢集上 -- 世界各地,各種規模的公司與業界且甚或是個人,或許都能夠取用這樣的能力來解決比以前更多的問題。這裡只有一個問題:軟體是否能夠利用這些處理器、核心與執行緒所有的優勢呢?就大部分而言,它仍尚未達到 -- 即便是從歷史觀點上所聚焦的那些尖端技術設備,例如:科技運算。事實上,IDC 的 Earl Joseph 在一個科技運算軟體的研究當中下結論表示:"今日許多 ISV(獨立軟體供應商)的程式碼,其規模(scale)只能達到 32 顆處理器,而且某些在業界當中最重要的,竟無法多於 4 顆處理器。"(www.hpcwire.com/hpc/430360.html)

他的研究甚至發現,當有一個供應商已經有策略要將其程式碼平行化或是提升其規模,其重新架構與重新編程的成本相對而言,較所意識到的市場利益來的更高。


進入 Roadrunner(走鵑,迪士尼卡通中那隻跑的飛快的鳥)

Roadrunner 將會是世界上第一部基於 Cell BE 的超級電腦。當它於 2008 開始在 LANL 啟用時,其效能峰值回答到 1.6 petaflops,或每秒運算 1600 兆次。(譯註:目前的記錄是 0.367 pflops)

Roadrunner 首次提供了混合運算架構:多重異質核心,再加上多層式(multitier)記憶體階層(hierarchy)。它也是完全由日常零件所構成:基於 AMD Opteron 的 server,基於 Cell BE 的加速裝置,還有 Infiniband 互連技術。在標準程序中(例如:檔案系統 I/O)將會由 Opteron 處理器所處理,而許多數學上以及 CPU加強的(intensive)元素將會被導向 Cell BE 處理器。

為了讓此一複雜的架構,甚至連最先進的科學模擬應用軟體開發者都覺得有用,在系統開發中的許多工作,都是屬於能賦予並協調應用架構與開發(tooling)的程式方法論上。

這些能加以運用的 API 都相當簡單並且可延伸,並且被設計成能夠利用不同種類的記憶體與 I/O 子系統,同時保持其改變是位於實作之下,以便讓開發者無從察覺。此計畫的焦點是聚焦在不同拓撲的一組核心、有效率的散播(scatter)/回收記憶體的操作之上,而且當使用者涉及到運算與通訊等重疊領域時,這些東西都是被隱藏起來的。

其哲學是所謂的 "勞力分配" 方法。這裡將會有一組計算機核心開發者持續將微處理器 ISA 的效能發揮到最大;事實上,這樣的核心早已存在(矩陣相乘是個好例子)。函式庫開發者將會使用一個替 Roadrunner 開發,用來將核心同步化至微核心、記憶體階層函式庫中的那種架構。應用程式開發者將使用標準的編譯器以及連結器技術連結這些函式庫。前後一致的 API 以及橫跨一些微核心架構的方法論,將無須引介新的程式語言,將會限制住程式維護的成本。因此,函式庫開發者所獲得的易用性改進,將不只是在這套加速系統上,還可及於一般用途的多核心途徑(approache)與叢集。

Roadrunner 不只是國家實驗室超級電腦的一個單一客製化計畫;它呈現出一種新的架構。我們正邀請業界夥伴來定義程式方法論的元件(API、工具等),以便讓多核心系統也將能夠被這些夥伴所存取。在這種方式之下,主要的科學性發展將不在限於大學或是主要研究實驗室。業界像這樣致力於此的利益可以 "涓滴遍佈(trickle down)" 到我們日常生活當中各方面上。

潛在的應用包括:

* 金融服務。藉由即時運算資本市場當中的因果關係,超級電腦可以即時的預測一個股票市場的改變對整個市場所產生的漣漪效應。

* 數位動畫。大量的超級運算能力將讓電影製作者創造逼真的角色與劇本,這將模糊電影動畫與真實角色之間的界線。

* 基於資訊的醫學。複雜的 3D 組織、骨架描繪將會即時呈現,而用於腫瘤偵測的線上分析(in-line analytics),也能用將來病患即時與歷史資料進行比對。綜合病患的即時資料可以用來產生預警。

* 油料與天然氣的生產。超級電腦可以繪出地底圖形,模擬貯藏處並分析由科學家從田野調查中所取得的視覺資料。

* 奈米技術。超級運算預期能提升裝置建構的科學,例如:單一原子或分子的電路。

* 蛋白質折疊。超級運算能力可以讓我們了解疾病如何發生,如何測試它們,以及療法該如何開發。

當架構變得更加複雜,從多核心處理器到像 Roadrunner 那樣的混合系統時;當超級運算能更容易取得時;還有當開發者仍試在圖尋找能讓他們的軟體更有效能,而不用依賴更勝以往的 "頻率暴衝(超頻)" 比率時,我們正聚焦在保持應用程式開發的簡單 -- 致力於將工程藝術納入架構中,而非應用程式開發本身。而且藉由回歸至簡單做事情的基礎上,我們讓軟體能夠跟上『矽』的優勢,讓桌上型的 teraflops 不在只是一種科技成就,而是更有 用的一種東西。

監看處理序 CPU 使用量


監看處理序 CPU 使用量

您可以使用 Process Explorer utility from Sysinternals (英文) 來查看 Windows 標準時鐘型時間計量的不準確性。在 Windows Vista 系統上,請執行 Process Explorer 並將 [循環差異 (Cycles Delta)] 欄位新增至處理序檢視中。[循環差異 (Cycles Delta)] 顯示每一個處理序的執行緒在兩次 Process Explorer 更新之間執行的循環次數。因為 CPU 時間計量仍然是以間隔計時器為基礎,如果您同時新增 [CPU 時間] 欄位,則會看到許多處理序的執行緒耗用數百萬次 CPU 循環,卻仍然未更新其 CPU 時間,且未在 CPU 使用量欄位中顯示出來。

圖 A 在 Process Explorer 中檢視 CPU 時間和循環差異
圖 A 在 Process Explorer 中檢視 CPU 時間和循環差異 (Click the image for a larger view)


監看 MMCSS 優先順序增加

您可以播放一段視訊或音訊、執行效能監視器、將圖形比例設定為 31 (最高 Windows 執行緒優先順序),並將 Windows Media Player (Wmplayer.exe) 執行緒物件的所有例項的 Priority Current 計數器新增至顯示畫面上,來目睹 MMCSS 服務套用至 Windows Media Player 執行緒的執行緒增加情形。一個或多個執行緒會以優先順序 21 執行。

圖 B Windows Media Player 的執行緒優先順序增加情形
圖 B Windows Media Player 的執行緒優先順序增加情形 (Click the image for a larger view)


查看非常低 I/O 優先順序

Process Monitor 是來自 Sysinternals 的一個即時檔案系統及 Registry 監視公用程式,它收集檔案系統讀寫作業的詳細資訊,包括它們在 Windows Vista 上的 I/O 優先順序。反白行顯示由 SuperFetch 發出的非常低優先順序 I/O 的範例 (我會在下一期的文章中討論它)。

圖 C 在 Process Monitor 中檢視非常低 I/O 優先順序
圖 C 在 Process Monitor 中檢視非常低 I/O 優先順序 (Click the image for a larger view)

深入探索 Windows Vista 核心:第一篇

http://technet.microsoft.com/zh-tw/magazine/2007.02.vistakernel.aspx

‧深入探索 Windows Vista 核心:第一篇

At a Glance:

* 執行緒優先順序和排程
* 檔案架構符號連結
* 取消 I/O 作業



這是有關 Windows Vista 核心新功能一系列文章的第一篇。在這篇文章中,我們要看看處理序、執行緒和 I/O 等方面有哪些改變。未來幾期的文章將涵蓋記憶體管理、啟動和關閉、可靠性和修復及安全性。

本文的範圍只包括對 Windows Vista™ 核心的變更,尤其是 Ntoskrnl.exe 及其密切相關的元件。請記住,Windows Vista 有許多核心以外的其他重要變更不在此討論範圍內。這包括對 Shell (例如整合式桌面搜尋)、網路功能 (如新的 IPv6 堆疊和雙向防火牆) 及下一代繪圖模型 (例如 Aero™ Glass、Windows® Presentation Foundation、桌面視窗管理員和新圖形驅動程式模型) 的改進。此外,新的 Windows 使用者模式和核心模式驅動程式架構 (UMDF 和 KMDF) 也不包括在內,因為這些都可以逆向安裝在舊版 Windows 上。


CPU 循環計數

Windows Vista 增強了部分的處理序和執行緒功能,包括使用 CPU 循環計數器來達到更公平的 CPU 配置,以及新的多媒體類別排程器服務 (Multimedia Class Scheduler Service,MMCSS) 來幫助媒體應用程式呈現無瑕疵播放。

包括 Windows Vista 以下的所有 Windows NT® 設計間隔計時器插斷常式大約每隔 10 或 15 ms (毫秒) 執行一次 (視硬體平台而定)。此常式會檢查它插斷的執行緒並更新該執行緒的 CPU 使用量統計值,就好像該執行緒已執行了整個間隔之久,而實際上該執行緒可能是在該間隔結束之前才開始執行。不僅如此,可能在技術上已指派 CPU 給該執行緒,但因為執行了硬體和軟體插斷常式,反而沒有機會執行該執行緒。

雖然時鐘型時間計量對於報告執行緒和處理序 CPU 使用量的診斷工具而言沒有問題,但執行緒排程器使用該方法會造成不公平的 CPU 配置。在 Windows 的用戶端版本上,預設准許執行緒執行最多 2 個時鐘刻度 (如果是在幕前執行,則為 6 個刻度)。不過,執行緒實際上可能未得到 CPU 任何時間或最多得到 6 個刻度 (如果是在幕前執行,則為 18 個刻度),視它在系統上的行為和其他活動而定)。

[圖 1] 顯示當兩個具有相同優先順序的執行緒同時準備好執行時可能會發生的不公平情況。執行緒 A 會執行到下一個時間配量間隔到期,而排程器卻假設它已執行了整個間隔之久,因而判斷執行緒 A 已執行完畢。不僅如此,讓執行緒 A 負責承擔在輪到它的期間內所發生的插斷,這是不公平的。在下次間隔時,排程器會選擇由執行緒 B 接管,並執行到整個間隔結束為止。

圖 1 不公平的執行緒排程圖 1不公平的執行緒排程

在 Windows Vista,排程器使用現代處理器的循環計數器登錄來準確追蹤一個執行緒執行的 CPU 循環次數。藉由評估 CPU 在一個時鐘間隔內可以執行的循環次數,可以更準確地在 CPU 上進行分配。此外,Windows Vista 排程器不會將執行緒執行期間的插斷執行計算在內。這表示在 Windows Vista 上,執行緒至少會輪到一次 CPU,但絕不會超過一次額外執行的時鐘間隔,以達到更好的公平性及更確定的應用程式行為。[圖 2] 顯示 Windows Vista 提供兩個執行緒至少一個時間配量的執行間隔,以回應 [圖 1] 所顯示的狀況。

圖 2 Windows Vista 循環式排程圖 2 Windows Vista 循環式排程

[監看處理序 CPU 使用量] 資訊看板說明如何使用 Process Explorer 公用程式自行監視處理序 CPU 循環使用量。


多媒體類別排程器服務

使用者期望多媒體應用程式 (包括音樂和視訊播放程式) 能夠提供完美的播放體驗。不過,其他同時執行的應用程式 (如防毒軟體、內容檢索程式或甚至郵件用戶端) 對 CPU 的需求可能會引起你我所不樂見的一些風波。為了提供更好的播放體驗,Windows Vista 引進 MMCSS 來管理多媒體執行緒的 CPU 優先順序。

多媒體應用程式 (如 Windows Media® Player 11) 使用可指出其多媒體性質的新 API 在 MMCSS 中登錄,這些多媒體性質必須符合下列登錄機碼之下按名稱列出的其中之一:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
Currentversion\Multimedia\SystemProfile\Tasks

各種工作機碼會指定與不同多媒體類型相關聯的執行緒在 CPU 和圖形處理器資源方面會獲得多少青睞 (不過 Windows Vista 未並實作圖形處理器資源管理)。[圖 3] 顯示在全新 Windows Vista 安裝之後的其中一個工作登錄機碼的內容,不過協力廠商開發人員可以新增自己的工作定義。

圖 3 多媒體類別排程器音訊工作定義

圖 3 多媒體類別排程器音訊工作定義 (Click the image for a larger view)



實作於 %SystemRoot%\System32\Mmcss.dll 中並執行於 Service Host (Svchost.exe) 處理序中的 MMCSS,有一個優先順序管理執行緒是以優先順序 27 執行 (Windows 中的執行緒優先順序範圍是從 0 到 31)。這個執行緒將已登錄的多媒體執行緒優先順序增加到與其工作的登錄機碼的 Scheduling Category 值相關聯的範圍,如 [圖 4] 所列。在 Windows 中,執行緒優先順序 16 以上是在即時優先順序範圍內,高於系統上的所有其他執行緒 (但核心的記憶體管理員工作者執行緒例外,它是以優先順序 28 和 29 執行)。僅系統管理帳戶 (如 MMCSS 執行時所用的本機系統帳戶) 具有「增加優先順序」權限,這是要設定即時執行緒優先順序所需要的權限。





在播放音訊檔時,Windows Media Player 會登錄音訊工作執行緒,當您播放視訊時,它會登錄播放工作執行緒。若執行緒指出它們正在傳遞資料流,且同時在擁有幕前視窗的處理序中執行,並且已在其工作的定義機碼中將 BackgroundOnly 值設為 True,此時 MMCSS 服務會增加所有這些執行緒的優先順序。

但雖然 MMCSS 想要幫助多媒體執行緒取得它們所需要的 CPU 時間,它也想要確保其他執行緒至少可取得一些 CPU 時間,使系統和其他應用程式可以保持回應性。因此,MMCSS 保留一定的 CPU 時間百分比給其他活動使用,如下列登錄值所指定:

HKLM\Software\Microsoft\Windows NT\ Currentversion\Multimedia\SystemProfile\SystemResponsiveness

此值預設為 20%;MMCSS 會監視 CPU 使用量,以確保萬一其他執行緒需要 CPU 時,多媒體執行緒不會在 10 毫秒的期間內增加超過 8 毫秒。為了在剩餘 2 毫秒內擺脫多媒體執行緒,排程器使其優先順序掉到 1-7 範圍。

您可以看看 [監看 MMCSS 優先順序增加] 資訊看板,以了解 MMCSS 如何增加執行緒優先順序。

檔案架構符號連結

Windows Vista I/O 相關變更包括檔案架構符號連結、更有效的 I/O 完成處理、對於 I/O 取消作業的全面支援以及優先順序處理的 I/O。

許多人認為 NTFS 所缺少的一項檔案系統功能 – 符號檔案連結 (或是 UNIX 所謂的暫時連結) – 最後終於出現在 Windows Vista 中。NTFS 的 Windows 2000 版本引進的符號目錄連結叫做目錄連接,它可讓您建立一個指向不同目錄的目錄,但直到 Windows Vista 版本誕生,NTFS 才支援檔案永久連結。

Windows 解析符號連結和目錄連接的方式,其主要差異在於進行處理的位置。Windows 是在本機系統上處理符號連結,即使它們參考遠端檔案伺服器上的位置也一樣。Windows 處理的目錄連接是參考伺服器本身的遠端檔案伺服器。因此,伺服器上的符號連結可以參考只能從用戶端存取的位置,如其他用戶端磁碟區,而目錄連接則不行。為了解決此問題,Windows Vista 同時為檔案和目錄提供新的符號連結類型支援。

許多檔案系統命令已更新,以方便了解符號連結的含意。例如,Delete 命令知道不要遵循連結,以免刪除目標,但會刪除連結本身。不過,由於並非所有應用程式都能夠正確處理符號連結,因此要建立符號連結需要有新的「建立符號連結」權限,預設只有系統管理員才具有此權限。

您可以在命令提示字元中使用 Mklink 命令來建立符號連結。命令提示字元的內建目錄命令識別符號連結的方式是將它標示為 ,並以方括弧顯示目錄,如 [圖 5] 所示。Windows 檔案總管也可以識別符號連結,並以快顯箭號顯示它們。您可以將 [連結目錄] 欄位新增至瀏覽視窗中,即可在檔案總管中看到連結的目錄。

圖 5 使用 Mklink 建立符號連結圖 5 使用 Mklink 建立符號連結 (Click the image for a larger view)

I/O 完成和取消

I/O 系統有一些內部變更可改進伺服器應用程式的效能。這些應用程式通常使用一個叫做完成通訊埠的同步處理物件,等待非同步 I/O 要求完成。在 Windows Vista 之前,當 I/O 完成時,發出 I/O 的執行緒會執行一項 I/O 完成工作,而導致切換到該執行緒所屬的處理序並插斷其他正在進行的工作。然後,I/O 系統會更新完成通訊埠狀態,以喚醒等待其變更的執行緒。

在 Windows Vista 上,I/O 完成處理作業不一定要由發出 I/O 的執行緒執行,可改由等待完成通訊埠喚醒它的執行緒來執行。這項小小的變更避免因不必要的執行緒排程和內容切換而導致應用程式和系統整體效能下降。若要進一步改進效能,伺服器可以從一個要求的完成中擷取多項 I/O 作業的結果,避免轉換到核心模式。

從使用者角度來看,I/O 系統最明顯的變更可能是 Windows Vista 對於取消同步 I/O 作業的支援。如果您曾經執行過 net view 命令或嘗試使用 Windows XP 或 Windows Server® 2003 存取離線遠端系統的共用檔案,一定遇過無法取消 I/O 作業的問題:該命令或檔案瀏覽器無回應,直到網路逾時過期為止。應用程式別無選擇,只能枯等作業失敗,因為它無法告知執行此 I/O 的裝置驅動程式不要處理此 I/O 了。

在 Windows Vista 中,大部分 I/O 作業都可加以取消,包括 Net View 和 Explorer 使用的開啟檔案 I/O。不過,應用程式必須更新才能回應使用者取消 I/O 的要求,而且,許多與具有逾時設定的裝置互動的 Windows Vista 公用程式都有必要的支援。例如,幾乎每一個 Windows 應用程式都會用到的檔案開啟和儲存對話方塊,包括協力廠商應用程式在內,現在都可以在嘗試顯示資料夾內容時啟用其 [取消] 按鈕。當您按 Ctrl+C 時,Net 命令也可以取消其同步 I/O。

您可在 Windows Vista 上開啟命令提示字元並輸入下列命令,即可了解 I/O 取消作業的好處:net view (\\nonexistentmachine)

當 Windows 嘗試連絡不存在的系統時,此命令會擱置,但您可以輸入 Ctrl+C 來終止它。在 Windows XP,Ctrl+C 沒有作用,且該命令要等到網路作業逾時為止才會傳回。

在 Windows 舊版中,還有另一種 I/O 類型造成使用者問題,亦即,裝置驅動程式因為不易得知是否應該取消而未能適當取消的 I/O 作業。如果您曾經終止一項處理序,但後來又看到它在處理序檢視工具中不當延遲,您就會目睹裝置驅動程式不但未回應處理序終止,還取消了尚未完成的處理序所發出的 I/O。Windows 會等到該處理序的所有 I/O 都已完成或取消之後,才會執行最終處理序清除。在 Windows Vista 中,裝置驅動程式很容易登錄處理序終止的通知,因此大部分無法刪除的處理序問題都能迎刃而解。

I/O 優先順序

雖然 Windows 一向支援 CPU 使用量的優先順序處理,但並未納入 I/O 優先順序的概念。沒有 I/O 優先順序,搜尋檢索、病毒掃描和磁碟重組之類的幕後活動可能嚴重影響幕前作業的回應性。例如,當使用者啟動應用程式或開啟文件時,若有另一項處理序正在執行磁碟 I/O,使用者會發現幕前工作在等待磁碟存取時速度變慢。相同的干擾也會影響硬碟多媒體內容 (如歌曲) 的資料流播放。

Windows Vista 引進兩種類型的 I/O 優先順序處理,以幫助幕前 I/O 作業獲得青睞:個別 I/O 作業和 I/O 頻寬保留的優先順序。Windows Vista I/O 系統內部包括五種 I/O 優先順序的支援,如 [圖 6] 所示,但只使用其中四種優先順序 (未來 Windows 版本可支援 [高] 優先順序)。

I/O 的預設優先順序是 [中],而在低記憶體情況下,記憶體管理員想要將更動過的記憶體資料寫至磁碟時會使用 [緊急] 優先順序,以騰出 RAM 的空間來存放其他資料和程式碼。Windows 工作排程器會將有預設工作優先順序的工作的 I/O 優先順序設為 [低],而針對 Windows Vista 撰寫來執行幕後處理的應用程式所指定的優先順序為 [非常低]。所有 Windows Vista 幕後作業,包括 Windows Defender 掃描和桌面搜尋檢索在內,都使用 [非常低] I/O 優先順序。

系統儲存類別裝置驅動程式 (%SystemRoot%\System32\Classpnp.sys) 會強制執行 I/O 優先順序,因此這些優先順序會自動套用至大部分儲存裝置指示的 I/O。類別和其他儲存驅動程式在其佇列中會將 [中] I/O 插入到 [低] 和 [非常低] 的 I/O 前面,但每秒至少會發出一個等待中的 [低] 或 [非常低] I/O,使幕後處理序能夠有所進展。使用 [非常低] I/O 讀取的資料也會使快取管理員立即將修改寫入磁碟,而不會延後寫入,並且在讀取作業中略過它的預先讀取邏輯,而不會從存取的檔案中預先讀取。請參考 [查看非常低 I/O 優先順序] 資訊看板,其中有關於使用 Process Monitor 公用程式的 [非常低] I/O 優先順序的範例。

Windows Vista 頻寬保留支援對於媒體播放應用程式很有幫助,Windows Media Player 使用它再配合 MMCSS 優先順序的增加,來呈現幾乎無瑕疵的本機內容播放。媒體播放應用程式會要求 I/O 系統保證它有能力在指定的速率下讀取資料,如果裝置可以在所要求的速率下傳遞資料,且現有的頻寬保留也接受的話,它會指導應用程式要在何種速度下發出 I/O 及應該具備的 I/O 大小。除非 I/O 系統可以滿足已在目標儲存裝置上做了保留的應用程式的需求,否則不會為其他 I/O 提供服務。

I/O 系統最後一項值得一提的改變與 I/O 作業的大小有關。從 Windows NT 第一版開始,記憶體管理員和 I/O 系統就把每一個儲存 I/O 要求處理的資料量限制為 64KB。因此,即使應用程式發出更大的 I/O 要求,也會分割成最大大小為 64KB 的個別要求。每一項 I/O 要轉換為核心模式以及在儲存裝置上起始 I/O 轉送時都會招致額外負荷,因此在 Windows Vista 中,不再壓低儲存 I/O 要求大小。有幾個 Windows Vista 使用者模式元件已經過修改,可利用更大 I/O 的支援,包括檔案總管的複製功能及命令提示字元的 Copy 命令,它現在可發出 1MB I/O。

接下來

現在您已經看到 Windows Vista 核心在兩方面的加強。您會在我的著作 Windows Internals (共同執筆者為 David Solomon) 的下一版看到更多深入資訊,此書預定與下一版的 Windows Server (名稱代碼 "Longhorn") 同時發行。在下一期的文章中,我會繼續介紹新核心,討論記憶體管理及系統啟動和關閉。

科學家解開 mock theta functions 之謎

UW scientists unlock major number theory puzzle

http://www.news.wisc.edu/13497.html

February 26, 2007
by Paroma Basu

數學家終於擺平圍繞在一組難以理解的數學式子(即 mock theta functions,擬θ函數)四周所剩下來的傳奇式謎題。

數論家都努力的想要理解這個函數,印度有史以來最偉大的數學家 Srinivasa Ramanujan,首先在 1920 年,他生命垂危時,於一封書信當中略為提到它們。

現在,使用 Ramanujan 身後出現的數學技巧,Wisconsin-Madison 大學的二位理論家已經拼湊出一個解釋性的架構,那首次描繪出所謂的 mock theta functions 到底是什麼東西,以及如何推導出它們。

在解析這個數論中長存未解的問題上,他們的新理論,證明是十分有價值的。此外,UW-Madison 的進展,將首次讓研究者能夠把 mock theta functions 應用到不同領域的問題中,包括物理、化學以及數學其他幾個分支。這項發現出現在一系列三篇論文當中,第三篇刊載於今日的 Proceedings of the National Academy of Sciences 上。

"那可以相當令人滿足的說,我們已經解開了 'Ramanujan 的最後難題'," 共同作者 Ken Ono,UW-Madison Manasse Professor of Letters and Science 表示,他因對數論的貢獻而受到廣泛注意。"我們真的很幸運。"

Ono 與 UW-Madison 的德國博士後研究者 Kathrin Bringmann 共同研究。

"那是某些我真的認為沒有人能夠辦到的東西," George Andrews,賓州大學的領導數論學家,他在 2000 年稱 mock theta functions 是這個新千禧年中最困難的數學謎題之一。"那真是一項相當傑出的工作,令人無法透氣的精彩成就。"

從 Ramanujan 的信件開始研究,數論家相信 mock theta functions 與一組充分理解的數學式子 -- 'theta' 函數 -- 有關,那已經用了幾世紀。'theta' 函數由某一連續數字構成,那被證明對於不同種類的數學分析問題相當有用。

Mock theta functions 同樣構成一組無限序列的數字。不過讓人完全困惑的是,是『什麼』讓 mock theta series 如此豐富與強大。數十年來 -- 在各處數學家的詫異之下 -- mock theta functions 在不同領域的計算當中都有所收穫,包括:數學、物理、化學甚至是癌症研究。

讓 mock theta functions 更加難以理解的是一件事實,Ramanujan 信件的前面幾頁都已經遺失。這些頁面可能包含更多線索,不過因為它們的缺席,這些信件只不過呈現出這個函數的 17 個例子。所遺失的是對於這些函數是什麼的定義,以及關於任何導出它們的暗示,而且任何對於它們為何如此的指示甚至更重要。

在 Ramanujan 剛寫下這些信件 2 個月後,這些祕密都隨之而去,當時他因結核病,得年 32。

"想像將 1000 個隨機單字串在一起,然後說你完成了最美的詩句," Ono 說。"這基本上就是 Ramanujan 為我們所做的。"

Bringmann 與 Ono 藉由另一族相對來說較新穎的數學式子,找到一種方式來呈現 mock theta functions 的威力,這些數學式子稱之為 Harmonic Maass Forms。

荷蘭一位名叫 Sander Zwegers 的數學家已在 2002 年指出它的重要關連,不過他只專注在 Ramanujan 的例子。

在飛往新罕布夏的過程中, Ono 了解到,Zwegers 研究的全面深度與意義。快速瀏覽過去的期刊後,Ono 碰巧遇見了一篇由 George Andrews 所寫關於 mock theta functions 的老文章。突然間,他注意到這篇論文中的某些數學家與 Harmonic Maass 的部份理論產生了共鳴,他與Bringmann 就為了其他理由,在那時開始發展。

數學家們發現這項關連漂亮的幫了他們。"我們知道我們正走在某個正確的道路上," Ono 說。"那是一種相當奇怪的巧合,導致我們產生這樣的解。那猶如它們全都剛好落在我們膝上,而現在我們僥倖能夠將我們的理論應用在這個長久以來的難題上。"


* 探求「無限」奧秘的數學家 -- Srinivasa Ramanujan (上)(PDF)
http://www.math.sinica.edu.tw/math_media/pdf.php?m_file=ZDI3My8yNzMwNw==

* 探求「無限」奧秘的數學家 -- Srinivasa Ramanujan (下)(PDF)
http://www.math.sinica.edu.tw/math_media/pdf.php?m_file=ZDI3NC8yNzQwNQ==

* 拉馬努金 - Wikipedia
http://zh.wikipedia.org/wiki/%E6%8B%89%E9%A9%AC%E5%8A%AA%E9%87%91

* Amazon.com: The Man Who Knew Infinity: A Life of the Genius
Ramanujan(Ramanujan 的唯一傳記)
http://www.amazon.com/Man-Who-Knew-Infinity-Ramanujan/dp/0671750615

* 無限大的祕密:突破科學與想像極限的「無限」簡史
http://www.books.com.tw/exep/prod/booksfile.php?item=0010354897

* The f(q) mock theta function conjecture and partition ranks,
http://www.math.wisc.edu/~ono/reprints/098.pdf
K. Bringmann and K. Ono,
Inventiones Mathematicae, 165, 2006, pp. 243-266.

* Dyson's ranks and Maass forms,
http://www.math.wisc.edu/~ono/reprints/102.pdf
K. Bringmann and K. Ono,
Annals of Mathematics, accepted for publication.

* Lifting elliptic cusp forms to Maass forms with an application to partitions
http://www.math.wisc.edu/~ono/reprints/106.pdf
K. Bringmann and K. Ono,
Proceedings of the National Academy of Sciences, USA ,
accepted for publication.

清單 - 數學

‧2007/07/17 莫比爾斯帶的數學形狀
‧2007/02/26 科學家解開 mock theta functions 之謎
‧2006/09/01 花豹斑紋如何形成? 數學解密


* Peter Naur 榮獲 2005 年涂林獎
* Grigory Perelman 拒絕數學界最高榮譽
* 我們天生就懂幾何學?
* 新三角學成為時代標記
* 有趣的數學:關於紙張大小的國際規格

莫比爾斯帶的數學形狀

Mobius StripShaping Up a Mobius Strip

http://www.sciam.com/article.cfm?articleID=D55BA3C5-E7F2-99DF-3B0A5A55D41B63FB&chanID=sa007

數學家終於算出 Escher 所沈思的形狀

By Sourish Basu / 2007.07.17

長久以來被說是一種奇特的數學物體,缺乏相分離的「內部」與「外部」,Mobius strips(莫比爾斯帶)也引發藝術家 M. C. Escher(荷蘭畫家,知名的作品包括 Drawing Hands 與Relativity)的想像力,他的畫作Mobius Strip II 有螞蟻出現在這個永遠無法停止爬的奇特表面上。你只要扭轉一下紙帶,然後把紙帶首尾相黏,就可以輕易製造它,它是一個只有單一表面與單一邊界的物體。Escher 在這條帶子上爬行的螞蟻們,會經過它所有的表面區域,但永遠不會橫渡邊界。

Drawing Hands by M. C. Escher在 Mobius strips 被發現 150 年後,UCL 的科學家在 Nature Materials 上報告,若能給定它的長寬比(aspect ratio)以及製造這條帶子的材質的彈力特性,他們就能夠計算出這個奇特物體的精確形狀。

除了它們純數學的意義外,Mobius strips 有時也用於機械中:利用「兩邊」磨損相同的驅動皮帶(drive belts)在兩個滑輪之間傳遞能量。儘管它們歷史悠久,然而,如果你想要製造一條帶子,例如:用一條 3 吋寬、20 吋長的透明塑膠,沒有人能先驗地(priori)預測這些帶子看起來會怎樣。UCL 的科學家不只解開這個謎,他們也能算出像這樣一條給定長度的帶子,其最大寬度會是多少,解決了這個在 80 年前首次被問到的問題。

他們的成果是一組微分方程式,只要給定材料的彈力特性以及那張材料的長寬比就能解開。利用(彈性力學)非常普遍的最小位能原理(principle of minimal energy,這解釋了要折彎一根鋼棒是件很困難的事,因為折彎棒子具有較高的彈性位能),科學家可以解開這些等式,來預測Mobius strips 在靜止時的形狀。

除了在數學上解決這個長久以來的問題外,這項研究也為巨分子(macromolecules)及以 Mobius strips 形態成長的晶體(該製程在 2002 被開發出來)的結構特性分析預先鋪路。

※ 相關報導:

* The shape of a Mobius strip
http://www.nature.com/nmat/journal/vaop/ncurrent/abs/nmat1929.html
E. L. Starostin & G. H. M. van der Heijden
Nature Materials Published online: 15 July 2007 doi:10.1038/nmat1929

* Mobius strip - Wikipedia
http://en.wikipedia.org/wiki/M%C3%B6bius_strip

* M. C. Escher - Wikipedia
http://en.wikipedia.org/wiki/M._C._Escher

星期三, 7月 18, 2007

電子交易標準RosettaNet改採收費制

記馬培治/台北報導  17/07/2007

廣受高科技製造業採用的電子交易流程標準RosettaNet,一改早前公開、免費的政策,近日起正式開始收費。

RosettaNet是在今(2007)年三月底,在全球分會會議中決議,自6月1日起不再免費提供標準文件的下載,使用者若欲採用RosettaNet 組織發佈的相關標準,必須付費取得標準技術文件後,才得以合法使用。根據RosettaNet台灣分會代表、資策會創新應用服務研究所專案經理張潔表示, 收費方案採雙軌制,企業可以選擇以單筆付費方式下載個別標準文件,或繳交年費加入RosettaNet台灣分會以取得標準使用權。

根據該會規定,下載標準文件須支付295美元的費用,七類標準文件全部下載,須支付美金2065元。但若企業本身是RosettaNet 各地分會的會員,則可免費取得標準文件。而台灣分會的會員年費,分為一般製造業者的普通會員,以及供應鏈相關解決方案提供者的夥伴會員兩種,會員年費則分 別為新台幣3萬元與4萬5000元。

由全球40多間IT軟硬體廠商在1998年於美國合作創立的RosettaNet,為一提供以XML為基礎的跨企業供應鏈資訊傳輸技術標準 的非營利組織,在全球各地均有分會,包括HP、微軟、IBM、Intel等IT大廠皆為創始會員。由於受到大廠加持,RosettaNet已是不少國際著 名高科技或電子產品製造業者如Nokia、Intel等所採用的B2B電子商務標準規格。

由於自成立日起便是以免費方式提供標準文件,Rosetta轉向收費的決定,便特別引起外界好奇政策轉變的原因。

「收費的目的在於推廣使用者付費的觀念,」張潔表示,由於採用RosettaNet標準進行電子交易自動化的製造業者多半具有一定規模,對於僅數萬元的標準文件費用並不會太在意,「僅收取象徵性的金額,並沒有聽到企業反彈的聲音,」她說。

RosettaNet台灣分會估計,目前台灣地區約有200家廠商採用RosettaNet標準,但分會會員至六月份僅有20家,收費政策實施後則增加至25家。張潔表示,相較於單次下載標準文件,加入會員繳交的費用較少,因此將吸引業者陸續加入成為分會會員。

數位冰河時代 -- 你的檔案還能用嗎?

The Digital Ice Age

http://www.popularmechanics.com/technology/industry/4201645.html

在我們當前的時代,文件都以位元與位元組記錄,而且不保證未來的可讀性。當科技改朝換代時,我們可能發現我們的檔案被冰凍在已經被遺忘的格式當中。我們整個時代的人類歷史將會消失不見嗎?

BY Brad Reagan / Published in the December, 2006 issue.

當航空母艦尼米茲號(USS Nimitz)開始在海上航行時,它攜帶了超過 50萬個推進、機電與其他系統的圖表檔案。因為現在是 21 世紀,所以沒有不方便的工程製圖紙捲,只有艦上電腦中的數位檔案。改變成數位科技後,能讓海軍工程師在世界任何角落存取這些圖表讓維修更加有效率。理論上。數年以前,當較舊的檔案於新版 CAD(電腦輔助設計)軟體開啟時,海軍注意到一個問題。

"我們將檔案打開時,會喊出:'哇,這不太像以前話的圖,'" Norfolk 海軍造船廠航空母艦規劃工場部門的頭頭 Brad Cumming 表示。

這種改變有點微妙 -- 破折號變成了虛線或細微的尺寸改變 -- 不過足以引起海軍工程師的憂慮。即便是最細微的差異,都對於一艘以二具核子反應器為動力,並且滿載達 85 架飛機的船隻來說,都有可能危及任務。

恢復數位檔案不只是美國海軍的挑戰。事實上,資料遺失或毀損所造成的威脅,每個倚賴數位媒介來儲存資料的人都會面對 -- 而且在今日,幾乎是每個人了。數位資訊的創造與儲存是如此簡便,我們自然認為,在未來它將能很容易的,很精確的被保存。在未來沒有一樣能夠成真。事實上,我們的數位資訊 -- 從我們所愛之人的照片到海軍的圖表中的每樣東西 -- 都處於降級(degrading)的風險中,變成無法讀取或全然消失無蹤。

這個問題愈來愈明顯,而一般公民都無法察覺。它會在我們的硬碟掛掉或我們的新電腦沒有軟碟機,或我們線上 e-mail 服務關門大吉並且將我們的通訊郵件一並帶走時收成。我們會認為類型的資料喪失情節是一場個人大災難。浩瀚的文件(writ large),它們是症候逐漸危及的一群。如我們用來創造與儲存資訊的軟硬體屆時不在可靠,那麼我們用那些資訊打造的每樣東西都岌岌可危了。

龐大的政府與學術研究所在數年前開始著手對付資料喪失的問題,迄今只有少數實在的進展。此領域的專家同意,如果一個解決辦法不趕快研究出來,我們可能在歷史長流中留下一抹空白。"這段時期可以想見會被丟失,"

Jeff Rothenberg 說,Rand Corp. 一位電腦科學家,他精通(studied)數位典藏(digital preservation)。

在我們大部分的過去,替後代保存資訊,大部分都是將照片、書信或其他文件存放於一個安全的地方。內戰之後的個人帳單至今依然可以被讀取,因為人們費盡心力來保存書信,不過美國軍人從伊拉克前線寄到家中的幾百萬封e-mail 當中有多少能夠在 100 年後被讀取呢?

數位時代諷刺的地方是歸檔已經變成一種比過去更複雜的程序了。你不只是要保護持有你資訊的物理性磁碟、磁帶與驅動器,你還必須確保這些媒介能與未來的軟硬體相容。"大部分的人都無法辨識以某種格式編碼的數位東西,那需要軟體以人類可以感知的形式來呈現(render)它," Rothenberg 說。"那些知道如何呈現這些位元的軟體逐漸被淘汰。而跑它們的電腦也逐漸被過時。"

例如,1986 年,BBC 編輯了環視中世紀英格蘭生活的《征服者威廉的末日審判書(William the Conqueror's Domesday Book)》一部現代的、互動式的版本。有超過 100 萬人替這本新「書」提交照片、撰寫描述與剪輯短片。它被儲存在雷射光碟上 -- 在那時被認為是不會毀滅的 -- 所以未來的學生與學者可以習知 20 世紀的生活。

但是 15 年後,英國官員發現在碟片上的資訊差不多無法被讀取 -- 不是因為碟片毀損,而是因為它不再與現代的電腦系統相容。相較之下,原本的《末日審判書》,1086 年寫在羊皮紙上,仍位在英格蘭 Kew 的國家檔案館中處於可閱讀的狀態下。(多媒體的版本最後被搶救回來。)

電腦標準的改變並非數位資料的唯一威脅。在 2004 年,Miami-Dade 郡宣佈,因為嚴重的電腦當機,它已經丟失了 2002 年大選幾乎所有電子投票的記錄 -- 提醒了我們電子記錄許多不足之處 -- 保存可歸因於日常設備的失誤(詳見原網站的 "Preserving Your Data" 專欄)。此外,軟體公司也有可能關門大吉,讓它們專有的程式碼隨之而逝。在 2001 年,線上相片儲存網站 PhotoPoint 關閉,而數百人喪失了他們儲存載網站上的照片。

不過資料遺失,不只是會發生在一顆掛掉的硬碟或沒有機器能夠播放的碟片上。一個數位檔案只是一長串二進位碼。不像書信或是相片,它的內容無法直接呈現在終端使用者面前。為了要看見一張被儲存為 JPEG 檔的照片或是閱讀一封以文字處理程式編輯的信,我們需要軟體幫忙將這些編碼翻譯給我們。

根據 Software and Information Industry Association,軟體應用程式平均每隔 18 個月到 2 年就會更新,而新版本通常不會相容於先前的版本。這對於尼米茲號而言是個問題,正如同它也可能會替你製造麻煩,如果有問題的檔案,你醫療記錄的話。

同樣地,法律事務所發現 metadata -- 關於資料的資料,諸如這個檔案何時被建立 -- 在檔案被拷貝時通常無法精確的被轉移。例如:磁性儲存媒介,如硬碟,允許三部份的日期儲存系統(建立/存取/修改),而在光學媒介,如 CD-R 等等,只允許一種日期,這對於法律訴訟是個難題,因為律師必須要建立案件中關鍵事件的年代表。"我幾乎在每一個單一個案中都會遇到," Craig Ball,一位電腦鑑識專家,他勸告律師事務所。"在許多程度上,那是一個相當複雜的問題。我們失去很多!"(譯註:比較新式的壓縮軟體可以保存這些資料,另外,如果是電腦鑑識用途,需要更特殊的軟體才有辦法複製保存電腦系統當中的精確日期。)

一如 Richard Pearce-Moses,Society of American Archivists 的前任總裁,所表達的,"我們可以讓 0 與 1 長存,但我們能理解它嗎?"

作者最近旅行到華盛頓特區,會見國家檔案館電子記錄檔案(ERA)的頭頭Ken Thibodeau。國家檔案館對於保存所有與歷史相關的文件與聯邦政府所產生的資料 -- 來自於白宮的 e-mail 到核廢料儲存地點的每樣東西 -- 這件苦差事感到緊張。10 年前,Thibodeau 最大的顧慮是如何處理柯林頓政府送來歸檔的 3200 萬封 e-mail。然而這只是個開始。預計布希政府會在2008 年時產生 1 億封 e-mail。Thibodeau 長久以來體認到光是將資料拷貝到磁帶上 -- 先前將電子記錄歸檔的方式 -- 不足以應付數位時代,而且與接踵而來如雪崩般更加複雜的數位檔案相較,這只不過是涓涓細流。

"問題是我們所建造的每樣東西,不管它是高速公路、隧道、船隻或飛機,都是用電腦設計的," Thibodeau 說。"送來歸檔的電子記錄比起紙張記錄要多上 100 倍。我們不知道要如何避免丟失大部分在今日所建立的數位資訊。"

國家檔案館不只是要將極大量的資料進行分類,它也要找到一種方式讓那些資料可以被理解。Thibodeau 希望開發一種系統,那可以保存任何種類的文件 -- 由任何應用軟體與電腦平台所建立,並且在任何數位媒介上傳遞 --只要美國依然是個共和政體。牽連的問題還更多,這些檔案需要能夠被搜尋。當 Thibodeau 向政府研究實驗室一位的頭頭說明他的任務時,那個人回答,"你的問題太大了,要去嘗試以及解決這個問題可能是一件很蠢的事。"

去年,國家檔案館授與 Lockheed Martin 3080 萬美金的合約,來開發此系統。"我們認為這是資訊時代一種開創性的努力," Clyde Relick,該計畫的計畫主持人表示。

迄今,ERA 目前已經確認出他們需要涵括的、超過 4500 種的檔案格式。每一種檔案格式基本上需要一種獨立的解決方案。哪一種資訊需要被保存?這些資訊應如何呈現?

一個相對簡單的例子為例,讓我們看看來自於某管控局處頭頭的 e-mail。如果信件是純文字,它的解決方法很簡單。但如果有附件呢?是哪一種檔案被夾帶?如果這個附件是一份試算表,那麼這張試算表的行為需要保留嗎?換句話說,未來的一代能夠執行此一格式並且玩弄這些資料是否事關緊要?

"當我們擁有的是紙張文件時,這看起來不像是個挑戰," Relick 說。更複雜的檔案格式,例如 NASA 的虛擬實境訓練程式,則需要更複雜的解決方案。ERA 在某些錯綜複雜的挑戰中,與一票研究夥伴一起工作,包括聖地牙哥超級電腦中心以及 NSF。

Lockheed 所建立的主要是一套 "遷移" 系統,在其中檔案被轉換成具有彈性的格式,例如:XML,所以這些檔案可以被未來的科技所存取。這個點子可以在拷貝時不會喪失資料原本的特徵。

並非每一位都同意 Lockheed 的方法。以 Rand Corp., 的 Rothenberg 為例,相信採用一種 "模擬" 的策略可能更加恰當。模擬允許現代電腦模仿較老的電腦,所以它能夠執行某些程式。今日所使用的模擬程式能夠讀取專為Sony PlayStation 2 或 Microsoft Xbox 設計的電玩,並且在 PC 上玩。

"對我而言,遷移就等於扔掉原物," Rothenberg 說。"它甚至沒有試著要保存原物。你所終結的是某人對於原物有多重要的點子。(What you end up with is somebody's idea about what was important about the original.)"

Relick 說模擬涉及的成本與科技努力對於像 ERA 這種規模的計畫是不可行的。此外,他還提到那些檔案能讓任何人透過瀏覽器來存取,而且模擬在使用者的軟硬體搭配有無限多種的情況下,會變得相當困難。

Lockheed 團隊的目標是讓 ERA 於 2007 年 9 月能有最初步的運作能力,但預算縮減很可能會延遲程式的搜尋功能。

資料危機決不限於國家檔案館,或是軍方部門。國會圖書館也位在它自己的典藏計畫當中,還有許多大學也正忙於建立能夠留存不同學術研究的系統。

但是為政府與學界開發的計畫並不能夠幫助個人電腦使用者找到遺失的e-mail。某些專家相信,這是單一市場力量的結果:消費者必須對數位典藏沒有太多關注,而企業則必須在事業中符合消費者的需求。其他人則說企業是銷售更多新產品唯一的顧慮。

"他們的興趣,對我而言,是隨時創造不相容,而非相容," Rothenberg 說,"冷眼旁觀,他們沒有太多動機要對自己強加相容性的重擔,因為這樣做只會阻止消費者『升級』。"

然而,這裡已經有受到鼓勵的發展。在 2005 年末,微軟宣佈將開放它自己Office suite 的檔案格式,包括 Word 與 Excel 給競爭對手,以便讓Office 被授證為一種國際標準。藉由將格式的專有控制割讓給第三方開發者,微軟大大的增加這些格式將會被未來一代存取的可能性。

在此同時,International Organization for Standardization 最近認可Adobe Systems 熱門的 Portable Document Format (PDF) 的修改版本,專門用於長期歸檔。它稱為 PDF/A。在本質上,PDF/A 保留了文件當中可以被列印的每樣東西,卻同時將某些在短期之內或許相當有用,但是就長期而言卻不確定的功能排除在外。例如,此心格時不允許嵌入連結到外部應用程式,因為那些程式可能遭到淘汰,而且它也不允許密碼,因為在未來可能會忘記。"它全都是為了要能創造一個可靠的呈現," Melonie Warfel,Adobe 的世界標準主管表示。Adobe 現在也正在開發工程文件與數位影像的歸檔標準。

即使歷史是一份指南 -- 而那,畢竟是所保留歷史的一點 -- 我們知道未來將提供我們無法想像,以不同方式操作數位資訊的方法。目前的手法不過是繼續讓大家保持前進,而不要留下太多東西在過去。

"那已經超越了 '重要記錄' 這種概念 -- 那已經變成對我們而言是很重要的事," Warfel 說,她是兩位孩子的媽。"我媽有個裝滿照片的鞋盒,但我們不在這麼做。我有裝滿照片的硬碟。"


* 好公民不助長非法拷貝 -- 請停止散佈 .doc 檔
http://www.cyut.edu.tw/~ckhung/a/c041.php

* PDF/A, PDF for Long-term Preservation
http://www.digitalpreservation.gov/formats/fdd/fdd000125.shtml

* PREMIS: PREservation Metadata Implementation Strategies [OCLC - Projects]
http://www.oclc.org/asiapacific/zhtw/research/projects/pmwg/


* 掃描全世界的書!
* 史上最大圖書館 Google 化夢想為行動
* Google 線上書庫 微軟雅虎踢館
* 國家圖書館將設歐盟資訊中心
* 英國千年史 盡在國家檔案中心
* 台灣數位典藏創意產業紐約展出研發成果
* 早期臺灣史料 數位檔案上網
* 數位典藏 文史瀚海任挖寶
* 數位典藏計畫 下個五年怎麼走?

* 微軟 PDF-killer XPS 將朝標準邁進
* 微軟 Office 12 將支援原生 PDF
* Open Document通過成為國際標準
* 微軟展示 JPEG 的競爭對手

* 數位出版 我落後了
* 「無紙化」閱讀 面臨關鍵障礙

繁體中文字碼發展史

國內中文字碼之發展

http://www.math.ncu.edu.tw/~shann/Chinese/bbs97.html

這是 rux@cis_nctu (亦驢) 在 交大資科_BBS (Wed May 28 20:55:57 1997) 張貼的文告,抄錄於此,以免遺失。原文是純文字檔案,我將它稍事編輯,成為網頁。

我國最早之中文字碼為民國六十九年提出之「中文資訊交換碼」 (Chinese Character Code for Information Interchange, CCCII)。訂定此碼的原動力是美國急需使用電腦處理東亞語文資料,因此派遣負責人赴東亞考察。當時只有日本訂定資訊碼標準 JIS C 6226 。在「只此一家,別無分號」的情況下,美方初步決定採用此標準。我華裔美國亞東圖書館代表與我國代表極力反對,說明日本漢字無法代表中國文字的理由,並允諾四個月之後提出我方之標準。

我方代表返國之後,上書政務委員李國鼎及國科會、中美會等單位,集合國內一批文字學家、圖書館學家、以及電腦學者,組成臨時性質之任務編組:國字整理小組。經過謹慎考察、研究,一套涵蓋中日韓各國語文、以及繁體、簡體、異體等等之「中文資訊交換碼」出爐了。此碼終為美方接受為處理中日韓資料之正規標準。至今仍有許多圖書館系統採用,因為只有此碼才能擔當這個重任。

CCCII 在國外受到歡迎,在國內卻遭受排擠。有心人士或是想在歷史留名;或是自認官大學問大。用盡各種方法打擊 CCCII,並玩起編碼遊戲。這個遊戲,為咱們中文字碼的悲劇「萬碼奔騰」揭開了序幕。我想這個編碼遊戲,至少讓國內的資訊工業停滯五年。

下列兩本書,詳細記載了這一段歷史,以及 CCCII 的技術資料。在本文之後,我從第二本書抄錄一個章節,供無法借到這兩本書的網友參考。打這篇文章的目的,一方面是前一陣子有許多網友詢問到 CCCII;另一方面,讓網友瞭解現在我們使用的中文內碼的訂定過程是如何草率。

一、書名:中文字碼:萬碼奔騰,一碼當先作者:黃大一出版:永麒科技

二、書名:國字整理小組十年作者:謝清俊、黃克東出版:資訊應用國字整理小組

以下文章摘錄自「國字整理小組十年」p15-p18

四、國內外局勢之發展

(一)國內中文字碼之發展

國內有識之士早在民國六十六年起,就多次提起制訂中文字碼的事情。可惜當時由於國內沒有標準字形而受阻。此事在六十七年、六十八年之國建會及近代工程討論會中,亦曾討論,甚至有決議作成。然而終究因字形整理的問題而拖延著。至六十八年,教育部公佈了 4808 個常用字的標準字形後,編字碼的是才有一線希望。

中文資訊交換碼之所以能在六十九年三月發表,實拜教育部公佈標準常用字形之賜。然而,在當時,除上述之標準字形外,餘無標準字形。於是國字小組只得負擔起後續的工作,以期能在七十年將 CCCII 擴充到可實用的字數,並能符合國際上日益迫切之需求,來維護我們的傳統文字。

當民國六十九年三月中文資訊交換碼發表之事傳到國內以後,並未受到應有的重視和獎勵,反而引起了杯葛、謾罵、和各種侮辱的情形,此誠始料未及。

引起這種情況的主要原因是:在六十八年國建會的建議中,曾建議我國編中文字碼,而行政院將此案交主計處電子處理資料中心研究。因此,該單位獲知 CCCII 發表後,赫然震怒。認為國字小組破壞政府體制,此事應該由他們做才是。於是在民國六十九年五月,召開會議決定要另做一碼。當時國字小組有人出席該次會議,曾即席說明編制 CCCII 之原委,並說明 CCCII 發表時沒有作者,這純是為了國家,為了維護文字和文化先鋒。同時表示願和主計處電子處理資料中心合作或甚至交給他們繼續未完之工作,大家戮力一致對外。非常可惜的是此建議並未為主計處電子處理資料中心接受,反而一意孤行,非另做一碼不可。

為協調此爭執,有該年九月間在溪頭開的會議。在溪頭開的會議中,國字小組代表對編碼的作業有詳細的報告。在當時,國內翠於 ISO 資訊交換的相關標準之了解實在貧乏的可憐,與會人員不明白 ISO-646 及 ISO-2022 是做什麼的,因此對 CCCII 之編碼技術無法體認。當然也就不明白 CCCII 的長處了。國字小組之成員雖然全力說明,然而在主事人以政治手段解決技術問題的作法之下,以為再編一碼亦非難事,而且還可以平息爭端,斷然宣佈要再設計一碼作為解決之道,由此開啟了中文字碼十年混亂之情,迄今仍然遺禍社會無法解決。

經溪頭會議後,主計處電子處理資料中心邀王金土根據決議所編之碼為「中文資訊標準碼」,並於民國七十年發表 (記錄上是二月,而事實上到六月才完稿)。此碼完全不理會 ISO 之相關標準,獨斷專行,在碼的結構上主觀幼稚,在文字上則由個人任意挑選。當然,這種碼是不能用的,然而主事者並不相信,反而行文各單位要求採用。經過日本 NEC 及 FACOM 之技術人員在警政署強烈抗議之下,才明白此碼真不可用,只得偃旗息鼓自行收回。然而其耗費之公帑,即以印刷而言,上千本二吋厚之巨著就此報廢,更遑論其人力、物力,和時間之投入,合法之浪費莫以此為甚。

事實上,由此事件之教訓,主事者應該明白溪頭會議之錯誤,以及編碼是涉及計算機技術與我固有文字學之事,不是無知之輩想得那麼簡單。若是就此收兵,也就罷了。可嘆的是,在此過程中,主辦單位應用各報章媒體,造成許多打擊國字小組,對 CCCII 之技術成就惡意曲解,似是而非的謬論,一意認定他們自己是對的。當發現所編的王金土碼不能時,竟惱羞成怒,執意非再做一個碼不可。至此情形,已非理性之爭,而是以一己之私,一念之差,置國家社會利益不顧地孤行到底了。

於是主事者另起一灶,又行設計第二套碼,在民國七十一年七月發表,這碼名為「中文資訊標準交換碼」。然而,此碼並未完全做完,同年九月又補充附冊。這些碼雖然號稱採用 ISO-646 及 ISO-2022 標準,然而,又不真正認真執行,所以徒具虛名,且七月發表和九月補充的字碼均不同, (詳情請表一) 。當然此碼依然不能用!

雖然又失敗了,可是主事者巧言隱瞞事實,暗地裡再整旗鼓,又做一碼: 「通用漢字標準交換碼」並於民國七十二年十月發表。經過以前這許多失敗之經驗,又從 CCCII 學到不少技術,這一次充滿信心竟以國家標準為支柱,以行政命令強行推銷此碼,此舉已干犯到國家標準不是強制性質的原則了。

雖然此碼修正了許多過去之缺失,也越來越神似 CCCII,可是主事者所堅持的: 以一萬三千字為限的錯誤決定,仍然使得此碼窒礙難行。許多廠商為應付採購程序上非要用國家標準的箝制,在電腦中安置了此碼,然而實際上又不用。形成了可笑亦復可悲的瞞天過海的情形。這種情形不知造成了多少電腦資源上的浪費,對政府形象之傷害更是無以言喻!

之後,由於大家心裡明白此碼不可不用又不得不用的情況下,只好再造一碼,即「五大專案碼」之誕生。爾後,至民國七十五年「通用漢字標準交換碼」又更新一次版本,字碼又換一次,從民國七十年至七十五年之五年中,六次變易,世界上找不出這樣子做的「國家標準」。不僅這個過程無法統一字碼,為工業界造福,反而造成天下大亂,國內中文碼之亂,此實為罪魁禍首。

到今天,這個碼除了在個人電腦中可用以外,稍微大一些的系統都不夠用,它仍然是採購上必要而又無用的一個設備罷了。無論在台電,自來水、瓦斯、電信局、警政署、海關、外貿會、出版社、報社、財稅... 此碼的字均不夠用,更不必談到國家級的系統,像戶政、地政、財稅、圖書館等等系統了。

這麼多年來,主持通用中文標準交換碼的人員對中文資訊交換碼之攻擊和打擊不遺餘力,凡有中文資訊交換碼之廠商竟不敢明言,以免遭排擠。對通用中文標準碼以行政命令強制推行,若任何中文系統無此碼者則禁止公家機構採購。在標準法中明白說明國家標準無強制性,然而有關單位竟一意孤行。

在這麼惡劣的環境下,通用碼無法取得使用上之優勢,實在是該碼設計上缺陷累累 (見經建會民國七十七年九月製版之 "中共電腦業之發展及其對我之影響 P.173),否則以國家政令之力,豈有中文資訊交換碼活命之空間?

表一 中文標準碼自民國 70 年至 75 年歷年變遷簡表

名稱 中文資訊標準碼 中文資訊 標準交換碼 中文資訊 標準交換碼 (附冊) 通用漢字 標準交換碼 五大專案碼 通用漢字 標準交換碼
發表時間 70年二月 71年七月 71年九月 72年十月 73年三月 75年三月
發表單位 主計處 國科會 教育部 標準局 主計處 同左 同左 資策會 工業局 國科會 教育部 標準局 主計處
主持人 李克昌 何宜慈 何宜慈 何宜慈 果芸 何宜慈
承辦單位 行政院 主計處 電子資料 處理中心 同左 同左 同左 不詳 (十三家業者) 行政院 主計處 電子資料 處理中心
結構 2 8-bit bytes 二元碼 同左 同左 同左 同左 同左
字位 32,768 (奇數碼) 35,344 35,344 35,344 35,344 35,344
字構 16,000 字, 王金土 【辭海】中 任意選出 4,808 (常用字) 4,808 (常用字) 5,401 (4421-7D4B) 13,053 (30A1-FBE2) 5,401 常用字 7,652 次常用字 5,401 (4421-7D4B) 7,650 (2121-7244)
字序 1.總筆劃 2.部首 同左 1.部首 2.總筆劃 1.總筆劃 2.部首 同左 同左
ISO 完全不合 合 ISO-646 部份合 ISO-2022 同左 同左 同左 同左
獨一性 合 合 合 不合常用字一 合 合
涵蓋性 不合: 僅 32768 字位 不合: 總字4,808 同左 不合: 總字 13,053 同左 同左
擴充性 不合: 無法擴充 不合: 總字數35,344 同左 不合: 無法擴充 不合: 總字數35,344
試用 不能使用 主計處 自行收回 無人試用 業者字數 超過 8,000 同左 無業者採用 75年三月 宣佈放棄 多家採用 外來程式 有問題

中 華 民 國

031F 36AB 05C1 2730 4C50 6675 4E4A 5F54 4C26 712B 623B 535E 4463 615E 4661 594F 或 32F6 B1AE 39EF A138 A4A4 B5D8 A5C1 B0EA 4463 615E 4661 594F

亦驢註:想知道主計處編出來的第一套碼有多荒誕,可以看看上表最後一項。

「中華民國」的內碼為 031F 。在 ASCII 標準中 03、1F 都是控制碼。在以 ASCII 為主的電腦世界,這個字碼不是非常荒謬嗎?

亦驢人驢名亦驢(不可再驢下去) 成大電研計算機 rux@eembox.ncku.edu.tw


Created: Oct 4, 2000 Last Revised: Oct 4, 2000

* Mozilla 系列與 Big5 中文字碼 http://www.moztw.org/docs/big5/

* BIG5-2003 http://www.cns11643.gov.tw/web/big5/

* Unicode 補完計画 http://uao.cpatch.org/

* CP950 mapping table http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT

* UTF8 終端機 http://www.csie.ntu.edu.tw/%7Eb88062/i18n/utf8term.html

* 「俗體字」參考表 年底會訂出

* 創造繁體字價值!