• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Linux操作系統(tǒng)構(gòu)建原理與應(yīng)用

      2012-11-25 02:37:16ZHANGJun
      制造業(yè)自動化 2012年4期
      關(guān)鍵詞:源碼內(nèi)核進程

      ZHANG Jun

      0 引言

      Linux是一種自由和開放源碼的類Unix操作系統(tǒng)。目前存在著許多不同的Linux,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計算機硬件設(shè)備中,從手機、平板電腦、路由器和視頻游戲控制臺,到臺式計算機、大型機和超級計算機。Linux是一個領(lǐng)先的操作系統(tǒng),世界上運算最快的10臺超級計算機運行的都是Linux操作系統(tǒng)[1]。Linux一詞的誕生之初僅僅代表的是Linux操作系統(tǒng)的內(nèi)核,但是,隨著Linux操作系統(tǒng)內(nèi)核的不斷發(fā)展,Linux一詞代表的是Linux操作系統(tǒng),并不僅僅局限于內(nèi)核。Linux得名于計算機業(yè)余愛好者Linus Torvalds。

      Linux操作系統(tǒng)誕生與1981年,同一年,IBM公司推出享譽全球的微型計算機IBM PC。到1991年,GNU計劃已經(jīng)開發(fā)出了許多工具軟件,其中包括有名的emacs編輯系統(tǒng)、bash shell程序、gcc系列編譯程序、gdb調(diào)試程序等等。這些軟件為Linux 操作系統(tǒng)的開發(fā)創(chuàng)造了一個合適的環(huán)境,是Linux 能夠誕生的基礎(chǔ)之一。GNU計劃旨在開發(fā)一個類似Unix的操作系統(tǒng),并且該操作系統(tǒng)是完全免費的、開源的。但是Linux內(nèi)核的發(fā)展并不是很順利,Gnu C編譯器的誕生也沒有加快免費的GNU 操作系統(tǒng)的誕生,MINIX操作系統(tǒng)在發(fā)展的過程中已經(jīng)有了版權(quán),但是這種操作系統(tǒng)是有償?shù)?,并不是免費的。對于Linux操作系統(tǒng)而言,已經(jīng)發(fā)展到關(guān)鍵階段,自1991年以來,Linus Torvalds便著手編制屬于自己的操作系統(tǒng),隨著研究的深入,Linux操作系統(tǒng)不僅改變了傳統(tǒng)的操作系統(tǒng)的編程模式,還成為了目前微軟操作系統(tǒng)的最強大的競爭對手。

      1 Linux內(nèi)核

      操作系統(tǒng)的誕生是圍繞著計算機的軟件以及硬件而發(fā)展的,Linux操作系統(tǒng)的誕生的目的便是用于和硬件進行通信,并為使用者提供服務(wù)的最底層的支撐軟件,計算機的軟件以及硬件是相互關(guān)聯(lián)的,絕不能分割開。一個完整的計算機是由許多個硬件部件組成的,比如,處理器、內(nèi)存、外圍輸入輸出設(shè)備、硬盤等一些列電子設(shè)備。但是,這些硬件沒有得到軟件的支撐,硬件是毫無意義的。使得這些硬件能夠投入工作的軟件便是操作系統(tǒng),操作系統(tǒng)也可以理解為硬件使能的軟件,Linux操作系統(tǒng)中的操作系統(tǒng)指的是“內(nèi)核”或者“核心”,一個完整的Linux內(nèi)核主要有以下幾個主要部分組成:文件系統(tǒng)、網(wǎng)絡(luò)通信、存儲管理系統(tǒng)、系統(tǒng)調(diào)用、CPU和進程管理以系統(tǒng)初始化引導(dǎo)等。

      操作系統(tǒng)的分析需要明確操作系統(tǒng)的體系架構(gòu),因此,分析操作系統(tǒng)不能僅僅局限于某一個角度、分析操作系統(tǒng)的其中的一個目標便是能夠使得我們能夠更加清晰理解操作系統(tǒng)的源碼。Linux內(nèi)核從架構(gòu)上得到創(chuàng)新,實現(xiàn)了技術(shù)性比較強的體系架構(gòu)屬性。一方面,Linux內(nèi)核是由很多個子系統(tǒng)組成的,另外一個方面,Linux操作系統(tǒng)將所有的服務(wù)集成與內(nèi)核一體中,因此,Linux內(nèi)核又是一個完整的整體。這些與微內(nèi)核的體系架構(gòu)存在著諸多不同之初,微內(nèi)核先是會為用戶提供一些簡便的、使用頻率高的服務(wù),比如輸入輸出、內(nèi)存管理以及通信等,但是,微內(nèi)核卻將具體的服務(wù)都嵌入到微內(nèi)核層中。隨著Linux內(nèi)核的不斷發(fā)展,Linux內(nèi)核已經(jīng)發(fā)展的非常穩(wěn)定,并且在內(nèi)存的使用以及CPU的使用上面大大提高了效率。此外,Linux內(nèi)核具備非常好的移植特性,Linux內(nèi)核編譯通過之后便可以運行在不同類型的CPU處理器中以及體系架構(gòu)不同的平臺上。

      2 Linux操作系統(tǒng)構(gòu)建原理

      Linux的研發(fā)團隊可以稱之為Linux社區(qū),他們主要負責(zé)開發(fā)以及規(guī)范Linux內(nèi)核,并將內(nèi)核的版本控制成唯一的。但是,實際中的Linux操作系統(tǒng)中的內(nèi)核的版本則指的是Linux內(nèi)核的版本號。Linux1.0是Linux內(nèi)核的第一版,誕生于1994年3月14日,從此之后,Linux內(nèi)核版本便會不斷被更新。Linux內(nèi)核為了能夠友好的與Copyright相對照,特將已經(jīng)發(fā)展標準的GNU許可協(xié)議修改為Copyleft。通用的公共許可(GPL)授權(quán)用戶可以拷貝、修改以及銷售帶有Copyleft的應(yīng)用程序,或者Copyright應(yīng)用程序,但是,必須確保應(yīng)用程序可以進一步的進行拷貝、修改以及銷售,同時,也必須確保其余的用戶也可以無償?shù)墨@取最新的內(nèi)核源碼。實踐證明。通用的公共許可(GPL)在Linux內(nèi)核發(fā)展的過程中起到了非常大的作用,GPL不僅將Linux帶入了商業(yè)化的階段,還使得Linux編程人員更加團結(jié),不斷的誘惑新的系統(tǒng)愛好者加入到Linux中。一個Linux內(nèi)核主要由下面幾個子系統(tǒng)組成:

      系統(tǒng)調(diào)用接口:系統(tǒng)調(diào)用接口簡稱SCI,SCI主要是為執(zhí)行從用戶空間到內(nèi)核的一系列的函數(shù)調(diào)用提供特殊的機制。SCI主要依賴于操作系統(tǒng)的體系架構(gòu),SCI的實現(xiàn)源碼主要存放在文件路徑./linux/kernel中,而依賴的體系架構(gòu)源碼則存放在./linux/arch中;進程管理,進程管理子系統(tǒng)的主要工作是執(zhí)行相關(guān)的進程操作。通常情況下,進程管理在內(nèi)核中也稱之為線程管理,主要代表的是單獨的CPU虛擬化。進程這個術(shù)語一般情況下在用戶空間叫的比較多,但是Linux內(nèi)核并沒有將進程與線程兩個概念分別開來、Linux內(nèi)核中新的進程的創(chuàng)建方式是通過SCI提供的應(yīng)用程序編程接口(API),通過提供的API,用戶可以通過執(zhí)行kill、exit命令停止相關(guān)進程,并可以在進程與進程之間實現(xiàn)同步與通信,通信機制主要有signal或者POSIX機制。進程管理個工作還需要負責(zé)處理不同進程之間如何共享CPU的需求的操作。因此,O(1)調(diào)度程序便隨著Linux內(nèi)核的誕生而被研究出來,該算法是一種全新的調(diào)度算法,無論目前競爭CPU的進程有多少個,O(1)調(diào)度程序算法均可以在固定的世間中進行操作,可以理解為調(diào)度進程的時間是固定的,不會因為競爭CPU的進程是數(shù)量而變化。O(1)調(diào)度程序算法還可以支持多種CPU處理器(稱為對稱多處理器或SMP)。進行管理的源碼部分主要在內(nèi)核的文件系統(tǒng)中的./linux/kernel文件中,而依賴于體系結(jié)構(gòu)的源代碼則存放在./linux/arch中。

      內(nèi)存管理:內(nèi)存管理是Linux內(nèi)核管理的非常重要的資源。Linux內(nèi)核為了提高整個操作系統(tǒng)的效率,虛擬內(nèi)存交由硬盤進行管理,其管理方式則是按照內(nèi)存中的區(qū)、塊、頁的方式,最小的管理方式便是頁。Linux內(nèi)核不僅對可用內(nèi)存進行管理,還管理著虛擬內(nèi)存映射以及物理映射所采用的硬件機制進行管理,整個linux內(nèi)核管理的內(nèi)存要高于4KB緩沖區(qū)。Linux內(nèi)存管理模式采用的是抽象4KB的緩沖區(qū),比如采用slab分配器,其基數(shù)便是這4KB緩沖區(qū),接著從中分配結(jié)構(gòu),并及時的跟蹤內(nèi)存頁的使用情況,比如哪些頁面是壞頁,哪些頁面已經(jīng)寫滿以及哪些頁面是空的、可用的等。這樣便可以使得操縱系統(tǒng)能夠根據(jù)頁的使用情況對內(nèi)存進行動態(tài)適時調(diào)整。文件系統(tǒng)路徑./linux/mm中存放著內(nèi)存管理的相關(guān)的程序源碼。

      虛擬文件系統(tǒng):虛擬文件系統(tǒng)簡稱為VFS,是Linux內(nèi)核中相對比較重要的一個子系統(tǒng),主要作用是為內(nèi)核的文件系統(tǒng)提供通用的抽象接口,存在與文件系統(tǒng)與SCI之間,可以理解為二者之間的交換層,VFS上面便是文件系統(tǒng)與用戶之間,比如為用戶提供類似open、close等函數(shù)的一個通用API抽象。VFS下面則是文件系統(tǒng)的抽象,主要是定義了API抽象函數(shù)的實現(xiàn)形式。文件系統(tǒng)的源碼存放在./linux/fs文件中。

      3 Linux操作系統(tǒng)應(yīng)用

      Linux操作系統(tǒng)是免費的、開源的,因此,Linux操縱系統(tǒng)為測試新的協(xié)議提高了一個優(yōu)秀的平臺。Linux操作系統(tǒng)集成了市面上通用的網(wǎng)絡(luò)協(xié)議,不僅支持TCP/IP網(wǎng)絡(luò)傳輸協(xié)議,還支持GbE級別以上的高速網(wǎng)絡(luò)傳輸協(xié)議。Linux內(nèi)核是以模塊的形式進行編譯的,是動態(tài)的,用戶可以根據(jù)需要對內(nèi)核中的軟件組件進行刪除以及添加操作,Linux內(nèi)核又稱之為動態(tài)可加載內(nèi)核。Linux內(nèi)核最為獨特的一點便是Linux內(nèi)核還可以嵌入到其余的操作系統(tǒng)中運行,實現(xiàn)了在操作系統(tǒng)中運行操作系統(tǒng)的模式。目前,Linux內(nèi)核為了擴充運用,在內(nèi)核中為用戶空間添加了一個全新的應(yīng)用接口,稱為KVM—基于內(nèi)核的虛擬機,KVM允許別的非Linux的操作系統(tǒng)在啟用了KVM的內(nèi)核之上運行,惟一的限制是底層處理器必須支持新的虛擬化指令。

      Linux操作系統(tǒng)的應(yīng)用遍及各個領(lǐng)域,目前一些國家正在將其電子政務(wù)系統(tǒng)向Linux平臺遷移。中國政府在Linux領(lǐng)域一直給予極大的支持,出臺了一系列加強Linux軟件標準建設(shè)的一系列重要舉措,這些重要舉措是:成立Linux軟件標準工作組、建立國家Linux公共服務(wù)平臺體系和出臺軟件政府采購管理辦法。標準工作組致力突破重大應(yīng)用瓶頸,目前在推廣Linux應(yīng)用中,標準問題已經(jīng)成為當務(wù)之急。任何一項新技術(shù)發(fā)展到一定程度,如果沒有統(tǒng)一的標準就沒有了方向。最終的目標是讓Linux與Windows精確兼容[3],所謂精確兼容,就是使用Linux的效果要與Windows非常接近,在有限應(yīng)用,如桌面Office、Email、瀏覽器等應(yīng)用中,Linux與原來的Windows能夠很好地銜接,這就是標準。

      公共平臺服務(wù)中小企業(yè),Linux的標準非常重要,而建立Linux評測體系和公共服務(wù)也同等重要,從政府的角度出發(fā),目前正在建立一個國家Linux公共服務(wù)平臺,為廣大中小企業(yè)創(chuàng)造更好的創(chuàng)新環(huán)境。據(jù)介紹,這個公共服務(wù)平臺是非盈利機構(gòu),由政府建立,為中小企業(yè)創(chuàng)新提供服務(wù)。此外,電腦及信息家電的操作系統(tǒng)支配所有的運算功能,Linux操作系統(tǒng)應(yīng)用的相關(guān)領(lǐng)域包括個人使用的PC、企業(yè)使用的服務(wù)器、信息家電功能運算、以及企業(yè)軟件開發(fā)等,此外,Linux操作系統(tǒng)除了影響個人的使用習(xí)慣外,也因為價格、功能、以及市場占有率等因素,深深影響企業(yè)、個人使用的意愿、投資成本,甚至相關(guān)的軟、硬件信息產(chǎn)業(yè)。

      在信息家電嵌入式操作系統(tǒng)方面,Linux操作系統(tǒng)應(yīng)用的非常廣泛,Linux操作系統(tǒng)的特性正好符合IA產(chǎn)品的操作系統(tǒng)小、穩(wěn)定、即時與多工等需求,許多世界大廠包括新力、IBM等紛紛在其IA中采用Linux。各個國家正在全力發(fā)展Linux系統(tǒng),使得Linux系統(tǒng)后勢看好,能夠逐漸與Windows并駕其驅(qū)。

      4 結(jié)束語

      計算機操作系統(tǒng)是一切軟件運行的最基本平臺,在計算機系統(tǒng)軟、硬件之間起到承上啟下的作用,是軟、硬件溝通的橋梁,操作系統(tǒng)的研發(fā)工作需要對計算機的硬件非常熟悉,同時也需要非常高的可發(fā)技術(shù)水平,是計算機軟件的核心技術(shù),掌握了操作系統(tǒng)的技術(shù),也就掌握了軟件的核心技術(shù),這不僅對于我國軟件人才的培養(yǎng)是十分重要,也能進一步促進整個軟件產(chǎn)業(yè)健康全面的發(fā)展。Linux系統(tǒng)的源代碼是公開的、開放的,任何人只要有興趣都可以進行全面深入的研究,并在此基礎(chǔ)上開發(fā)相應(yīng)的軟、硬件產(chǎn)品,促進整個計算機產(chǎn)業(yè)研究和技術(shù)的發(fā)展。

      [1] 曾樹洪, 劉衛(wèi)國. Linux內(nèi)核搶占的實現(xiàn)機制分析[J]. 惠州學(xué)院學(xué)報, 2008, 6.

      [2] 鄒勇, 王青, 李明樹. Linux內(nèi)核的實時支持的研究與實現(xiàn)[J]. 計算機研究與發(fā)展, 2002, 39(4): 466-472.

      [3] BOVETDP, MARCOC. 深入理解 Linux內(nèi)核析[M]. 北京:中國電力出版社, 2007: 192-212 .

      猜你喜歡
      源碼內(nèi)核進程
      基于網(wǎng)頁源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
      基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測方法
      計算機時代(2023年6期)2023-06-15 17:49:09
      萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      企業(yè)如何保護源碼
      債券市場對外開放的進程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護機制研究
      基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實驗課程改革
      計算機教育(2016年4期)2016-05-20 02:36:05
      社會進程中的新聞學(xué)探尋
      蕉岭县| 诸城市| 泗阳县| 宜丰县| 栾城县| 潮安县| 天津市| 河曲县| 桃江县| 吉安市| 金昌市| 宣武区| 张掖市| 东莞市| 恩施市| 合肥市| 科技| 河东区| 富宁县| 屏边| 且末县| 宁夏| 博罗县| 汶上县| 常州市| 柞水县| 阳东县| 定襄县| 璧山县| 高安市| 云梦县| 新兴县| 黄大仙区| 来宾市| 青田县| 和田县| 镇原县| 墨江| 金湖县| 大埔县| 恩施市|