版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、linux內(nèi)核實時性研究及探究摘要:linux技術(shù)飛速發(fā)展,實時操作系統(tǒng)得到廣泛應(yīng) 用,linux的實時問題受到越來越多的關(guān)注。分析和研究 linux內(nèi)核的作用,內(nèi)核子系統(tǒng),和內(nèi)核在實時性應(yīng)用方面 的不足之處,及其改善方法。關(guān)鍵詞:linux;內(nèi)核;實時性1 linux內(nèi)核的位置在整個系統(tǒng)中,linux內(nèi)核的位置如圖1所示。1. 1進程進程是現(xiàn)代操作系統(tǒng)的核心概念,用來描述程序的執(zhí)行 過程,是實現(xiàn)多道程序操作系統(tǒng)的基礎(chǔ),用戶進程是程序的 一次執(zhí)行,同時也是操作系統(tǒng)進行資源分配的單位。在應(yīng)用程序中,操作系統(tǒng)調(diào)用程序,通過cpu調(diào)度,來 完成用戶任務(wù)。比如,程序中有一條讀取數(shù)據(jù)的系統(tǒng)調(diào)用 read
2、 (),但實際上讀取操作的是操作系統(tǒng)的內(nèi)核。故系統(tǒng) 調(diào)用是內(nèi)核代碼的一部分。在多道程序設(shè)計系統(tǒng)中,系統(tǒng)公式運行的程序共享系統(tǒng) 資源,帶來了對系統(tǒng)資源的競爭。操作系統(tǒng)必須對各種資源 進行分配和調(diào)度。特別是在某一時刻多個程序同時執(zhí)行時, 產(chǎn)生了對cpu的競爭,必須進行cpu調(diào)度,因而提出了進程 的概念。進程管理是操作系統(tǒng)中十分重要的功能。1.2內(nèi)核子系統(tǒng)操作系統(tǒng)中最重要的部分就是內(nèi)核子系統(tǒng),它直接管理 硬盤文件的打開,關(guān)閉,啟動,運行,及其在網(wǎng)絡(luò)上文件的 發(fā)送及接受。2 linux內(nèi)核的作用linux內(nèi)核是一個抽象了硬件,磁盤及文件系統(tǒng)等的軟 件。他提供了了一個虛擬或者擴展的計算機平臺,從而使程
3、序員可以避開許多硬件來實現(xiàn)細節(jié)。非專業(yè)用戶可以把操作 系統(tǒng)看成一個資源管理者,在linux系統(tǒng)的幫助下,非專業(yè) 用戶可以以用自己的方法組織自己的數(shù)據(jù),完成自己的工 作,并與其他用戶系統(tǒng)資源共享。linux系統(tǒng)支持多任務(wù),而這種方式對用戶進程是透明 的。每一個用戶進程運行時,好像只有自己的進程在運行并 獨享系統(tǒng)資源,同時使得各進程不互相干擾,安全運行。3 linux內(nèi)核子系統(tǒng)3.1進程的調(diào)度在多道程序設(shè)計環(huán)境中,系統(tǒng)同時創(chuàng)建多個進程。到計 算機只有一個cpu時,每次只能讓一個進程運行,其他進程 或處于就緒狀態(tài)或者阻塞狀態(tài)。操作系統(tǒng)采用隊列的方式管 理這些進程,相同狀態(tài)進程的pcb通過各自的隊列指
4、針鏈接 在一起。系統(tǒng)為每一個隊列設(shè)立一個列頭指針,他總指向排 在隊列之首的進程pcb,排在隊尾的進程pce用一個特殊符 號如“-1”來表示。為了執(zhí)行用戶程序,調(diào)度過程中不僅既 要考慮用戶關(guān)心的性能指標(biāo),更要考慮系統(tǒng)各部分的效率。 希望處理器調(diào)度能使系統(tǒng)的吞吐量盡可能大、cpu利用率高, 資源使用的負荷平衡等。在所有l(wèi)inux內(nèi)核子系統(tǒng)中,最重 要的是進程調(diào)度子系統(tǒng)。由于所有其他子系統(tǒng)工作的完成都 要建立進程,終止進程和恢復(fù)進程,因此,必須依靠進程調(diào) 度子系統(tǒng)來予與協(xié)調(diào)。3.2存儲管理存儲管理是對內(nèi)存的管理。內(nèi)存是處理器可以直接存取 指令和數(shù)據(jù)的存儲器,是進程得以運行的重要基礎(chǔ),也是計 算機中的
5、緊缺資源。近年來,隨著硬件技術(shù)和生產(chǎn)水平的迅 速發(fā)展,內(nèi)存的成本迅速下降,容量不斷擴大,但仍不能滿 足各種軟件急劇增長的對存儲空間的需求。因此,內(nèi)存的有 效管理和使用,仍是現(xiàn)代操作系統(tǒng)中十分重要的問題。3. 3 linux中的虛擬文件系統(tǒng)linux除了支持ext2文件系統(tǒng)外,還可以支持其他文件 系統(tǒng)。為此,必須將各種不同文件系統(tǒng)的操作和管理納入到 統(tǒng)一的框架中,使用戶程序可以通過同一個文件系統(tǒng)界面對 各種不同的文件進行操作。這樣,用戶可以不必關(guān)心不同文 件系統(tǒng)的實現(xiàn)細節(jié),使用系統(tǒng)提供的統(tǒng)一,抽象,虛擬的文 件系統(tǒng)界面。這個統(tǒng)一的框架就是虛擬文件系統(tǒng)vfs。在虛擬文件系統(tǒng)中,所有數(shù)據(jù)結(jié)構(gòu)都在運行
6、后建立,并 在卸載時刪除,只能存在于內(nèi)存中,磁盤上沒有存貯這些數(shù) 據(jù)結(jié)構(gòu)。如果只有vfs,系統(tǒng)是無法工作的。vfs必須與實 際的文件系統(tǒng)如ext2, msdos, vfat等結(jié)合起來。與vfs對 應(yīng),稱ext2, msdos, vfat等為邏輯文件系統(tǒng)。vfs提供一 個統(tǒng)一的借口,一個邏輯文件系統(tǒng)想得到linux的支持,必 須按照這個接口編寫自己的操作函數(shù),而將自己的細節(jié)對內(nèi) 核其他子系統(tǒng)掩藏起來。vfs與邏輯文件之間的關(guān)系如圖2 所示。vfs只負責(zé)與設(shè)備無關(guān)的操作。虛擬文件系統(tǒng)這種抽象 的功能層次,保證了 linux系統(tǒng)支持多種不同的邏輯文件系 統(tǒng),使所有文件系統(tǒng)都具有基本相同的外部表現(xiàn),而
7、且可以 方便地相互訪問。vfs對邏輯文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進行抽象, 以一種統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)進行處理。接受用戶層的系統(tǒng)調(diào)用。 支持多種邏輯文件系統(tǒng)之間的互相訪問,接受內(nèi)核其他子系 統(tǒng)的操作請求。3.4輸入/輸出輸入輸出子系統(tǒng)與硬件物理設(shè)備密切相關(guān),主要包括設(shè) 備驅(qū)動程序的各種中斷機制。3.5進程間通信ipc子系統(tǒng)支持在單個linux系統(tǒng)中多種進程間通信機 制,如信號、管道和共享內(nèi)存等。3.6網(wǎng)絡(luò)支持網(wǎng)絡(luò)子系統(tǒng)提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議和各種網(wǎng)絡(luò)硬 件的支持。4 linux內(nèi)核實時性缺陷linux系統(tǒng)最初是芬蘭人linus是手動編寫的一個類 “minix”系統(tǒng),那么linux系統(tǒng)自然就是一個分時系統(tǒng),
8、而針對實時性,linux確有缺陷:1)linux內(nèi)核本身是非搶占的。linux分為兩種模式: 即內(nèi)核態(tài)和用戶態(tài),當(dāng)用戶進程運行狀態(tài)為用戶態(tài)時,實時 進程進行搶占,優(yōu)先運行,故能夠較好的完成任務(wù)。用戶進 程運行狀態(tài)為內(nèi)核態(tài)時,若系統(tǒng)此時調(diào)用程序,實時進程不 能搶占進程。當(dāng)運行的任務(wù)通過系統(tǒng)調(diào)用進入內(nèi)核態(tài)時,具 有更高優(yōu)先級的進程卻只有等待處于核心態(tài)的系統(tǒng)調(diào)用返 回后方能執(zhí)行,這就體現(xiàn)了 linux內(nèi)核實時性的不足,導(dǎo)致 優(yōu)先級逆轉(zhuǎn)。任務(wù)執(zhí)行時間的實時性不確定,正是實時應(yīng)用 的缺陷。因此,從實質(zhì)上來說,linux內(nèi)核是非搶占式的。2)定時器方面的不足: 時鐘粒度粗糙。 軟定時器 數(shù)量較多的時候,共
9、享時鐘定時器就會產(chǎn)生沖突。linux 雖然具有實時性,但是linux內(nèi)核的中斷機制不能調(diào)節(jié),如 果中斷可以在一個可調(diào)度整體內(nèi)處理,用戶就可以區(qū)分實時 任務(wù)不同的緊迫度,分配不同的優(yōu)先級,那就能緩解定時器 的不足。系統(tǒng)負荷不斷增加。3)調(diào)度機制和調(diào)度算法沒有高效的實時任務(wù):linux能 夠提供較高的優(yōu)先級給實時進程,但是卻沒有設(shè)置時間限 制。5幾種流行的linux實時性能改善技術(shù)方案一些程序員對于改進linux內(nèi)核的實時性做了研究,并 提出了一些改善的技術(shù)方案。實時系統(tǒng)最主要的性能指標(biāo)是 檢驗操作系統(tǒng)是否可靠,系統(tǒng)必須在一定的時間內(nèi),對實時 任務(wù)及事件做出響應(yīng),速度不是最主要的問題。由于linu
10、x 系統(tǒng)是面向大多數(shù)用戶的,作為一個通用操作系統(tǒng),響應(yīng)時 間自然應(yīng)該滿足任何實時的應(yīng)用。因此研究linux實時性能 的改善技術(shù)很重要。因此,總結(jié)了以下幾種技術(shù)方案進行對 比研究。1)雙內(nèi)核方法。既是說在本來有一個內(nèi)核的基礎(chǔ)上, 再加上一個內(nèi)核,這樣一來,原先的linux內(nèi)核就讓位給新 增的linux內(nèi)核,讓有實時要求的事件都在新增的內(nèi)核之上 工作。針對于雙內(nèi)核技術(shù),目前,業(yè)內(nèi)比較流行的就是 rt-linuxo為了進一步達到改善linux實時性的效果,讓實 時性任務(wù)在新增內(nèi)核上實時工作,達到優(yōu)先級最高,提供了 以下幾種方法: 直接對linux核心進行修改。將linux核心機制與 中斷機制失去關(guān)聯(lián)
11、,使核心的一切動作都不能引起中斷,這 樣就保證了核心部分的硬實時性,這種方法將所有的中斷指 令都改為宏指令,保證了核心內(nèi)部結(jié)構(gòu)的完整。將 rt-linux中斷機制改為one-shot模式。使rt-linux的時鐘 粒度更細小。 實時調(diào)度。調(diào)度問題一直以來都是專業(yè)人 員研究的焦點問題之一。這種調(diào)度算法各有優(yōu)缺點。而 rt-linux沒有使用死板的作法,它因地制宜地編寫了自己的 調(diào)度算法,將其加入到自己的系統(tǒng)中。 進程通信。在計 算機系統(tǒng)中,由于進程使用的是同一個貯存系統(tǒng),相互通信 的進程之間設(shè)有公共內(nèi)存。一組進程向該公共內(nèi)存中寫,另 一組進程向該公共內(nèi)存中讀,通過這種方式實現(xiàn)兩組進程之 間大量數(shù)
12、據(jù)量的通信。實時與非實時進程間的通信就是一個 更加亟待的問題。常見的通信方式為信箱通信,消息緩沖通 信以及管道通信。rt-linux采用管道通信,共享內(nèi)存。管道 連接讀進程和寫進程以實現(xiàn)它們之間通信的共享文件。2)兼容內(nèi)核方法。這個方法就是含有一個兼容linux 內(nèi)核,符合p0six的api層的實時內(nèi)核。但缺點是價格昂貴。3)內(nèi)核修改方法。其設(shè)計思想修改linux內(nèi)核源碼。6總結(jié)與展望本文分析總結(jié)linux操作系統(tǒng)內(nèi)核的實時性特性,分析 了 linux實時性的不足,提出了幾種當(dāng)前計算機領(lǐng)域里流行 的linux實時性能改善技術(shù)方案。linux作為免費并且開放 源碼的操作系統(tǒng),還會越來越受到大學(xué)和研究機構(gòu)的青睞。 對于linux實時性問題,應(yīng)用的需要也會進一步促進linux 技術(shù)的發(fā)展,來更好地滿足大多數(shù)用戶的需求。參考文獻:1 張偉,網(wǎng)絡(luò)操作系統(tǒng)應(yīng)用(linux),電子工業(yè)出版 社,2007.2 董曉峰、顧新,關(guān)于linux內(nèi)核可搶占性的探究, 人民郵電出版社,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版綠色建筑房地產(chǎn)轉(zhuǎn)讓合同補充協(xié)議3篇
- 二零二五年教育培訓(xùn)機構(gòu)教師聘用合同書3篇
- 二零二五年度特色農(nóng)產(chǎn)品黃牛養(yǎng)殖購銷合同3篇
- 二零二五年融資租賃合同規(guī)范本2篇
- 二零二五版?zhèn)€人房產(chǎn)抵押借款擔(dān)保合同3篇
- 二零二五年度食堂廚房設(shè)計咨詢與服務(wù)合同2篇
- 二零二五版LOGO知識產(chǎn)權(quán)授權(quán)與品牌戰(zhàn)略規(guī)劃合同3篇
- 二零二五版糧食進出口貿(mào)易代理合同示范文本3篇
- 二零二五版服務(wù)器租賃與數(shù)據(jù)同步服務(wù)合同3篇
- 二零二五年度高速鐵路建設(shè)用聚乙烯管材管件采購合同3篇
- 2025年度土地經(jīng)營權(quán)流轉(zhuǎn)合同補充條款范本
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- Python試題庫(附參考答案)
- 聚酯合成副反應(yīng)介紹
- DB37-T 1342-2021平原水庫工程設(shè)計規(guī)范
- 電除顫教學(xué)課件
- 廣東省藥品電子交易平臺結(jié)算門戶系統(tǒng)會員操作手冊
- DB32T 3960-2020 抗水性自修復(fù)穩(wěn)定土基層施工技術(shù)規(guī)范
- 大斷面隧道設(shè)計技術(shù)基本原理
- 41某31層框架結(jié)構(gòu)住宅預(yù)算書工程概算表
- 成都市國土資源局關(guān)于加強國有建設(shè)用地土地用途變更和
評論
0/150
提交評論