文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
20世紀60年代是大型、復雜操作系統盛行的年代,比如IBM的OS/360和Honeywell的Multics系統。OS/360是歷史上最成功的軟件項目之一,而 Multics雖然持續存在了多年,卻從來沒有被廣泛應用過。貝爾實驗室曾經是Multics項目的最初參與者,但是因為考慮到該項目的復雜性和缺乏進展而于1969年退出。鑒于Mutics項目不愉快的經歷,一群貝爾實驗室的研究人員Ken Thompson、 Dennis Ritchie、 Doug Mcllroy和 Joe Ossanna,從1969年開始在DEC PDP-7計算機上完全用機器語言編寫了一個簡單得多的操作系統。這個新系統中的很多思想,比如層次文件系統、作為用戶級進程的 shell概念,都是來自于 Multics,只不過在一個更小、更簡單的程序包里實現。1970年,Brian Kernighan給新系統命名為“Unix”,這也是一個雙關語,暗指“Multics”的復雜性。1973年用C重新編寫其內核,1974年,Unix開始正式對外發布。
貝爾實驗室以慷慨的條件向學校提供源代碼,所以Unix在大專院校里獲得了很多支持并得以持續發展。最有影響的工作發生在20世紀70年代晚期到80年代早期,在美國加州大學伯克利分校,研究人員在一系列發布版本中增加了虛擬內存和Internet協議,稱為Unix4.xBSD(Berkeley Software Distribution)。與此同時,貝爾實驗室也在發布自己的版本,稱為System V Unix。其他廠商的版本,比如Sun Microsystems的Solaris系統,則是從這些原始的BSD和System V版本中衍生而來。
20世紀80年代中期,Unix廠商試圖通過加入新的、往往不兼容的特性來使它們的程序與眾不同,麻煩也就隨之而來了。為了阻止這種趨勢,IEEE(電氣和電子工程師協會)開始努力標準化Unix的開發,后來由 Richard Stallman命名為“Posix”。結果就得到了一系列的標準,稱作Posix標準。這套標準涵蓋了很多方面,比如Unix系統調用的C語言接口、shell程序和工具、線程及網絡編程。最近,一個被稱為“標準Unix規范”的獨立標準化工作已經與Posix一起創建了統一的Unix系統標準。這些標準化工作的結果是Unix版本之間的差異已經基本消失。
參考資料:
- 深度理解計算機系統(P11)