jserv: hack myself

作業系統演化歷程

| Comments


(挑這張照片除了看起來比較瘦以外,還有 "My Love grow more with the passing time" 這句很美的話)

今天下午在 MOSUT -- Meet Open Source User in Tainan 聚會時,我分享作業系統演化的歷程,企圖涵蓋以下變遷: (大致符合時間順序)

  • Version 6 Unix (或稱 "V6", 1975 年五月,首個由 Bell Labs 廣泛散佈的作業系統)。澳洲的電腦科學家 John Lions 採用 UNIX v6 作為在 UNSW (新南威爾斯大學) 授課教材,並撰寫《Lions' Commentary on UNIX 6th Edition, with Source Code》(簡稱 Lions Book),這本書對電腦科學的影響,猶如普羅米修斯將火種 (UNIX v6 的運作奧秘和程式碼) 帶到人類世界,從而影響位於澳洲的 UNSW,連帶激發起作業系統的研究。2006 年,為了紀念 John Lions 的貢獻,在 UNSW 電腦科學系特別設立 "John Lions Chair"
  • BSD: 1980 年代到 90 年代,特別是加州大學柏克萊分校的 Computer Systems Research Group (CSRG) 維護下,引領的種種創新,奠定今日技術的基礎,中間還有 DARPA 的資助。始自 Bill Joy 在 1978 年釋出的 1BSD
  • UNIX 派系的競爭: UI (Unix International) vs. OSF (Open Software Foundation)。注意:OSF 與 open source 完全無關。這些商業廠商的競爭,由於 Microsoft 在伺服器市場的崛起,而由主要的 UNIX 系統供應商握手言和,抵抗共同敵人。爾後這些廠商將 UNIX 通用技術標準的制定,改組為 The Open Group
  • CMU 發展 Mach microkernel,這對先進作業系統有極大的影響 (部份設計考量的前衛程度,甚至超越目前主流作業系統),今天的 Microsoft Windows 和 Apple Mac OS X,都有 Mach 的影子在其中。這開創了第一代 microkernel。Mach 一些先進的設計,如 virtual memory,直接影響了 BSD,之後的 Linux 也採納相關研究成果
  • Andrew S. Tanenbaum 教授在 1987 年釋出的 MINIX,基於教育用途,microkernel 架構,而且系統呼叫與 UNIX v7 相容。注意:Douglas Comer 教授在 1984 年釋出 Xinu,但充其量只能說類似 UNIX,但本質上還跟 UNIX 有落差。MINIX 以低廉的 IBM PC 為主要平台,這創造了 Linux 崛起的基礎環境和社群
  • BSD 的浴火重生 (NetBSD, FreeBSD, OpenBSD)
  • 德國的 Jochen Liedtke 博士基於過去發展 L3 microkernel 的經驗,提出 L4 microkernel,這被視為是第二代的 microkernel。主導 NICTA::L4-embedded (NICTA 是澳洲類似台灣工研院的單位,致力於產學合作,並著重於系統軟體的影響力), OKL4, 以及 seL4 發展的 Gernot Heiser 教授則成為 UNSW John Lions Chair

我和日本的系統軟體前輩 Hideo Yamamoto 試圖將上述作業系統類比為演化樹的物種:

  • V6: 長臂猿 (Gibbon)
  • 2BSD: 紅毛猩猩 (Orang)
  • 4.2BSD: 黑猩猩 (Chimpanzee)
  • Solaris: 大猩猩 (Gorilla)
  • Linux: 人 (Man)
  • seL4: 超人 (Superman)

Comments

comments powered by Disqus