久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

走進(jìn)Linux 操作系統(tǒng)


統(tǒng)的概念  
    雖然定義總是生硬、乏味、令人費(fèi)解,但是它畢竟是概括性最強(qiáng)、最能體現(xiàn)水平的,所以我們還是要在開(kāi)始就給出操作系統(tǒng)定義:  操作系統(tǒng)是應(yīng)用程序的運(yùn)行環(huán)境?! 蚓侔?!  可能運(yùn)行環(huán)境這個(gè)術(shù)語(yǔ)令你如墜云端,它太廣泛、太抽象了。你一定在問(wèn)運(yùn)行環(huán)境到底是什么?簡(jiǎn)單地講,運(yùn)行環(huán)境是一種即服務(wù)和控制于一體地容器?! ∪绻銢](méi)有理解環(huán)境這個(gè)概念,我可以舉個(gè)并不貼切的社會(huì)實(shí)例?! ≡陂_(kāi)發(fā)區(qū)中可以看到許多企業(yè)孵化池或產(chǎn)業(yè)園,其中入住了各種各樣的企業(yè),孵化池或產(chǎn)業(yè)園的管理機(jī)構(gòu)會(huì)統(tǒng)一為其中的企業(yè)辦理各種工商、保險(xiǎn)、衛(wèi)生醫(yī)療等手續(xù)、提供后勤、治安等基礎(chǔ)服務(wù),企業(yè)需要某些政務(wù)服務(wù)時(shí),可以通過(guò)管理機(jī)構(gòu)去和政府聯(lián)系,處理相關(guān)事宜,而不需要親自去處理這些和企業(yè)業(yè)務(wù)無(wú)關(guān)的政務(wù)活動(dòng),因此可以抽出身來(lái)集中精力在業(yè)務(wù)上。孵化池和產(chǎn)業(yè)園為企業(yè)提供了統(tǒng)一、普遍地服務(wù)和管理,是企業(yè)運(yùn)作的外在環(huán)境。操作系統(tǒng)從這個(gè)意義上來(lái)說(shuō),類(lèi)似于產(chǎn)業(yè)園的管理結(jié)構(gòu),為應(yīng)用程序——好比企業(yè)——提供基礎(chǔ)服務(wù)和管理?! ‘?dāng)然,我們現(xiàn)在并不指望你立刻認(rèn)識(shí)到操作系統(tǒng)深刻內(nèi)涵,對(duì)它的認(rèn)識(shí)需要在不斷地使用和思考中消化和積累,在本期雜志中,我們將從各種角度介紹“運(yùn)行環(huán)境”這個(gè)術(shù)語(yǔ)的真實(shí)含義,并在今后各期雜志中分階段、分層次的展開(kāi)學(xué)習(xí)操作系統(tǒng)的各個(gè)領(lǐng)域。相信在不久的將來(lái),你就能和我們一起認(rèn)清它的廬山真面目了。操作系統(tǒng)產(chǎn)生背景  想要認(rèn)清一個(gè)人,最好是從小認(rèn)識(shí)他。對(duì)技術(shù)的理解也是如此,我們必須了解它的產(chǎn)生原因和發(fā)展過(guò)程,才能較為全面的認(rèn)識(shí)該技術(shù)所解決的問(wèn)題,認(rèn)識(shí)它在學(xué)科發(fā)展中所處的地位。對(duì)比技術(shù)發(fā)展各個(gè)階段的特點(diǎn),才能認(rèn)清該技術(shù)的優(yōu)劣。同樣,我們想要把握操作系統(tǒng)的特性,還是先把操作系統(tǒng)放在時(shí)間軸上看看它的來(lái)龍去脈吧!  操作系統(tǒng)并不是計(jì)算機(jī)出現(xiàn)之初就有的,最初的計(jì)算機(jī)科學(xué)中并不存在操作系統(tǒng)這個(gè)概念,所有任務(wù)都直接運(yùn)行于硬件之上。那時(shí)的任務(wù)大多集中于科學(xué)計(jì)算領(lǐng)域,系統(tǒng)硬件實(shí)現(xiàn)相對(duì)簡(jiǎn)單、直接,任務(wù)對(duì)i/o操作的要求也比較低,將結(jié)果記錄到磁帶機(jī)之類(lèi)的簡(jiǎn)單設(shè)備中足矣。老程序員們大多采用手工或是用打孔機(jī)的方式將將二進(jìn)制數(shù)據(jù)和程序輸入機(jī)器內(nèi)存,然后執(zhí)行計(jì)算,最后,將結(jié)果保存到磁帶機(jī)上。一旦出現(xiàn)錯(cuò)誤,機(jī)器上的調(diào)試燈會(huì)將保存在寄存器中的錯(cuò)誤代碼反映出來(lái),程序員們會(huì)據(jù)此去分析錯(cuò)誤所在?! ?BR>     隨著科學(xué)計(jì)算任務(wù)變得越來(lái)越復(fù)雜,計(jì)算機(jī)逐漸被應(yīng)用到了科學(xué)計(jì)算以外的其它領(lǐng)域。硬件設(shè)備比以前更加豐富和復(fù)雜了,i/o操作要求大幅提高,程序規(guī)模迅速擴(kuò)大,需要調(diào)試的錯(cuò)誤更是直線上升,直接操作硬件,對(duì)程序員來(lái)說(shuō)變得越發(fā)困難?! ?BR>    于是出現(xiàn)了高級(jí)語(yǔ)言、編譯系統(tǒng),幫助程序員簡(jiǎn)化開(kāi)發(fā)工作;出現(xiàn)了操作系統(tǒng),幫助程序員管理和操作硬件設(shè)備。程序員們可以將精力集中于開(kāi)發(fā)需要的任務(wù),煩瑣的如任務(wù)裝載、分配/釋放內(nèi)存、內(nèi)存尋址、設(shè)備驅(qū)動(dòng)、數(shù)據(jù)存儲(chǔ)等等硬件相關(guān)操作統(tǒng)統(tǒng)交給操作系統(tǒng)管理——真可以說(shuō)是生產(chǎn)力的一次解放?! ?BR>    時(shí)代繼續(xù)發(fā)展,多用戶多任務(wù)時(shí)代的來(lái)臨,使得系統(tǒng)管理更加強(qiáng)調(diào)資源共享性。用戶直接操作系統(tǒng)資源顯然有悖于上述精神,因此資源合理分配與保護(hù)更為操作系統(tǒng)發(fā)展提供了新的挑戰(zhàn)和機(jī)遇,同時(shí)奠定了操作系統(tǒng)不可或缺的地位,從此,操作系統(tǒng)成為為軟件體系中最基礎(chǔ),最重要的組成部分了。操作系統(tǒng)的任務(wù)從操作系統(tǒng)的起源可以看出,操作系統(tǒng)的核心任務(wù)是作為硬件和應(yīng)用程序之間的一個(gè)中間層,或者說(shuō)是應(yīng)用程序的一個(gè)操作平臺(tái),通過(guò)它應(yīng)用程序和系統(tǒng)硬件隔離開(kāi),應(yīng)用程序利用它提供的服務(wù)完成硬件相關(guān)操作?! ?BR>    總而言之,操作系統(tǒng)方便了應(yīng)用程序運(yùn)行,保護(hù)了系統(tǒng)資源。具體地講,操作系統(tǒng)為用戶帶來(lái)了幾個(gè)方面的好處:易操作性: 操作系統(tǒng)是用戶和計(jì)算機(jī)之間的接口,它大大簡(jiǎn)化了用戶執(zhí)行任務(wù)的復(fù)雜程度?! ?BR>    作為應(yīng)用程序的執(zhí)行環(huán)境:它為程序員建立應(yīng)用程序提供了必要的編輯環(huán)境、編譯環(huán)境和調(diào)試工具;為程序的執(zhí)行提供了載入服務(wù)和資源分配服務(wù);為數(shù)據(jù)存取提供了i/o訪問(wèn)服務(wù);為數(shù)據(jù)格式轉(zhuǎn)化和定位提供了文件操作服務(wù);為程序的安全運(yùn)行提供了權(quán)限控制服務(wù);為程序運(yùn)行失敗提供了錯(cuò)誤報(bào)告服務(wù)等等系統(tǒng)服務(wù),從此,程序員和用戶都不再需要關(guān)心那些令人生畏的計(jì)算機(jī)體系結(jié)構(gòu)細(xì)節(jié),可以全心全意地開(kāi)發(fā)應(yīng)用程序了?!?nbsp;
    有效性:從另一個(gè)角度看待操作系統(tǒng),可以將它認(rèn)為是一個(gè)計(jì)算機(jī)資源管理系統(tǒng)?! ∮捎谙到y(tǒng)中資源種類(lèi)各異,用法也大不相同,如果直接由用戶管理這些資源,比如內(nèi)存分配,時(shí)鐘計(jì)時(shí),i/o驅(qū)動(dòng),存儲(chǔ)維護(hù),勢(shì)必要求用戶具有豐富的軟硬件知識(shí),深刻把握計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),否則資源將難以合理使用,最終造成系統(tǒng)混亂,甚至崩潰。而且現(xiàn)代的多用戶操作系統(tǒng)更是要求系統(tǒng)資源共享,資源必須合理分配給多用戶、多任務(wù),只有采用一定的調(diào)度策略和分配策略,才能保證資源被公平有效的利用。所以,配置資源成了提高性能的關(guān)鍵——如同資源配置是提高生產(chǎn)力的關(guān)鍵一樣。   
    安全性:安全性是操作系統(tǒng)為我們提供的另一個(gè)重要的特點(diǎn),它為我們提供了多層面的安全保障?! ?BR>    首先,操作系統(tǒng)作為系統(tǒng)硬件和用戶的中間平臺(tái),禁止應(yīng)用程序直接操作硬件,禁止應(yīng)用程序直接訪問(wèn)內(nèi)存,執(zhí)行特權(quán)指令。多數(shù)系統(tǒng)都將應(yīng)用程序運(yùn)行限制在用戶空間(低特權(quán)級(jí)),而操作系統(tǒng)則運(yùn)行于內(nèi)核空間(高特權(quán)級(jí)),應(yīng)用程序只有通過(guò)系統(tǒng)調(diào)用請(qǐng)求操作系統(tǒng)所提供的接口,才能通過(guò)操作系統(tǒng)間接執(zhí)行和硬件相關(guān)的操作或是執(zhí)行特權(quán)指令。因此保護(hù)了系統(tǒng)不被惡意的應(yīng)用程序破壞或非法操作?! ?BR>    其次,多任務(wù)多用戶操作系統(tǒng)必須保證,不同任務(wù)之間信息不能泄漏,因此需要為任務(wù)劃分各自的私有空間和對(duì)其進(jìn)行訪問(wèn)控制。對(duì)不同用戶進(jìn)行相應(yīng)的授權(quán)和認(rèn)證,可以保護(hù)用戶各行其是,互不侵犯?! ?BR>    總之,操作系統(tǒng)安全涉及方方面面,健壯的操作系統(tǒng)必須能多方位地保證任務(wù)安全執(zhí)行?! ∫讛U(kuò)展:計(jì)算機(jī)技術(shù)的高速發(fā)展和計(jì)算機(jī)日益普及,計(jì)算機(jī)硬件設(shè)備不斷推陳出新,這要求操作系統(tǒng)提供的服務(wù)也能夠日新月異,因此要求操作系統(tǒng)具有良好的擴(kuò)展性?! ?BR>    由于操作系統(tǒng)對(duì)系統(tǒng)資源和服務(wù)進(jìn)行了抽象,屏蔽了底層細(xì)節(jié),統(tǒng)一了上層接口,添加設(shè)備或服務(wù)成了一件輕而易舉的事,需要做的僅僅是,在設(shè)備或服務(wù)規(guī)定的接口下完成新的實(shí)現(xiàn)即刻。  什么是資源?  
    資源概念在操作系統(tǒng)中使用得相當(dāng)廣泛,內(nèi)存、磁盤(pán)、文件、處理器、時(shí)鐘等等軟硬件都可以劃歸到資源范疇。資源的概念其實(shí)很好理解,概括來(lái)講,系統(tǒng)中的資源指的是系統(tǒng)提供給進(jìn)程使用的特殊實(shí)體,進(jìn)程通過(guò)向操作系統(tǒng)請(qǐng)求獲得這些實(shí)體,另外,系統(tǒng)分配這些實(shí)體給進(jìn)程前,進(jìn)程需要掛起等待。凡是滿足上述條件的實(shí)體就屬于資源。操作系統(tǒng)的演化和其它任何事務(wù)一樣,操作系統(tǒng)并非一成不變。迄今為止,它已經(jīng)經(jīng)歷了半個(gè)多世紀(jì)的發(fā)展,已經(jīng)形成了一個(gè)龐大的家族。從個(gè)人計(jì)算機(jī)到工作站,從通用系統(tǒng)到專(zhuān)用系統(tǒng),從嵌入式到虛擬機(jī),可謂形式豐富多樣。我們難以將所有操作系統(tǒng)囊括,只希望提綱挈領(lǐng)地介紹在操作系統(tǒng)發(fā)展進(jìn)程中具有代表性的幾種系統(tǒng),理清它的演化脈絡(luò)。         
    進(jìn)化歷程 :   最早的操作系統(tǒng)是簡(jiǎn)單的單道批處理系統(tǒng)。它的功能相當(dāng)簡(jiǎn)陋,只能串行執(zhí)行預(yù)先組織好的任務(wù)組。早先的系統(tǒng)一次只能運(yùn)行一個(gè)任務(wù),每個(gè)任務(wù)必須先裝入,再等執(zhí)行完后才能裝入下一個(gè)任務(wù),重復(fù)的裝入浪費(fèi)了大量的時(shí)間。單道批處理系統(tǒng)的出現(xiàn),大大的提高了系統(tǒng)吞吐率?! ?事情并非總?cè)缦胂蟀沩樌??! ?
    由于數(shù)據(jù)存儲(chǔ)時(shí)所消耗的時(shí)間——i/o操作時(shí)間——相比數(shù)據(jù)處理時(shí)間——cpu操作時(shí)間——要高出數(shù)倍(往往在20倍以上),所以程序運(yùn)行到i/o操作期間,cpu總是需要停下來(lái)(掛起)等待數(shù)據(jù)傳輸完成,無(wú)形中浪費(fèi)了大量寶貴的時(shí)間,任務(wù)組中后續(xù)程序的執(zhí)行也因此被延遲了。如何避免數(shù)據(jù)傳輸?shù)却龓?lái)的時(shí)間浪費(fèi)呢?能否在進(jìn)行傳輸期間,解放cpu去執(zhí)行別的任務(wù)呢?  為解決這個(gè)瓶頸,單道批處理系統(tǒng)進(jìn)化到了多道批處理系統(tǒng)?! ?BR>    所謂多道就實(shí)際就是說(shuō),處理器(當(dāng)然現(xiàn)在談到的都屬于單處理器系統(tǒng))可以交錯(cuò)運(yùn)行多個(gè)程序,某個(gè)任務(wù)掛起時(shí),運(yùn)行另一個(gè)程序。這樣一來(lái), cpu等待數(shù)據(jù)傳輸造成的時(shí)間浪費(fèi)問(wèn)題得以解決,系統(tǒng)吞吐率又一次得到了提高。  計(jì)算機(jī)的發(fā)展使得任務(wù)不再僅僅局限于科學(xué)計(jì)算,越來(lái)越多的應(yīng)用于辦公、生活等日?;顒?dòng)中。科學(xué)計(jì)算中的任務(wù)多數(shù)執(zhí)行路徑都是固定不變,預(yù)先定義好的,只需要給定輸入,得到結(jié)果期間程序執(zhí)行中途不需要外界干預(yù),與之不同,辦公,生活中的許多任務(wù)都必須和用戶不斷交互,任務(wù)結(jié)果隨時(shí)都會(huì)因?yàn)橛脩舻倪x擇改變。這時(shí)的系統(tǒng)變得更公開(kāi)、更普遍,往往允許多個(gè)用戶可以同時(shí)使用。交互模式和共用模式需要任務(wù)響應(yīng)時(shí)間盡可能的快(超過(guò)20秒的話,人的思維就容易被打斷或變得很不耐煩),這樣才能讓多個(gè)用戶都滿意,于是操作系統(tǒng)開(kāi)始采用分時(shí)技術(shù),處理器的運(yùn)行時(shí)間分成數(shù)片,均分或依照一定權(quán)重派發(fā)給系統(tǒng)中的用戶使用。這種將處理器虛擬給多用戶共同使用的方法,不但可以滿足快速響應(yīng),而且也可以使得所有用戶獲得計(jì)算機(jī)完全是在為自己服務(wù)的假象。  
    上面給出了操作系統(tǒng)發(fā)展的主流路線:?jiǎn)蔚琅幚怼嗟琅幚怼謺r(shí)系統(tǒng),除此以外現(xiàn)在還出現(xiàn)了許多分布式操作系統(tǒng),嵌入系統(tǒng),不過(guò)總體技術(shù)思路都仍然脫離不了多道、分時(shí)等概念。操作系統(tǒng)內(nèi)容  操作系統(tǒng)的演化使得其功能變得愈來(lái)愈強(qiáng)大,但結(jié)構(gòu)也越來(lái)越復(fù)雜。在以方便用戶(包括開(kāi)發(fā)人員和終端用戶)為宗旨的思想下,操作系統(tǒng)不斷集成新功能,新服務(wù)。回憶從前大家使用的dos系統(tǒng)僅僅只需要一張軟盤(pán),而如今的windows系統(tǒng)或linux系統(tǒng)動(dòng)輒就需要數(shù)張光盤(pán),可見(jiàn)已經(jīng)從過(guò)去的麻雀變成了恐龍——雖然它們都有五臟六腑?! ?BR>    雖然變成了恐龍,但是其結(jié)構(gòu)還時(shí)相對(duì)穩(wěn)定,清晰的。和軟件工程提出的思想一致,操作系統(tǒng)也采取了分層結(jié)構(gòu),越向上層抽象都越高,越接近用戶;相反越向下層,越靠近硬件,抽象也相對(duì)接近硬件。而且高層軟件依靠下層軟件提供的服務(wù),再加上本身提供附加服務(wù)為更高層服務(wù)??傮w來(lái)講呈現(xiàn)倒金子塔形式。  
    下面我們就簡(jiǎn)要分析一下操作系統(tǒng)的體系結(jié)構(gòu),然后再談?wù)劜僮飨到y(tǒng)設(shè)計(jì)時(shí)需要主要考慮的問(wèn)題。操作系統(tǒng)組成   在形形色色的操作系統(tǒng)之中,組成結(jié)構(gòu)不盡相同。因?yàn)橥瑯幽康膶?shí)現(xiàn)的手段可以自由選擇,所以其組成也有很大差異,我們選取最普遍的操作系統(tǒng)(unix)組成結(jié)構(gòu),向大家揭示操作系統(tǒng)的體系結(jié)構(gòu)的大致框架。對(duì)于各種操作系統(tǒng)之間的具體差異,大家可以以下面講述的結(jié)構(gòu)對(duì)比認(rèn)識(shí)。(注意我們這里所說(shuō)的操作系統(tǒng)屬于宏觀概念,接近于操作系統(tǒng)發(fā)行版,不但包括了內(nèi)核,還包含了學(xué)多系統(tǒng)軟件和基礎(chǔ)應(yīng)用軟件。)      
    我們用一組簡(jiǎn)單的數(shù)學(xué)公式來(lái)描述操作系統(tǒng)的組成要素:     操作系統(tǒng) = 內(nèi)核+系統(tǒng)程序     系統(tǒng)程序 = 編譯環(huán)境 + api + aui     編譯環(huán)境 = 編譯程序+連接程序 + 裝載程序     api      = 系統(tǒng)調(diào)用 + 語(yǔ)言庫(kù)函數(shù)(c,c++,java,etc)     aui     =  shell + 系統(tǒng)服務(wù)例程(如x服務(wù)器等)+應(yīng)用程序(瀏覽器,字處理,編輯器)   &nb

COPYRIGHT(C) 2011 廈門(mén)永宏亞得機(jī)電科技有限公司版權(quán)所有(閩ICP備05025945號(hào)) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門(mén)市海滄區(qū)興港六里17號(hào)2607室 郵編:361009 聯(lián)系人:翟先生