Linux學習總結02—Linux的操作系統發展史(原創)

   我們都知道,在美國賓夕法尼亞大學,有那么一種計算機,叫ENIAC,這種機器耗電量是非常大,而且主機也是龐大,它誕生于1946年的2月14日的情人節,確實有紀念意義,就算是約炮也是拿著智能手機先搖一搖,好看就勾搭,不好看的就拉黑,這臺計算機可并不是造福人類的,只是計算數據,我想,當時的情況是這樣,在這臺計算機沒有出世之前,那幫工程師們計算數據通常時間是很長的,快的話兩個月,要是碰上特別復雜的,三五個月肯定都有,要知道,戰爭年代,時間就是勝利,如果速度那么慢的話,是肯定不會讓人接受的,所以賓夕法尼亞大學就開始申請研制可以解決一些特別復雜計算的方程式的計算機,研制出來之后,有原先的兩個月縮減出來兩天,所以,戰爭帶來毀滅的同時,也會帶來并且推動的東西。

   但是其實第一臺計算機其實并不是ENIAC,而是ABC,誕生于愛荷華州立大學,是由一位導師和幾個學生一同研發出來的。

   后來計算機的硬件慢慢形成,這一形成是由馮.諾依曼提起的,除了采用我在上述第一章提到的五大部件之外,采用二進制也是他提出來,(二進制由0和1組成)這個理論到現在還是主流,因為它或許是簡單而又全。

   我們都知道第一臺操作系統是UNIX,在早期的時候是沒有操作系統的,那時候的計算機是需要打卡,一個一個孔就是1,沒有孔的就是0,然后將那個小卡片依次送進計算機里面讓它讀,之后就通過打印機似的輸出系統給顯示出來,可見這是一個很麻煩的事情,當時貝爾實驗室(A&AT)、通氣公司、麻省理工大學等研發一款操作系統,這應該是世界上第一款操作系統,但研究的時間太長,而且進度非常緩慢,貝爾實驗室就率先退出了,之后就停滯、在啟動,雖然好像是研究出來了,不過并沒有形成那么一種通用。

   后來貝爾實驗室的人員有個叫做肯·湯普森,他之前就是參加研發那第一款操作系統的人,在貝爾實驗室里寫出一個多用戶的操作系統—-UNIX,起初就是他玩游戲時不太爽,而且那個游戲本來就是為當時第一款操作系統所研發的,而且運行也是不太流暢,后來貝爾實驗室退出之后,他就是就想自己寫一個程序讓自己的游戲跑起來,可問題是貝爾實驗室能批下來這個事情嘛?似乎覺得也不可能,他發現了在實驗室里有一個PDP-7沒人用,因為那時候已經出來PDP-11了,而且貝爾實驗室也是很有錢。呵呵!

   從此他空閑的時間都在這臺機子上寫他的程序,在70年完成,他當時讓同事們看他的游戲,可同事并不關心他的游戲,而是關心他的系統,因為他系統的健壯性和易用性都非常的好,于是乎在實驗室內部開始裝上了UNIX,所以70年是UNIX的元年(時間具體我也是記不清了)

   但是還是很麻煩,麻煩在于它是用匯編語言寫的,如果轉移到另一個硬件架構上,需要寫這個程序,并且要根據那個平臺編譯,這的確是很麻煩,在1973年的時候,他的同事丹尼斯·里奇將匯編語言B語言開始改版,加入函數等功能成為了C語言高級語言,讓它的可移植性功能開始了它在世界重要的發揮作用,于是丹尼斯.里奇使用C語言來重新編寫UNIX操作系統。

   后來肯.湯普森開始放假,假期一年,帶薪休假(我的內心是羨慕的),他來到了伯克利分校教學,伯克利分校也組織了一個研究UNIX的社團,在湯姆森的幫助下,他們研制出一套BSD的操作系統,里面也有A&AT UNIX的源代碼,不過當時A&AT當時主要生產別的業務,對于Unix來說,你想要的話你就取走,于是又很多公司都來了,比如HP、SUN以及IBM,貝爾實驗室都無償的給他們了,在后來BSD開始收費,好像是緊跟著他們也開始收費了吧(具體的我也記不清了),直到貝爾實驗室一分為二,想要開始收回版權,就與BSD開始長達幾十年的官司。

   這十幾年也是個黃金十幾年,因為蘋果和微軟也殺出來了,尤其是微軟,這幾十年掙了特別多,可他們發現的時候已經晚了,這里就不介紹微軟和蘋果的歷史了。

   此時的Unix已經是商業化了,在1983年,有人提出,軟件一切自由,于是有人就開始發起共產主義道路,這人就是理查德·馬修·斯托曼,他認為軟件都是自由的,不能被你們這些資本主義家占有(其實就是商業化),于是搞出了一套協議叫GNU(不叫GUN,意思是GNU is not Unix)很快就有天下義士響應(指的是那些熱愛自由、不斷挑戰新的規則的黑客們),于是又很多開源軟件在GNU協議中,比如GCC、Glib等,但是并沒有人研發出一個內核程序,所以這個協議也是托了很久。

   Unix教育機構中也是不讓用的,這下該怎么辦呢,在1987年,安德魯·斯圖爾特編寫了一套教育類的核心操作系統—-Minux,主要用于教育事業,來了解計算機的用于教學的一套操作系統,他不允許別人修改他們代碼,雖然可以給你,但你不能修改內核,這下讓那些熱愛自由精神的組織者既高興也是失望,高興的是這個內核很好,失望的是這個內核不給你用(恐怕還是失望多一點)。

   在1991年的8月份,有一位計算機學生,叫做Linus,他編寫一個內核,發布在FTP上,并且發布了一個帖子,很快共產主義開一次升起了冉冉星空,星星之火被再一次燎原。經過哪些虛擬團隊不斷的修改、添加以及測試之后,Linux誕生了,由于Linux就是一個內核,只能讓計算機的硬件利用并且相互協調通信,所以GNU的那些軟件也就開始跑在Linux內核之上,起初Linux并不兼容,因為它并不是兼容POSIX,因為Unix是根據POSIX規則開發的,于是在Linus有兩條道路,要不就修改那些軟件,要不就修改Linux內核,當然,他選擇了第二條道路,此后的Linux也是一強再強,發展的速度也是非常的快。

   現在,Linux已經完全貼近我們的生活中了,雖然你看不見,可你在悄悄地使用它。

原創文章,作者:劉 祥宇,如若轉載,請注明出處:http://www.www58058.com/55494

(0)
劉 祥宇劉 祥宇
上一篇 2016-10-29 22:11
下一篇 2016-10-29

相關推薦

  • haproxy實現discuz論壇的動靜分離和負載均衡

    一、在cs2、cs3、cs4上安裝httpd [root@cs2 ~]# yum install httpd [root@cs3 ~]# yum install httpd [root@cs4 ~]# yum install httpd 二…

    Linux干貨 2016-06-05
  • 編譯安裝httpd2.4-centos6

    centos6編譯安裝httpd2.4 默認是不支持,需自己動手進行編譯 apr-1.4+ apr-util-1.4+ :需提前進行編譯安裝這兩個軟件 編輯安裝httpd2.4實例 1、#安裝開發包 [root@www ~]# yum groupinstall “Development Tools” “Server Pla…

    Linux干貨 2017-05-17
  • 如何加密/混亂C源代碼

    之前發表了《6個變態的C語言Hello World程序》[酷殼鏈接] [CSDN鏈接],主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程序是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。 不過,通過這種極端的寫法,大家可以看到源代碼都可以寫得那…

    Linux干貨 2016-05-08
  • LANMT架構搭建jspxcms

                    LANMT架構搭建jspxcms 前言 LANMT是什么? 實驗拓撲圖 實驗環境 實驗步驟 Tomcat配置 MySQL配置 jspxcms安裝 Apache Http…

    Linux干貨 2016-04-22
  • 18文本處理工具sed

    18文本處理工具sed     sed,全稱Stream EDitor,是一種流編輯器,它一次處理一行內容,但是它構思巧妙,功能強大,是運維工作中必不可少的文本處理工具,也是因為這樣,被稱作文本處理三劍客之一。     sed在處理時,把當前處理的行李存儲在臨時緩沖區中,這個區域被稱作“模式空間pa…

    Linux干貨 2016-08-12
  • 馬哥教育網絡第20期—IO類型與IO模型

    IO類型與IO模型 IO類型 同步與異步(synchronous,asynchronous):關注消息通知機制 同步:進程發出系統調用之后,不會立即有返回信息,但是一旦有返回信息,則一定是最終結果. 異步:進程發出系統調用之后,會有立即返回結果,但不是最終的結果,當內核處理完成之后,內核通過通知機制通知進程,該系統調用已完成. 阻塞與非阻塞(blocking…

    Linux干貨 2016-06-26
欧美性久久久久