1. 程式人生 > >2017-9-19Linux基礎知識(2)

2017-9-19Linux基礎知識(2)

linux

2017-9-19Linux基礎知識

  • 一、操作系統的進階歷史


    • 1、單用戶單任務


    • 2、批處理


    • 3、多用戶多任務


    • 4、Unix的誕生


    • 5、Linux的誕生

一、操作系統的進階歷史

1、單用戶單任務

在上回章節說道,早期的操作系統是單用戶單任務,也就是說,一次只能運行一個任務,時間等待很長,而且任務出錯之後你還沒辦法去處理下一個任務,即使任務處理完成,你還得手動處理下一個任務。

2、批處理

後來批處理的興起,它的好處是不用用戶自動手動處理下一個任務,只是你需要規劃好是A先處理完還是B處理完就可以了,比如:我先讓A任務處理完,在讓B任務處理完,將運行的程序按照順序放置在磁帶機上,按照一定的分隔符分開,依次運行,大致為這樣:

  AAAA$$$BBBB

這樣A處理完成之後就會自動處理B任務了,好處就是計算機執行時基本上是一氣呵成,但這畢竟還是單任務,即使在跑著其它任務也不能處理,那麽就需要一個多用戶多任務的系統。

3、多用戶多任務

在千呼萬喚shit出來的情況下,美國組成三大團隊,它們分別是:Bell(貝爾實驗室)、MIT(麻省理工學院)和GE(通用電氣)一起研發一個多用戶多任務的操作系統Multics,起初還是滿懷信心,但是越到後面越難,因為它們迷失了這個操作系統到底怎麽設計以及它的用途是什麽;很快,Bell和GE就放棄了這項計劃,三大團隊散了倆,還有一個在支撐,據說好像是成功了,但不可否認,這個操作系統為以後的Unix提供了非常好的思路。

4、Unix的誕生

Bell當初參與Multics雇傭了一大批工程師,其中有個人叫Ken Thompson,他也是發明Multics項目中的一員,還為了這個平臺開發了一個遊戲,叫太空大戰(Space Travel),但是Bell已經撤出了這個項目了,於是這個遊戲不能在Multics平臺上運行了,但是他想玩這個遊戲,於是想向領導申請需要一臺計算機開發遊戲,當然了,領導不批準,當時的計算機行業已經有一定的規模,但是資金也是比較昂貴的,心灰意冷的他走在實驗室裏發現了一個PDP-7,雖然型號有些老,但是可以使用,於是乎他就開始為這個遊戲開始編寫可供運行的平臺,不過,PDP-7只能支持兩個用戶,其中有一個人開玩笑的說這是個"Unics"之後就稱之為Unix,那一年他們完成是在1970年,於是就稱之為Unux元年。

在他完成之後,就可以在哪裏面玩他的太空大戰,於是就讓他的同事來看這個遊戲,但他的同事對他的遊戲一點興趣都沒有,但對他的操作系統感興趣,因為這個操作系統短小精悍又堅強,1972年,很快在貝爾實驗室達到了十臺之多,當年的十臺量是重新用匯編語言重新構寫,不像現在有高級語言,舉個例子Intel的芯片架構和moto的芯片架構肯定是不一樣,因為在思想和構架上有很多出入。
思路可以延習,但架構是需要重新編寫的,每個PC使用了不同的架構,就需要重新用該架構的匯編寫這個程序,然後通過匯編器編譯成該平臺的機器語言運行,這是一件非常麻煩的事情,於是Ken的同時,Dennis Ritch將匯編B語言添加很多的功能,使得它不用在不同的架構上重新編寫,在編譯時用該平臺的編輯器就可以了,這樣減少了人工的參與。這樣的語言就是我們現在所熟知的C語言。
1974年,在《美國計算機通信》雜誌上刊登了用C語言寫Unix操作系統的文章;同時這也是第一次公之於眾,很快就大火,當時Bell實驗室是所屬於AT&T公司,這個公司因為反壟斷法只能經營電話或電報產品,Unix不能用作商業產品進行轉賣,於是有很多公司和學者等想要研究這個Unix,於是乎Ken沒別工作,只能拷貝這個系統給他們,並且還附屬一些話叫"Love Ken"。
到了1979年,Unix已經經歷了第七個版本,這也可能是它的最後一版本了,它的強大是他們通過向Ken索要Unix時反饋回來的,之前,Ken帶薪休假一年,去了伯克利分校去任教這給研究Unix的小組無疑添加了一個很大的幫助,於是乎Unix的分支出來了,名為BSD,當時研究Unix的組長為Bill Joy。
1980年,DARPA創建了TCP/IP協議在BSD中充分實現,1983年,正式用在BSD上,從而對網絡發揮著巨大的作用。
1980年,微軟成立,當年也是用Unix,只不過換了名叫XENIX,當年三個人一同創建,之後在1981年從某人買下DOS之後經過稍微加工成為了MS-DOS,當年賣給IBM和一些其它廠商,使得PC的價格變低,以此賺了很多錢。
Bell實驗室脫離了AT&T之後,第一件事情就是將操作系統改為收費,同時和BSD打官司,盡管BSD的代碼保留Unix的代碼已經不到20%,這一打就是十年之久。
1985年,有一位人物,他認為軟件都是自由和開放的,這個人叫Richard Stallman,他很激進,他提出一個叫做GNU計劃,意為:GNU is Not Unix.衍生出兩個協議,其中一個是GPL協議,很多的程序宣布都要加入GPL協議,但是它的程序軟件都要在Unix的內核上運行,這也是特別尷尬的一件事情,於是這個協議似乎陷入了僵局。
在1987年,有位Andrew教授Unix的大學老師發明了一個內核取名為Minux,共4000+行代碼,原因是Unix操作系統作為了商用,無論是教育行業還是其它行業都要交一大筆錢才能使用,所以這個老師就開發了這個系統,起初就是用作教育講課用,有一些人請求能不能將這個Minux改進一下,做一些貢獻,可都被他拒絕了。

5、Linux的誕生

就在這陷入特別尷尬的境地的時候,1991年9月份,一個叫Linus的大學生在論壇上發布了他根據POSIX標準發布的內核當初叫做Freax,那些黑客可任意得到下載這個內核進行修改,使這個內核越來越強大,後來就叫做Linux,10月份,Linux正式成立並加入GNU開源協議。

本文出自 “劉祥宇的博客” 博客,轉載請與作者聯系!

2017-9-19Linux基礎知識(2)