久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux操作系統(tǒng)實(shí)時性學(xué)習(xí)示例分析

167次閱讀
沒有評論

共計 2029 個字符,預(yù)計需要花費(fèi) 6 分鐘才能閱讀完成。

本篇文章為大家展示了 Linux 操作系統(tǒng)實(shí)時性學(xué)習(xí)示例分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、實(shí)時系統(tǒng)基本概念

什么是實(shí)時系統(tǒng),POSIX 作了這樣的定義:指能夠在限定的響應(yīng)時間內(nèi)提供所需水平服務(wù)的系統(tǒng)。另個一被 Donald Gillies 提出定義為:一個實(shí)時系統(tǒng)是指計算的正確性不僅取決于程序的邏輯正確性,也取決于結(jié)果產(chǎn)生的時間, 如果系統(tǒng)的時間約束條件得不到滿足, 將會發(fā)生系統(tǒng)出錯。實(shí)時系統(tǒng)對響應(yīng)時間有嚴(yán)格要求。

實(shí)時操作系統(tǒng)(RTOS,RealTime Operation System)是指能夠在給定的截止時間前對內(nèi)部或者外部的異常事件做出正確響應(yīng)的操作系統(tǒng)。在實(shí)時操作系統(tǒng)中,進(jìn)程的執(zhí)行結(jié)果的正確與否不僅與邏輯運(yùn)算或數(shù)學(xué)計算結(jié)果的正確性相關(guān),還與進(jìn)程運(yùn)行結(jié)束得出結(jié)果的時間有關(guān),也就是說,如果一個進(jìn)程的運(yùn)算結(jié)果是正確的,但是由于它完成時間已經(jīng)超出了系統(tǒng)給定的 *** 期限,在實(shí)時系統(tǒng)中,這個結(jié)果就是毫無意義的。

根據(jù)系統(tǒng)對響應(yīng)時間約束條件的強(qiáng)弱可將實(shí)時操作系統(tǒng)分為兩大類:硬實(shí)時系統(tǒng) (HRT,HardReal-Time System) 和軟實(shí)時系統(tǒng)(SRT,SoftReal-Time System)。

軟實(shí)時操作系統(tǒng):軟實(shí)時操作系統(tǒng)對時間的限制不是十分苛刻,響應(yīng)的時間可以相對延遲,即未超過 *** 規(guī)定時間太多的范圍內(nèi),其結(jié)果都是可以接受的,不會產(chǎn)生嚴(yán)重的后果。

硬實(shí)時操作系統(tǒng):對于硬實(shí)時操作系統(tǒng)而言,不僅要求各個任務(wù)能夠運(yùn)行得到正確的結(jié)果,同時還必須在限定的時間內(nèi)完成,這個時間是由系統(tǒng)本身確定的,這比軟實(shí)時操作系統(tǒng)的時間約束條件嚴(yán)格了許多。例如,在航天領(lǐng)域的嵌入式實(shí)時操作系統(tǒng)中,如果在規(guī)定的時間內(nèi)未能得出所希望的運(yùn)算結(jié)果,其產(chǎn)生的后果將是十分嚴(yán)重的。

二、Linux 操作系統(tǒng)實(shí)時性

1、Linux 系統(tǒng)框架
宏觀上,Linux 的框架如圖 1:

  圖 1 Linux 框架圖

為了更加直觀,更加便于理解,Linux 框架圖 1,可以抽象成下圖 2。

圖 2            

                 

2、標(biāo)準(zhǔn) Linux 內(nèi)核制約實(shí)時性的因素

Linux 中有大量不可搶占的區(qū)域

在 Linux2.6 中, 內(nèi)核己經(jīng)可以搶占, 因而實(shí)時性得到了加強(qiáng) 但是內(nèi)核中仍有大量的不可搶占區(qū)域, 如由自旋鎖 (SPinlock) 保護(hù)的臨界區(qū)。

時鐘粒度粗糙

Linux2.6 內(nèi)核雖然把時鐘頻率提高到 1000  赫茲,定時精度達(dá)到了 1ms,但遠(yuǎn)不能滿足實(shí)時系統(tǒng)要求的微秒級定時精度,如數(shù)控系統(tǒng)要求 50us  的定時精度。

關(guān)閉中斷

系統(tǒng)調(diào)用和中斷服務(wù)程序中,為了保護(hù)臨界區(qū)資源,Linux 會長時間關(guān)閉中斷 有些系統(tǒng)調(diào)用和中斷服務(wù)程序的時間還很長, 這樣會加大中斷延遲時間。

缺乏有效的實(shí)時任務(wù)調(diào)度機(jī)制和調(diào)度算法

Linux 系統(tǒng)是按照分時系統(tǒng)的目標(biāo)設(shè)計的, 以達(dá)到系統(tǒng)較好的平均性能,強(qiáng)調(diào)平衡各進(jìn)程之間的響應(yīng)時間來保證公平的 CPU 時間占用。通常采用固定時間片的分時調(diào)度算法,內(nèi)核不能搶占,而實(shí)時系統(tǒng)的行為更多的取決于復(fù)雜的不可預(yù)知的情況。這些原則不能滿足實(shí)時系統(tǒng)短的響應(yīng)時間和確定的執(zhí)行行為的要求。

優(yōu)先級反轉(zhuǎn)的問題

當(dāng)一個低優(yōu)先級的進(jìn)程占用了某種資源,導(dǎo)致同樣需要這個資源的高級進(jìn)程無法運(yùn)行,并且此時有一個優(yōu)先級在他們之間的就緒進(jìn)程獲得了 CPU  的控制權(quán),這樣就使得高級別的任務(wù)需要等待比他優(yōu)先級別低的任務(wù),這種現(xiàn)象就叫做優(yōu)先級反轉(zhuǎn)。在 Linux 中,由于資源是不可搶占的,并且不支持優(yōu)先級繼承等策略,所以優(yōu)先級反轉(zhuǎn)現(xiàn)象可能會發(fā)生,這影響了系統(tǒng)的實(shí)時性能。

3、改進(jìn) Linux 實(shí)時性的方案

從前文可以看出,標(biāo)準(zhǔn) Linux 內(nèi)核有許多制約實(shí)時性的因素,要將 Linux 系統(tǒng)用于實(shí)時環(huán)境,必須對其進(jìn)行改進(jìn)。目前改進(jìn) Linux 實(shí)時性的方案有兩種:直接修改內(nèi)核法、雙內(nèi)核法。

直接修改內(nèi)核法,通過對 Linux  原理與源代碼的分析,通過對內(nèi)核的進(jìn)程調(diào)度、中斷服務(wù)程序等代碼進(jìn)行修改與優(yōu)化,提高系統(tǒng)的實(shí)時性能,并且為了保證系統(tǒng)的通用性,需要按照 POSIX
的相關(guān)標(biāo)準(zhǔn)來進(jìn)行改動。利用這種方法可以獲得較好的性能提升,并且因?yàn)榕c標(biāo)準(zhǔn)的 Linux  內(nèi)核使用相同的應(yīng)用程序接口,所以有良好的兼容性。目前,采用修改內(nèi)核方法改進(jìn) Linux  實(shí)時性的產(chǎn)品很多,如  Kurt-Linux、TimesysLinux  和  Ingo s RT patch  等。

雙內(nèi)核法,通過在 Linux  內(nèi)核與硬件中斷之間增加一個可搶先的實(shí)時內(nèi)核,把標(biāo)準(zhǔn)的 Linux  內(nèi)核作為該實(shí)時內(nèi)核的一個優(yōu)先級 *** 的進(jìn)程來調(diào)度,它可以被實(shí)時進(jìn)程搶斷,正常的
Linux  進(jìn)程仍可以在  Linux  內(nèi)核上運(yùn)行,這樣既可以使用標(biāo)準(zhǔn)分時操作系統(tǒng)即 Linux  的各種服務(wù),又能提供低延時的實(shí)時環(huán)境。RT-Linux  是采用雙內(nèi)核法改造 Linux  實(shí)時性的典型代表。

上述內(nèi)容就是 Linux 操作系統(tǒng)實(shí)時性學(xué)習(xí)示例分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-04發(fā)表,共計2029字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 怀来县| 宁化县| 古浪县| 双柏县| 高密市| 张家港市| 修水县| 沭阳县| 镇沅| 吴堡县| 潜江市| 徐汇区| 蒙自县| 普格县| 额尔古纳市| 夹江县| 忻州市| 诸城市| 常德市| 宝山区| 芦山县| 秀山| 忻州市| 鄂伦春自治旗| 汶川县| 名山县| 广州市| 筠连县| 竹北市| 巍山| 曲靖市| 潮州市| 芜湖市| 崇礼县| 长宁县| 周宁县| 武清区| 通州区| 从化市| 包头市| 崇左市|