計算機作業系統的誕生
計算機能變得很好用,編譯器(Compiler)及作業系統(Operating System)的發展功不可沒。作業系統管理計算機或行動裝置的軟體和硬體功能,讓所有應用和程式能順暢運行。桌面運算裝置最常用的作業系統包括微軟(Microsoft) Windows及蘋果(Apple) macOS。這些作業系統的功能複雜,很多原理歸功於1960年代電腦科學家的努力。1965年時,貝爾實驗室(Bell Labs) 、奇異電子(General Electric)和麻省理工學院(MIT)合作建立一套多使用者(Multi-user)、多工(Multi-processor)、多層次(Multi-level)的作業系統,稱為MULTICS, 主要貢獻者是「分時處理作業系統」之父柯巴托(Fernando José "Corby" Corbató, 1926~2019)。因計畫的工作進度延遲嚴重,MULTICS在1969年終止。當時參與計畫的湯普森(Ken Thompson) 在MULTICS寫了一款電動遊戲程式「星際旅行」(Space Travel)。在MULTICS打烊後,為了能繼續玩這個遊戲,湯普森找來瑞奇(Dennis MacAlistair Ritchie, 1941~2011),發展出一套更有效率的作業系統,稱為Unix。這套作業系統後來成為主流,廣泛的被各種電腦採用。在Thompson 及 Ritchie獲得圖靈獎(Turing Award)的次年(1984年),貝爾實驗室的技術期刊《AT&T Bell Laboratories Technical Journal》編輯一期特刊,專門討論UNIX系統。1984年這一期特刊,具有紀念性,成為我的珍藏版。為此特刊撰文的作者都赫赫有名。當中寫Preface的 Robert L. Martin 是我在Bellcore時的大老闆,而Robert H. Morris則為現任IBM的全球服務副總裁,他於2010年來台灣,頒發IBM Faculty Award 給我。近年來,超級電腦業者打破「高速計算」必須透過一部高速運轉的超級電腦來執行計算工作的思維,而作業系統更加重要。2008年4月克雷公司(Cray Inc)開始與英特爾技(Intel)術合作,用Xeon處理器及刀鋒系統設計來打造超級電腦,稱為Cray CX1。這種蛻變的高速計算,稱為「高階計算」(High-end Computing)。以多部CPU進行高階計算,原理是平行理論(Concurrency Theory),早期的主要貢獻者是米爾納(Arthur John Robin Gorell Milner, 1934~2010)。我於2014~2016年間在科技部督導超級電腦的建置,了解其技術的複雜度,更能體會過去計算機先驅者的貢獻。
2022/12/16