自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux操作系統(tǒng)實(shí)時(shí)性學(xué)習(xí)總結(jié)

系統(tǒng) Linux
實(shí)時(shí)操作系統(tǒng)(RTOS,RealTime Operation System)是指能夠在給定的截止時(shí)間前對(duì)內(nèi)部或者外部的異常事件做出正確響應(yīng)的操作系統(tǒng)。目前改進(jìn)Linux實(shí)時(shí)性的方案有兩種:直接修改內(nèi)核法、雙內(nèi)核法。

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

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

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

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

  • 軟實(shí)時(shí)操作系統(tǒng):軟實(shí)時(shí)操作系統(tǒng)對(duì)時(shí)間的限制不是十分苛刻,響應(yīng)的時(shí)間可以相對(duì)延遲,即未超過(guò)***規(guī)定時(shí)間太多的范圍內(nèi),其結(jié)果都是可以接受的,不會(huì)產(chǎn)生嚴(yán)重的后果。
  • 硬實(shí)時(shí)操作系統(tǒng):對(duì)于硬實(shí)時(shí)操作系統(tǒng)而言,不僅要求各個(gè)任務(wù)能夠運(yùn)行得到正確的結(jié)果,同時(shí)還必須在限定的時(shí)間內(nèi)完成,這個(gè)時(shí)間是由系統(tǒng)本身確定的,這比軟實(shí)時(shí)操作系統(tǒng)的時(shí)間約束條件嚴(yán)格了許多。例如,在航天領(lǐng)域的嵌入式實(shí)時(shí)操作系統(tǒng)中,如果在規(guī)定的時(shí)間內(nèi)未能得出所希望的運(yùn)算結(jié)果,其產(chǎn)生的后果將是十分嚴(yán)重的。

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

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

 圖1 Linux框架圖

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

圖2           
                 

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

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

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

  • 時(shí)鐘粒度粗糙

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

  • 關(guān)閉中斷

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

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

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

  • 優(yōu)先級(jí)反轉(zhuǎn)的問(wèn)題

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

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

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

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

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

責(zé)任編輯:黃丹 來(lái)源: 博客
相關(guān)推薦

2009-12-16 09:43:12

Linux操作系統(tǒng)

2009-04-11 15:12:24

vxworks操作系統(tǒng)

2010-02-05 14:48:04

Android手機(jī)操作

2010-01-06 16:32:45

Linux操作系統(tǒng)

2009-12-09 17:25:19

Linux操作系統(tǒng)

2010-05-05 11:21:37

Unix操作系統(tǒng)

2010-02-04 17:16:30

2014-07-24 16:29:07

linux學(xué)習(xí)網(wǎng)站

2010-03-04 13:42:28

Linux操作系統(tǒng)

2020-12-29 16:39:01

Linux代碼命令

2009-12-17 14:11:29

Linux操作系統(tǒng)

2009-01-08 18:49:44

服務(wù)器操作系統(tǒng)IBM

2010-04-13 16:11:15

Unix操作系統(tǒng)

2009-03-23 09:35:57

Linux機(jī)器人實(shí)時(shí)操作系統(tǒng)

2010-04-29 14:08:38

Unix操作系統(tǒng)

2010-04-09 11:24:38

Unix操作系統(tǒng)

2010-04-16 17:19:58

Unix操作系統(tǒng)

2009-11-30 10:50:24

Suse Linux

2009-12-14 17:46:40

Linux桌面操作系統(tǒng)

2010-04-20 17:11:33

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)