真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么讓linux變?yōu)閷?shí)時(shí)操作系統(tǒng)

本篇內(nèi)容主要講解“怎么讓linux變?yōu)閷?shí)時(shí)操作系統(tǒng)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么讓linux變?yōu)閷?shí)時(shí)操作系統(tǒng)”吧!

成都創(chuàng)新互聯(lián)公司主營(yíng)紹興網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開發(fā),紹興h5重慶小程序開發(fā)搭建,紹興網(wǎng)站營(yíng)銷推廣歡迎紹興等地區(qū)企業(yè)咨詢

1.什么是實(shí)時(shí)性操作系統(tǒng)?

實(shí)時(shí)性是指調(diào)度的時(shí)候,任務(wù)響應(yīng)時(shí)間。windows一般是15ms,最大的問(wèn)題是不能保證。比如平均值是1ms,但是隨著系統(tǒng)負(fù)載的變化,有時(shí)甚至達(dá)到100ms,在這工業(yè)上是無(wú)法使用的。工業(yè)上一些應(yīng)用要求必須有更高的時(shí)間精度,比如,一個(gè)電力監(jiān)測(cè)系統(tǒng)必須在10ms內(nèi)運(yùn)行一次任務(wù)對(duì)電力運(yùn)行狀況進(jìn)行監(jiān)測(cè),一旦時(shí)間不準(zhǔn),調(diào)度不到該程序運(yùn)行,則無(wú)法保證對(duì)電力故障的及時(shí)響應(yīng)。

2.怎么實(shí)現(xiàn)實(shí)時(shí)性系統(tǒng)?

3.PREEMPT_RT

PREEMPT_RT是Linux內(nèi)核的一個(gè)實(shí)時(shí)補(bǔ)丁。得到Linus的高度評(píng)價(jià):

Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT." -- Linus Torvalds

4.使用方法

4.1 下載linux內(nèi)核源碼

這兩個(gè)國(guó)內(nèi)的可以看一下,速度比較快。


4.2下載RT patch

patch在https://rt.wiki.kernel.org/index.php/Main_Page 下載,與linux內(nèi)核的版本號(hào)一定要一樣。


4.3 使用方法

1.解壓內(nèi)核源碼

2.打patch

3.編譯linux內(nèi)核并安裝

    tar xzvf  linux-4.4.138.tar.gz
    cd linux-4.4.138
    patch -p1 < ../patch-4.4.138-rt65.patch

make menuconfig需要安裝這個(gè)libncurses-dev模塊

編譯內(nèi)核需要libssl-dev模塊

    sudo apt-get install libncurses-dev
    sudo apt-get install libssl-dev

 配置linux內(nèi)核

make menuconfig

選擇Processor type and feature   —>   Fully Preemptible Kernel (RT)這個(gè)選項(xiàng),具體路徑如下圖。保存。

編譯內(nèi)核,再安裝,更新grub.

編譯時(shí)加上 INSTALL_MOD_STRIP=1 可以生成沒(méi)有調(diào)試信息的模塊,大大減小內(nèi)核的大小。

make -j2

#sudo make modules_install -j2
#這一條命令生成的內(nèi)核含有調(diào)試信息非常大,因此要使用INSTALL_MOD_STRIP選項(xiàng)


sudo make INSTALL_MOD_STRIP=1 modules_install  
sudo make install -j2

sudo update-grub2

重啟后會(huì)多一個(gè)  linux-4.4.138-rt  的啟動(dòng)選項(xiàng)。

5.測(cè)試
sudo apt-get install rt-tests

安裝這個(gè)工具,運(yùn)行cyclictest程序進(jìn)行實(shí)時(shí)性測(cè)試:

    sudo cyclictest -t 5 -p 80 -n
    注釋: 運(yùn)行五個(gè)線程,線程優(yōu)先級(jí)為80,無(wú)限循環(huán)

cyclictest運(yùn)行結(jié)果詳解:

    T: 0 序號(hào)為0的線程
    P: 0 線程優(yōu)先級(jí)為0
    C: 9397 計(jì)數(shù)器。線程的時(shí)間間隔每達(dá)到一次,計(jì)數(shù)器加1
    I: 1000 時(shí)間間隔為1000微秒(us)
    Min: 最小延時(shí)(us)
    Act: 最近一次的延時(shí)(us)
    Avg:平均延時(shí)(us)
    Max: 最大延時(shí)(us)

測(cè)試結(jié)果示例:

1.實(shí)體機(jī)測(cè)試結(jié)果

    # /dev/cpu_dma_latency set to 0us
    policy: fifo: loadavg: 0.13 0.06 0.02 1/244 19255
     
    T: 0 (18989) P:80 I:1000 C: 155947 Min:      1 Act:    1 Avg:    1 Max:      17
    T: 1 (18990) P:80 I:1500 C: 103964 Min:      1 Act:    1 Avg:    1 Max:      15
    T: 2 (18991) P:80 I:2000 C:  77973 Min:      1 Act:    1 Avg:    1 Max:       7
    T: 3 (18992) P:80 I:2500 C:  62378 Min:      1 Act:    1 Avg:    1 Max:      10
    T: 4 (18993) P:80 I:3000 C:  51982 Min:      1 Act:    1 Avg:    1 Max:       7

2.虛擬機(jī)測(cè)試結(jié)果

在虛擬機(jī)中效果一般,受主機(jī)的限制太大。

my@ubuntu:~/rt/linux-4.4.138$ sudo cyclictest -p 80 -t5 -n
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.69 0.19 0.07 1/726 5825          

T: 0 ( 5821) P:80 I:1000 C:   8168 Min:      7 Act:  445 Avg:  327 Max:    7005
T: 1 ( 5822) P:80 I:1500 C:   5455 Min:      7 Act:  411 Avg:  319 Max:    7516
T: 2 ( 5823) P:80 I:2000 C:   4098 Min:     14 Act:  174 Avg:  320 Max:    2362
T: 3 ( 5824) P:80 I:2500 C:   3275 Min:      5 Act:   52 Avg:  319 Max:    6940
T: 4 ( 5825) P:80 I:3000 C:   2732 Min:      8 Act:  214 Avg:  299 Max:    5198

3.也可以進(jìn)行多次運(yùn)行并統(tǒng)計(jì)結(jié)果

sudo  cyclictest -l10000000 -m -n -t1 -p99 -i2 -h200

-l10000000 :指定1千萬(wàn)循環(huán),

-m :鎖定當(dāng)前和將來(lái)的內(nèi)存分配,

-n :指定使用 clock_nanosleep,

-t1 :指定開一個(gè)線程進(jìn)行測(cè)試,

-p99 :指定最高優(yōu)先級(jí),

-i2 :指定基本線程間隔,單位是us,此處是2us,

-h200 :指定統(tǒng)計(jì)結(jié)果的分布情況。

程序20秒執(zhí)行結(jié)束,輸出顯示平均延時(shí)1 us,最大延時(shí)15 us,通過(guò)直方分布圖察看,大多集中在1-7 us以內(nèi)。

    # /dev/cpu_dma_latency set to 0us
    policy: fifo: loadavg: 0.36 0.33 0.28 1/246 32690
     
    T: 0 (32688) P:99 I:2 C:10000000 Min:      0 Act:    2 Avg:    1 Max:       15
    # Histogram
    000000 000051
    000001 6635143
    000002 3352561
    000003 008966
    000004 002414
    000005 000648
    000006 000180
    000007 000025
    000008 000002
    000009 000001
    000010 000000
    000011 000000
    000012 000001
    000013 000001
    000014 000006
    000015 000001
    …………(中間都是0,省略)
    000097 000000
    000098 000000
    000099 000000
    # Total: 010000000
    # Min Latencies: 00000
    # Avg Latencies: 00001
    # Max Latencies: 00009
    # Histogram Overflows: 00000
    # Histogram Overflow at cycle number:
    # Thread 0:

6.總結(jié)

實(shí)時(shí)性補(bǔ)丁能夠較好地滿足我們的需求(1ms),實(shí)現(xiàn)較強(qiáng)的實(shí)時(shí)性。

到此,相信大家對(duì)“怎么讓linux變?yōu)閷?shí)時(shí)操作系統(tǒng)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


本文題目:怎么讓linux變?yōu)閷?shí)時(shí)操作系統(tǒng)
URL地址:http://weahome.cn/article/psipcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部