国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

ZHANG Jun

0 引言

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

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

1 Linux內(nèi)核

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

操作系統(tǒng)的分析需要明確操作系統(tǒng)的體系架構(gòu),因此,分析操作系統(tǒng)不能僅僅局限于某一個(gè)角度、分析操作系統(tǒng)的其中的一個(gè)目標(biāo)便是能夠使得我們能夠更加清晰理解操作系統(tǒng)的源碼。Linux內(nèi)核從架構(gòu)上得到創(chuàng)新,實(shí)現(xiàn)了技術(shù)性比較強(qiáng)的體系架構(gòu)屬性。一方面,Linux內(nèi)核是由很多個(gè)子系統(tǒng)組成的,另外一個(gè)方面,Linux操作系統(tǒng)將所有的服務(wù)集成與內(nèi)核一體中,因此,Linux內(nèi)核又是一個(gè)完整的整體。這些與微內(nèi)核的體系架構(gòu)存在著諸多不同之初,微內(nèi)核先是會(huì)為用戶提供一些簡(jiǎn)便的、使用頻率高的服務(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)核編譯通過之后便可以運(yùn)行在不同類型的CPU處理器中以及體系架構(gòu)不同的平臺(tái)上。

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語(yǔ)

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

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

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

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

猜你喜歡
源碼內(nèi)核進(jìn)程
基于網(wǎng)頁(yè)源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測(cè)方法
萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
企業(yè)如何保護(hù)源碼
債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
社會(huì)進(jìn)程中的新聞學(xué)探尋
三都| 海兴县| 郧西县| 潢川县| 新沂市| 和静县| 朝阳县| 崇阳县| 祁连县| 呼伦贝尔市| 社会| 双辽市| 屏南县| 崇阳县| 广安市| 图木舒克市| 尚志市| 巍山| 青海省| 吴旗县| 枝江市| 四会市| 平湖市| 河北区| 陇川县| 柘荣县| 正宁县| 梧州市| 岢岚县| 丰都县| 栾城县| 广德县| 定安县| 民和| 五常市| 柘城县| 韩城市| 连山| 油尖旺区| 宽甸| 竹山县|