011 | Linux基礎入門

本文為《跟馬哥學linux》系列文章的第十一篇,上一篇文章為《 linux發展歷史-06》。

前面我們講了unix,linux,macos等操作系統,以及所謂的linux之間的悲歡離合的故事。而且我們知道System V Unix與BSD二者之間發起了一場曠日持久是官司,把BSD告上法庭,開始unix內戰的第一階段,后面發展到第二階段,第二階段主要是AT&T持有了sun公司20%股份后,AT&T與幾家公司,如IBM、DEC、HP等公司,創立了開放軟件基金會,他們彼此之間又對抗了第二階段。不管怎樣,他們之間的官司打了很久。這個官司進行中,微軟的windows茁壯成長起來,讓比爾蓋茨賺到了幾十億美金。而在此期間,minix誕生了,但他沒能扛起去拯救GNU組織當中,希望有這么一個操作系統出現的大旗。再后來,1990年前后,BSD開始進行反擊,因為BSD在于System V Unix大戰當中,已經把System V Unix相關代碼清除殆盡,從此,與System V Unix再無任何瓜葛。因此,他們認為他們當初創建的使命已經圓滿完成,之后Jolitz移植到x86系統上,x86平臺就是因特爾公司所生產的CPU,也包括后來AMD的兼容PC架構,成為X86系列。到那個時候,BSD開始能夠嘗試運行在X86系列的非專用的小型機上,于是整個unix領域迎來了第一縷曙光,不過這個人的項目應該是在幾個商業公司支持下研發的,這幾家公司更希望以閉源的方式,以商業授權的方式將移植后的BSD向外發行,Jolitz不滿,于是他把自己一年多的成果完全刪了,并退出項目,所以,BSD項目在1991年夭折。不過,這個項目在后來的項目中再次出現,

不過在1991年8月,芬蘭大學生Linus Torvalds宣布成立Linux項目,他最初研究linux的主要原因是學校的unix太貴,并且他說早知道有386-BSD項目,他不會去研究linux系統的不過386-BSD項目在1992年重新活過來的時候,linux已經誕生好幾個月。386-BSD項目在今天確實還在使用中,而且在某些領域,甚至在linux成熟之前,像早期的網易的運維當中,他們的WEB服務器都是跑free BSD系統。在那個時候,確實看不出來誰優誰劣,現在具有壓倒性的優勢。更重要的是,1991年前后,http協議誕生。隨著tcp/ip協議的成熟和http協議誕生,互聯網呈現了大爆炸的發展。而linux正好在那個時候宣布成立。隨后的幾年中,由于linux遵循GPL協定,任何人可以任意獲取和修改,互聯網上就有上百名黑客級人員,在獲取到linux源碼后,給他注入研發實力。1993和1994年互聯網大爆炸的時代,linux和BSD的重要性才終被整個技術屆所了解,被整個unix領域所正式面對,但不幸的是,對BSD支持來講,AT&T對BSD的訴訟耗費了大量的時間,所以使得關鍵的博客運維開發者,在此之前為了避免官司纏身,紛紛轉向linux陣營。所以,BSD正式沒落。把最好的時間讓給了linux。linux開發與BSD不同的是,linux完完全全根植在互聯網,所有的作者都來自互聯網,并借助于Larry Wall ,他研發過patch工具,patch工具能使得源代碼在分發時不用整包進行,利用diff制作補丁,利用patch進行打補丁操作,使得互聯網協同開發成為可能。因此,借助于Larry Wall研發的patch工具,linux在互聯網爆炸時代,非常茁壯成長起來。1994年,linux的1.0版本正式發布。在這四年中,linux發展非常快。

接下來,描述一下一個操作系統的基本結構。為了能夠使得多個程序運行起來,我們需要一個通用的監控程序,監控其他程序的運行。這個程序自己不負責具體的事情,不負責特定的能夠滿足用戶需要的活,他僅僅是把能夠滿足用戶需要的多個活,在同一臺電腦上運行起來,實現多任務的功能。當初就是這個原因來研發mac的。

linux的任務雖然比mac簡單很多,但沿用了mac用于實現監控其他程序,支持多任務的特性,依然保留了下來。意味著unix其實是一個工作在硬件之上的監控程序。這個監控程序只是負責把底層硬件驅動起來,并把底層硬件所提供的各種功能虛擬化,

比如把內存切割為N段,把CPU所提供的時間片切成N片,供多個程序輪流使用,把底層的硬件資源切割成能分配給多個應用程序的組成部分,并監控這個程序是如何使用這些資源的,

同時如何啟動一個程序,如何關閉一個程序,也都是由監控程序負責完成,所以監控程序取得了整個程序的應用權,把硬件的本來面目,虛擬成了軟件的面目,

把CPU的計算能力切割成了N片,并且輪流使用,并且第一片供第一個程序,假如一共有三個程序,時間是不動的。第二片給第二個程序,第三片給第三個程序,然后依次類推,第四片又給第一個程序,完成復用,這個方式成為時序復用。

對于內存來講,他通過將空間切割成多片的方式,分配給多個應用程序,從而完成內存資源的復用。這種復用帶來的結果是,能夠把一個資源切割成N塊,

所以,我們可以認為,每個程序都獨立占了CPU,只是占了cpu的一部分。第一個程序也占了內存,也只是占了一部分。站在程序的角度來看,他以為自己是唯一跑在這個計算機的程序,他不知道其他程序的存在。他發現自己的程序的使用是通過操作系統實現的,認為只有自己和監控程序,每一個程序都是這樣,因此,監控程序為每一個程序虛擬出美好家園。

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播