女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

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

搶占式內(nèi)核和非搶占式內(nèi)核的內(nèi)容

strongerHuang ? 來源:嵌入式專欄 ? 作者:嵌入式專欄 ? 2022-06-02 14:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

操作系統(tǒng)分為搶占式內(nèi)核和非搶占式內(nèi)核,通常RTOS都是搶占式內(nèi)核。

下面就來講講搶占式內(nèi)核和非搶占式內(nèi)核的內(nèi)容。

非搶占式內(nèi)核

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

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

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

非搶占式內(nèi)核的優(yōu)點之一是中斷延遲更低,在任務(wù)級別,非搶占內(nèi)核也可以使用不可重入函數(shù)。每個任務(wù)都可以使用不可重入函數(shù),而不必擔(dān)心被另一個任務(wù)破壞。這是因為每個任務(wù)都可以在放棄 CPU 之前運行到完成。但是,不應(yīng)允許不可重入函數(shù)放棄對 CPU 的控制。 使用非搶占式內(nèi)核的任務(wù)級響應(yīng)可能比前臺/后臺系統(tǒng)低得多,因為任務(wù)級響應(yīng)現(xiàn)在由最長任務(wù)的時間給出。 非搶占式內(nèi)核的另一個優(yōu)點是較少需要通過使用信號量來保護共享數(shù)據(jù)。每個任務(wù)都擁有 CPU,你不必擔(dān)心任務(wù)會被搶占。當(dāng)然,這不是絕對的,在某些情況下,仍應(yīng)使用信號量。共享 I/O 設(shè)備可能仍需要使用互斥信號量;例如,任務(wù)可能仍需要對打印機的獨占訪問。

989ab51a-e22c-11ec-ba43-dac502259ad0.png

(1) 任務(wù)正在執(zhí)行但被中斷。 (2) 如果中斷被使能,CPU 向量(跳轉(zhuǎn))到 ISR。 (3) ISR 處理事件并使更高優(yōu)先級的任務(wù)準(zhǔn)備好運行。 (4) ISR完成后,執(zhí)行返回指令,CPU返回被中斷的任務(wù)。 (5) 任務(wù)代碼在中斷指令之后的指令處恢復(fù)。 (6) 當(dāng)任務(wù)代碼完成時,它調(diào)用內(nèi)核提供的服務(wù),將 CPU 交給另一個任務(wù)。 (7) 內(nèi)核看到更高優(yōu)先級的任務(wù)已經(jīng)準(zhǔn)備好運行,因此,內(nèi)核執(zhí)行上下文切換,以便它可以運行(即執(zhí)行)更高優(yōu)先級的任務(wù)來處理由 ISR 發(fā)出信號的事件。

非搶占式內(nèi)核最重要的缺點是響應(yīng)性:已準(zhǔn)備好運行的較高優(yōu)先級任務(wù)可能需要等待很長時間才能運行,因為當(dāng)前任務(wù)應(yīng)該及時放棄CPU使用權(quán)。 與前臺/后臺系統(tǒng)中的后臺執(zhí)行一樣,非搶占式內(nèi)核中的任務(wù)級響應(yīng)時間是不確定的;你永遠不知道最高優(yōu)先級的任務(wù)何時才能獲得 CPU 的控制權(quán)。這個操作由你的應(yīng)用程序來決定怎么時候放棄對 CPU 的控制。 總而言之,非搶占式內(nèi)核允許每個任務(wù)運行,直到它自愿放棄對 CPU 的控制。中斷搶占任務(wù),ISR 完成后,ISR 返回到被中斷的任務(wù)。任務(wù)級響應(yīng)比前臺/后臺系統(tǒng)要好得多,但仍然是不確定的,因此,很少有商業(yè)內(nèi)核是非搶占式的。

搶占式內(nèi)核

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

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

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

98d6bc7c-e22c-11ec-ba43-dac502259ad0.png

(1) 任務(wù)正在執(zhí)行但被中斷。 (2) 如果中斷被使能,CPU 向量(跳轉(zhuǎn))到 ISR。 (3) ISR 處理事件并使更高優(yōu)先級的任務(wù)準(zhǔn)備好運行。ISR 完成后,調(diào)用內(nèi)核提供的服務(wù)(即調(diào)用內(nèi)核提供的函數(shù))。 (4) & (5) 該函數(shù)知道一個更重要的任務(wù)已經(jīng)準(zhǔn)備好運行,因此內(nèi)核將執(zhí)行上下文切換并執(zhí)行更重要的代碼而不是返回到被中斷的任務(wù)任務(wù)。當(dāng)更重要的任務(wù)完成時,內(nèi)核提供的另一個函數(shù)被調(diào)用,讓任務(wù)進入休眠狀態(tài),等待事件(即 ISR)發(fā)生。 (6) & (7) 然后內(nèi)核“看到”需要執(zhí)行一個較低優(yōu)先級的任務(wù),并完成另一個上下文切換以恢復(fù)被中斷任務(wù)的執(zhí)行。

使用搶占式內(nèi)核,最高優(yōu)先級任務(wù)的執(zhí)行是確定性的;你可以確定它何時可以控制 CPU。因此,通過使用搶占式內(nèi)核可以最大限度地減少任務(wù)級響應(yīng)時間。 使用搶占式內(nèi)核的應(yīng)用程序代碼不應(yīng)使用不可重入函數(shù),除非通過使用互斥信號量確保對這些函數(shù)的獨占訪問,因為低優(yōu)先級和高優(yōu)先級任務(wù)都可以使用公共函數(shù)。如果較高優(yōu)先級的任務(wù)搶占正在使用該功能的較低優(yōu)先級的任務(wù),則可能會發(fā)生數(shù)據(jù)損壞。 總而言之,搶占式內(nèi)核始終執(zhí)行準(zhǔn)備運行的最高優(yōu)先級任務(wù)。中斷搶占任務(wù),完成 ISR 后,內(nèi)核將繼續(xù)執(zhí)行準(zhǔn)備運行的最高優(yōu)先級任務(wù)(而不是被中斷的任務(wù))。任務(wù)級別的響應(yīng)是最佳的和確定性的,當(dāng)系統(tǒng)響應(yīng)性很重要時,建議使用搶占式內(nèi)核。

審核編輯 :李倩

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

    關(guān)注

    3

    文章

    1414

    瀏覽量

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

    關(guān)注

    68

    文章

    11058

    瀏覽量

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

    關(guān)注

    37

    文章

    7118

    瀏覽量

    125225

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入學(xué)習(xí)-飛凌嵌入ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核啟動流程

    關(guān)于內(nèi)核啟動流程涉及內(nèi)容較多而且復(fù)雜,過度的分析意義不大,因此,這里不做詳細講解,只做一個大概的介紹。初學(xué)者只做了解,有一定基礎(chǔ)的可以深入理解。內(nèi)核鏡像被uboot加載到內(nèi)存空間之后,獲得控制權(quán)
    發(fā)表于 01-07 09:20

    飛凌嵌入ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核啟動流程

    關(guān)于內(nèi)核啟動流程涉及內(nèi)容較多而且復(fù)雜,過度的分析意義不大,因此,這里不做詳細講解,只做一個大概的介紹。初學(xué)者只做了解,有一定基礎(chǔ)的可以深入理解。 內(nèi)核鏡像被uboot加載到內(nèi)存空間之后,獲得控制權(quán)
    發(fā)表于 01-06 09:51

    嵌入學(xué)習(xí)-飛凌嵌入ElfBoard ELF 1板卡-內(nèi)核編譯之初次編譯

    接下來我們就進行內(nèi)核代碼的初次編譯,直接使用我們適配好的Linux內(nèi)核源碼進行編譯。為了使編譯操作更加簡單,我們提供了編譯腳本,將編譯操作命令放進了腳本中執(zhí)行,直接執(zhí)行編譯腳本文件build.sh
    發(fā)表于 12-18 08:55

    飛凌嵌入ElfBoard ELF 1板卡-內(nèi)核編譯之初次編譯

    接下來我們就進行內(nèi)核代碼的初次編譯,直接使用我們適配好的Linux內(nèi)核源碼進行編譯。為了使編譯操作更加簡單,我們提供了編譯腳本,將編譯操作命令放進了腳本中執(zhí)行,直接執(zhí)行編譯腳本文件build.sh
    發(fā)表于 12-17 09:34

    嵌入學(xué)習(xí)-飛凌嵌入ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    學(xué)到本章節(jié),大家應(yīng)該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于linux內(nèi)核十分龐大
    發(fā)表于 12-16 13:08

    飛凌嵌入ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    學(xué)到本章節(jié),大家應(yīng)該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于linux內(nèi)核十分龐大
    發(fā)表于 12-13 09:03

    嵌入工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    在嵌入系統(tǒng)的開發(fā)中,Linux內(nèi)核調(diào)試是一個至關(guān)重要的環(huán)節(jié)。 隨著處理器技術(shù)的不斷進步和嵌入領(lǐng)域的蓬勃發(fā)展,掌握有效的內(nèi)核調(diào)試技術(shù)成為了開發(fā)者們的一項必備技能。本文將介紹幾種常見
    發(fā)表于 11-28 15:37

    嵌入Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗 +分離內(nèi)核的嵌入Hyperviso

    讀后感:分離內(nèi)核與SKH架構(gòu)的深刻洞察 在閱讀了關(guān)于分離內(nèi)核和SKH(分離內(nèi)核Hypervisor)的詳細闡述后,我深感這一技術(shù)在現(xiàn)代計算機系統(tǒng),尤其是嵌入系統(tǒng)和安全關(guān)鍵系統(tǒng)中的重要
    的頭像 發(fā)表于 10-12 17:06 ?741次閱讀
    嵌入<b class='flag-5'>式</b>Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗 +分離<b class='flag-5'>內(nèi)核</b>的嵌入<b class='flag-5'>式</b>Hyperviso

    rtthread是搶占的rtos,那么線程的timeout參數(shù)具體的作用是什么呢?

    查閱相關(guān)說明,rtthread是搶占的rtos,那么線程的timeout參數(shù)具體的作用是什么呢, 假如線程A,B的優(yōu)先級分別是1和2,timeout是10ms。當(dāng)線程B 在運行中,還未到timeout,此刻掛起的線程A被觸發(fā),是直接
    發(fā)表于 09-27 08:39

    新書發(fā)布——《RT-Thread嵌入實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

    我們非常高興地宣布,由鄭苗秀、沈鴻飛和廖建尚編著的《RT-Thread嵌入實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》一書正式發(fā)布。本書的編寫團隊由多位在嵌入和實時操作系統(tǒng)領(lǐng)域有著豐富經(jīng)驗的專家組
    的頭像 發(fā)表于 09-03 08:06 ?1259次閱讀
    新書發(fā)布——《RT-Thread嵌入<b class='flag-5'>式</b>實時操作系統(tǒng)<b class='flag-5'>內(nèi)核</b>、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

    linux驅(qū)動程序如何加載進內(nèi)核

    在Linux系統(tǒng)中,驅(qū)動程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們允許內(nèi)核與硬件設(shè)備進行通信,從而實現(xiàn)對硬件設(shè)備的控制和管理。 驅(qū)動程序的編寫 驅(qū)動程序的編寫是Linux驅(qū)動開發(fā)的基礎(chǔ)。在編寫驅(qū)動程序之前
    的頭像 發(fā)表于 08-30 15:02 ?1038次閱讀

    學(xué)習(xí)hypervisor嵌入產(chǎn)品安全設(shè)計

    第一部分(第1~2章)介紹Hypervisor基礎(chǔ),涵蓋虛擬化技術(shù)與實現(xiàn)、主流的嵌入Hypervisor產(chǎn)品,以及基于分離內(nèi)核的嵌入Hypervisor等內(nèi)容。第二部分(第3~12
    發(fā)表于 08-25 09:11

    Linux內(nèi)核測試技術(shù)

    Linux 內(nèi)核是Linux操作系統(tǒng)的核心部分,負責(zé)管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)核的不斷發(fā)展和更新,其復(fù)雜性和代碼規(guī)模也在不斷增加。因此,確保內(nèi)核的穩(wěn)定性和可靠性變得尤為重要
    的頭像 發(fā)表于 08-13 13:42 ?994次閱讀
    Linux<b class='flag-5'>內(nèi)核</b>測試技術(shù)

    內(nèi)核程序漏洞介紹

    電子發(fā)燒友網(wǎng)站提供《內(nèi)核程序漏洞介紹.pdf》資料免費下載
    發(fā)表于 08-12 09:38 ?0次下載

    歡創(chuàng)播報 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核

    1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開發(fā)者大會上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨立于安卓和iOS的鴻蒙操作系統(tǒng),正式登場。這是HarmonyOS
    的頭像 發(fā)表于 06-27 11:30 ?1218次閱讀
    主站蜘蛛池模板: 珲春市| 名山县| 兰溪市| 云南省| 晋宁县| 石家庄市| 威海市| 元朗区| 六盘水市| 西和县| 尚志市| 垣曲县| 普定县| 宾川县| 房产| 耿马| 黎城县| 浦北县| 五莲县| 方正县| 托克逊县| 宜良县| 南宁市| 延津县| 色达县| 南澳县| 周宁县| 吴桥县| 楚雄市| 锦州市| 育儿| 玉山县| 建德市| 怀宁县| 民勤县| 望城县| 吴桥县| 霞浦县| 屏山县| 铜山县| 噶尔县|