在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

操作系統(tǒng)中搶占式和非搶占式內(nèi)核的區(qū)別

strongerHuang ? 來(lái)源:嵌入式專欄 ? 2023-05-29 10:47 ? 次閱讀

操作系統(tǒng)一般分為搶占式內(nèi)核和非搶占式內(nèi)核,通常RTOS都是搶占式內(nèi)核。你知道搶占式內(nèi)核和非搶占式內(nèi)核的區(qū)別嗎?

非搶占式內(nèi)核

非搶占式內(nèi)核要求每個(gè)任務(wù)(線程)都做一些事情來(lái)明確放棄對(duì) CPU 的控制,為了保持多任務(wù)并發(fā)的錯(cuò)覺(jué),必須要有這一步操作。

非搶占式調(diào)度也稱為協(xié)作多任務(wù),任務(wù)相互協(xié)作以共享 CPU,異步事件仍然由 ISR 處理。ISR 可以使更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備好運(yùn)行,但 ISR 總是返回到被中斷的任務(wù)。

只有當(dāng)當(dāng)前任務(wù)放棄 CPU 時(shí),新的更高優(yōu)先級(jí)任務(wù)才會(huì)獲得對(duì) CPU 的控制。

非搶占式內(nèi)核的優(yōu)點(diǎn)之一是中斷延遲更低,在任務(wù)級(jí)別,非搶占內(nèi)核也可以使用不可重入函數(shù)。每個(gè)任務(wù)都可以使用不可重入函數(shù),而不必?fù)?dān)心被另一個(gè)任務(wù)破壞。這是因?yàn)槊總€(gè)任務(wù)都可以在放棄 CPU 之前運(yùn)行到完成。但是,不應(yīng)允許不可重入函數(shù)放棄對(duì) CPU 的控制。

使用非搶占式內(nèi)核的任務(wù)級(jí)響應(yīng)可能比前臺(tái)/后臺(tái)系統(tǒng)低得多,因?yàn)槿蝿?wù)級(jí)響應(yīng)現(xiàn)在由最長(zhǎng)任務(wù)的時(shí)間給出。

非搶占式內(nèi)核的另一個(gè)優(yōu)點(diǎn)是較少需要通過(guò)使用信號(hào)量來(lái)保護(hù)共享數(shù)據(jù)。每個(gè)任務(wù)都擁有 CPU,你不必?fù)?dān)心任務(wù)會(huì)被搶占。當(dāng)然,這不是絕對(duì)的,在某些情況下,仍應(yīng)使用信號(hào)量。共享 I/O 設(shè)備可能仍需要使用互斥信號(hào)量;例如,任務(wù)可能仍需要對(duì)打印機(jī)的獨(dú)占訪問(wèn)。

wKgaomR0E86Ac-pdAATy3svZYXE638.png

(1) 任務(wù)正在執(zhí)行但被中斷。

(2) 如果中斷被使能,CPU 向量(跳轉(zhuǎn))到 ISR。

(3) ISR 處理事件并使更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備好運(yùn)行。

(4) ISR完成后,執(zhí)行返回指令,CPU返回被中斷的任務(wù)。

(5) 任務(wù)代碼在中斷指令之后的指令處恢復(fù)。

(6) 當(dāng)任務(wù)代碼完成時(shí),它調(diào)用內(nèi)核提供的服務(wù),將 CPU 交給另一個(gè)任務(wù)。

(7) 內(nèi)核看到更高優(yōu)先級(jí)的任務(wù)已經(jīng)準(zhǔn)備好運(yùn)行,因此,內(nèi)核執(zhí)行上下文切換,以便它可以運(yùn)行(即執(zhí)行)更高優(yōu)先級(jí)的任務(wù)來(lái)處理由 ISR 發(fā)出信號(hào)的事件。

非搶占式內(nèi)核最重要的缺點(diǎn)是響應(yīng)性:已準(zhǔn)備好運(yùn)行的較高優(yōu)先級(jí)任務(wù)可能需要等待很長(zhǎng)時(shí)間才能運(yùn)行,因?yàn)楫?dāng)前任務(wù)應(yīng)該及時(shí)放棄CPU使用權(quán)。

與前臺(tái)/后臺(tái)系統(tǒng)中的后臺(tái)執(zhí)行一樣,非搶占式內(nèi)核中的任務(wù)級(jí)響應(yīng)時(shí)間是不確定的;你永遠(yuǎn)不知道最高優(yōu)先級(jí)的任務(wù)何時(shí)才能獲得 CPU 的控制權(quán)。這個(gè)操作由你的應(yīng)用程序來(lái)決定怎么時(shí)候放棄對(duì) CPU 的控制。

總而言之,非搶占式內(nèi)核允許每個(gè)任務(wù)運(yùn)行,直到它自愿放棄對(duì) CPU 的控制。中斷搶占任務(wù),ISR 完成后,ISR 返回到被中斷的任務(wù)。任務(wù)級(jí)響應(yīng)比前臺(tái)/后臺(tái)系統(tǒng)要好得多,但仍然是不確定的,因此,很少有商業(yè)內(nèi)核是非搶占式的。

搶占式內(nèi)核

μC/OS-II、RTT等大多數(shù)實(shí)時(shí)內(nèi)核都是搶占式的,準(zhǔn)備運(yùn)行的最高優(yōu)先級(jí)任務(wù)始終被賦予 CPU 控制權(quán)。

當(dāng)一個(gè)任務(wù)使更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備好運(yùn)行時(shí),當(dāng)前任務(wù)被搶占(掛起)并且更高優(yōu)先級(jí)的任務(wù)立即獲得 CPU 的控制權(quán)。

如果 ISR 使更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備就緒,當(dāng) ISR 完成時(shí),被中斷的任務(wù)被掛起并恢復(fù)新的更高優(yōu)先級(jí)任務(wù)。

wKgZomR0E86APuE6AAFq7z7Ua_4626.png

(1) 任務(wù)正在執(zhí)行但被中斷。

(2) 如果中斷被使能,CPU 向量(跳轉(zhuǎn))到 ISR。

(3) ISR 處理事件并使更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備好運(yùn)行。ISR 完成后,調(diào)用內(nèi)核提供的服務(wù)(即調(diào)用內(nèi)核提供的函數(shù))。

(4) & (5) 該函數(shù)知道一個(gè)更重要的任務(wù)已經(jīng)準(zhǔn)備好運(yùn)行,因此內(nèi)核將執(zhí)行上下文切換并執(zhí)行更重要的代碼而不是返回到被中斷的任務(wù)任務(wù)。當(dāng)更重要的任務(wù)完成時(shí),內(nèi)核提供的另一個(gè)函數(shù)被調(diào)用,讓任務(wù)進(jìn)入休眠狀態(tài),等待事件(即 ISR)發(fā)生。

(6) & (7) 然后內(nèi)核“看到”需要執(zhí)行一個(gè)較低優(yōu)先級(jí)的任務(wù),并完成另一個(gè)上下文切換以恢復(fù)被中斷任務(wù)的執(zhí)行。

使用搶占式內(nèi)核,最高優(yōu)先級(jí)任務(wù)的執(zhí)行是確定性的; 你可以確定它何時(shí)可以控制 CPU。 因此,通過(guò)使用搶占式內(nèi)核可以最大限度地減少任務(wù)級(jí)響應(yīng)時(shí)間。

使用搶占式內(nèi)核的應(yīng)用程序代碼不應(yīng)使用不可重入函數(shù),除非通過(guò)使用互斥信號(hào)量確保對(duì)這些函數(shù)的獨(dú)占訪問(wèn),因?yàn)榈蛢?yōu)先級(jí)和高優(yōu)先級(jí)任務(wù)都可以使用公共函數(shù)。 如果較高優(yōu)先級(jí)的任務(wù)搶占正在使用該功能的較低優(yōu)先級(jí)的任務(wù),則可能會(huì)發(fā)生數(shù)據(jù)損壞。

總而言之,搶占式內(nèi)核始終執(zhí)行準(zhǔn)備運(yùn)行的最高優(yōu)先級(jí)任務(wù)。 中斷搶占任務(wù),完成 ISR 后,內(nèi)核將繼續(xù)執(zhí)行準(zhǔn)備運(yùn)行的最高優(yōu)先級(jí)任務(wù)(而不是被中斷的任務(wù))。 任務(wù)級(jí)別的響應(yīng)是最佳的和確定性的,當(dāng)系統(tǒng)響應(yīng)性很重要時(shí),建議使用搶占式內(nèi)核。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1412

    瀏覽量

    41189
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11055

    瀏覽量

    216307
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7114

    瀏覽量

    125145
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    904

    瀏覽量

    42589
  • ISR
    ISR
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    14728

原文標(biāo)題:操作系統(tǒng)中搶占式和非搶占式內(nèi)核的區(qū)別

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    搶占內(nèi)核工作過(guò)程

    搶占內(nèi)核 搶占
    的頭像 發(fā)表于 09-29 18:38 ?1507次閱讀
    <b class='flag-5'>非</b><b class='flag-5'>搶占</b><b class='flag-5'>式</b><b class='flag-5'>內(nèi)核</b>工作過(guò)程

    一種基于單片機(jī)的搶占實(shí)時(shí)嵌入操作系統(tǒng)設(shè)計(jì)

    一種基于單片機(jī)的搶占實(shí)時(shí)嵌入操作系統(tǒng)設(shè)計(jì)
    發(fā)表于 04-22 12:59

    關(guān)于實(shí)時(shí)嵌入操作系統(tǒng)的一些概念討論(一)

    與帶實(shí)時(shí)操作系統(tǒng)的程序的實(shí)時(shí)性沒(méi)有區(qū)別, 當(dāng)然要去掉DELAY函數(shù); 6\LINUX與UCOS都是非常優(yōu)秀的操作系統(tǒng), 他們只是適用的場(chǎng)合不同, 因此, 國(guó)產(chǎn)的嵌入
    發(fā)表于 02-07 00:05

    【安富萊】【RTX操作系統(tǒng)教程】第10章 任務(wù)調(diào)度-搶占,時(shí)間片和合作

    第10章 任務(wù)調(diào)度-搶占,時(shí)間片和合作 本章教程為大家將介紹RTX操作系統(tǒng)支持的任務(wù)調(diào)度方式,搶占
    發(fā)表于 01-25 13:57

    轉(zhuǎn):第14章 任務(wù)調(diào)度—搶占,時(shí)間片和合作

    本章教程為大家將介紹FreeRTOS操作系統(tǒng)支持的任務(wù)調(diào)度方式:搶占,時(shí)間片和合作,這部分算是FreeRTOS操作系統(tǒng)的核心了。對(duì)于初學(xué)
    發(fā)表于 08-30 09:55

    第10章 任務(wù)調(diào)度-搶占,時(shí)間片和合作

    轉(zhuǎn)rtx操作系統(tǒng)本章教程為大家將介紹RTX操作系統(tǒng)支持的任務(wù)調(diào)度方式,搶占,時(shí)間片和合作,這部分算是RTX
    發(fā)表于 10-04 18:11

    實(shí)時(shí)操作系統(tǒng)概念

    對(duì)很多嵌入系統(tǒng)來(lái)說(shuō),一個(gè)設(shè)計(jì)良好的實(shí)時(shí)操作系統(tǒng)可以讓開(kāi)發(fā)工程師把握系統(tǒng)執(zhí)行任何任務(wù)或響應(yīng)任何關(guān)鍵事件的時(shí)間,滿足系統(tǒng)實(shí)時(shí)性要求。為了理解R
    發(fā)表于 07-19 06:18

    Linux內(nèi)核搶占和用戶搶占的概念和區(qū)別

    本文詳解了Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制。首先介紹了內(nèi)核搶占和用戶搶占的概念和區(qū)別,接著分析了不可
    發(fā)表于 08-05 08:18

    詳解Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制

    本文詳解了Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制。首先介紹了內(nèi)核搶占和用戶搶占的概念和區(qū)別,接著分析了不可
    發(fā)表于 08-06 06:16

    嵌入操作系統(tǒng)搶占調(diào)度策略是什么

    嵌入操作系統(tǒng)搶占調(diào)度策略是什么
    發(fā)表于 04-28 06:23

    請(qǐng)問(wèn)一下RTThread是屬于搶占還是合作

    一般的PC都是搶占的,是中斷實(shí)現(xiàn)的,rtthread有中斷;合作的不會(huì)切換任務(wù)直到顯地yield,個(gè)人在使用rtthread時(shí),遇到過(guò)沒(méi)加rt_thread_mdelay就卡住的
    發(fā)表于 08-26 11:38

    嵌入實(shí)時(shí)操作系統(tǒng)VxWorks內(nèi)核調(diào)度機(jī)制分析

    本文簡(jiǎn)要介紹了多任務(wù)內(nèi)核,重點(diǎn)分析了嵌入實(shí)時(shí)操作系統(tǒng)VxWorks的內(nèi)核調(diào)度機(jī)制——優(yōu)先級(jí)搶占調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度算法。
    發(fā)表于 12-11 16:15 ?14次下載

    單片機(jī)搶占嵌入操作系統(tǒng)

    搶占實(shí)時(shí)嵌入操作系統(tǒng)能夠在任務(wù)得到CPU時(shí)間時(shí)第一時(shí)間進(jìn)行CPU的完全霸占,能夠更好的把握系統(tǒng)控制權(quán),從而使任務(wù)得到迅速完成。所以相較于
    發(fā)表于 01-31 17:03 ?1次下載

    Linux內(nèi)核搶占相關(guān)的基礎(chǔ)知識(shí)

    可以支持搶占,多任務(wù)操作系統(tǒng) (multitasking operating system) 分為 2 類: 1、cooperative multitasking os 這種 os,進(jìn)程會(huì)一直運(yùn)行直到它自愿停下來(lái)。這種自
    的頭像 發(fā)表于 11-09 16:48 ?2276次閱讀

    搶占內(nèi)核搶占內(nèi)核的內(nèi)容

    搶占內(nèi)核的優(yōu)點(diǎn)之一是中斷延遲更低,在任務(wù)級(jí)別,搶占內(nèi)核
    的頭像 發(fā)表于 06-02 14:35 ?1561次閱讀
    主站蜘蛛池模板: 日本一二区视频 | 5278欧美一区 | 亚洲一级影院 | 九九热在线免费 | 欧美一区二区三区影院 | 亚色在线视频 | 九色综合久久综合欧美97 | 欧美一区二区精品 | 6一10周岁毛片免费 717影院理论午夜伦不卡久久 | 老色皮| 男子扒开美女尿口做羞羞的事 | 大美女久久久久久j久久 | 天堂在线视频精品 | 中文字幕一区二区三 | 扒开末成年粉嫩的小缝强文 | 中文天堂网在线www 中文天堂资源在线www | 九九热精品在线视频 | 三级不卡| 天天做天天爱天天爽 | 2021久久精品国产99国产精品 | 国产特级毛片aaaaaa毛片 | 成人性色生活片免费看爆迷你毛片 | 免费看黄资源大全高清 | 国产亚洲精品成人一区看片 | 久久久久久久综合狠狠综合 | 欧美高清免费一级在线 | 欧美天天在线 | 婷婷中文网 | 亚洲五月综合缴情婷婷 | 李丽莎尤物福利视频 | 亚洲第一狼人社区 | 午夜片在线观看 | 四虎在线免费播放 | 爱爱免费视频 | 日韩三级一区 | 一级黄色大全 | 二区在线播放 | 美女视频永久黄网站免费观看国产 | www.黄网站 | 国产乱辈通伦影片在线播放 | 一级片在线观看视频 |