91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

Linux 搶占機(jī)制與中斷狀態(tài)機(jī)

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:Jasonangel ? 2023-09-27 17:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

中斷狀態(tài)機(jī)

對(duì)于 GIC-V2 而言,中斷的狀態(tài)機(jī)由 Distributor 維護(hù),每個(gè)中斷都有一個(gè)狀態(tài)機(jī)。

Inactive :中斷未激活(未發(fā)生)。

Pending:中斷到達(dá) GIC ,等待 CPU 的處理。

Active:中斷得到 CPU 的應(yīng)答,中斷被CPU處理。

Active and pending :某個(gè)中斷正在被 CPU 處理,這時(shí)候該中斷又來了。

來看一個(gè)例子:

圖片

(a)N 和 M 用來標(biāo)識(shí)兩個(gè)外設(shè)中斷,N 的優(yōu)先級(jí)大于 M

(b)兩個(gè)中斷都是 SPI 類型,level trigger,active-high

(c)兩個(gè)中斷被配置為去同一個(gè) CPU

(d)都被配置成 group 0,通過 FIQ 觸發(fā)中斷

Linux 搶占機(jī)制

GIC中斷控制器支持中斷優(yōu)先級(jí)搶占,一個(gè)高優(yōu)先級(jí)中斷可以搶占一個(gè)低優(yōu)先級(jí)且處于active狀態(tài)的中斷,即GIC仲裁單元會(huì)記錄和比較當(dāng)前優(yōu)先級(jí)最高的pending狀態(tài),然后去搶占當(dāng)前中斷,并且發(fā)送這個(gè)最高優(yōu)先級(jí)的中斷請(qǐng)求給CPU。

從GIC角度看,GIC會(huì)發(fā)送高優(yōu)先級(jí)中斷請(qǐng)求給CPU。但是CPU不一定響應(yīng)!!!因?yàn)樵谥袛嗵幚磉^程中,CPU處于關(guān)中斷狀態(tài)(關(guān)閉本CPU),需要等低優(yōu)先級(jí)中斷處理完畢,直到發(fā)送EOI 給GIC,然后CPU才會(huì)響應(yīng)pending狀態(tài)中優(yōu)先級(jí)最高的中斷進(jìn)行處理。所以 Linux 下:

1、高優(yōu)先級(jí)中斷無法搶占正在執(zhí)行的低優(yōu)先級(jí)中斷。

2、同處于 pending 狀態(tài)的中斷,優(yōu)先響應(yīng)高優(yōu)先級(jí)中斷進(jìn)行處理。

3、同優(yōu)先級(jí)同是 pending 狀態(tài)的中斷,選擇硬件中斷號(hào) ID 最小的一個(gè)發(fā)給CPU。

這樣是可以理解的,如果萬一中斷大量爆發(fā),中斷如果允許嵌套的話,棧會(huì)越來越大,會(huì)爆掉,所以為了防止這種情況發(fā)生,Linux中中斷不允許嵌套,單CPU中,在一個(gè)中斷處理完之前,不會(huì)相應(yīng)另外一個(gè)中斷,哪怕優(yōu)先級(jí)比它高。

FreeRTOS 中是允許高優(yōu)先級(jí)中斷搶占正在執(zhí)行的低優(yōu)先級(jí)中斷,不同系統(tǒng)設(shè)定不一樣。

中斷與進(jìn)程

進(jìn)程調(diào)度是一個(gè)復(fù)雜的機(jī)制, 根據(jù)需求的不同,在不同時(shí)刻會(huì)切換調(diào)度機(jī)制,CPU會(huì)根據(jù)進(jìn)程優(yōu)先級(jí)、時(shí)間片等信息,對(duì)不同進(jìn)程進(jìn)行調(diào)度。

中斷可以打斷進(jìn)程的運(yùn)行,任意一個(gè)中斷的優(yōu)先級(jí)都比所有的進(jìn)程高。

在中斷處理過程中,主要是 GIC 和 CPU 的交互,即便 GIC 支持高優(yōu)先級(jí)中斷搶占正在執(zhí)行的低優(yōu)先級(jí)中斷,發(fā)信號(hào)給 CPU core,但是CPU core 可以不處理,因?yàn)?Linux 中當(dāng) CPU core 執(zhí)行中斷處理時(shí),是關(guān)中斷和關(guān)搶占的狀態(tài),不再相應(yīng)中斷信號(hào)。

也就意味著,在中斷優(yōu)先級(jí)這個(gè)概念中,只有當(dāng) GIC 同時(shí)存在多個(gè) pending的中斷,這時(shí)候會(huì)選擇優(yōu)先級(jí)最高的去執(zhí)行,高優(yōu)先級(jí)會(huì)搶占低優(yōu)先級(jí)中斷(哪怕低優(yōu)先級(jí)先來)。如果低優(yōu)先級(jí)中斷處于 active
狀態(tài),是不可以被搶占的,這是前后關(guān)系。搶占只存在于同時(shí)是pending 狀態(tài)的時(shí)候。

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

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213879
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28259
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    207

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Verilog狀態(tài)機(jī)+設(shè)計(jì)實(shí)例

    在verilog中狀態(tài)機(jī)的一種很常用的邏輯結(jié)構(gòu),學(xué)習(xí)和理解狀態(tài)機(jī)的運(yùn)行規(guī)律能夠幫助我們更好地書寫代碼,同時(shí)作為一種思想方法,在別的代碼設(shè)計(jì)中也會(huì)有所幫助。 一、簡介 在使用過程中我們常說
    的頭像 發(fā)表于 02-12 19:07 ?5469次閱讀
    Verilog<b class='flag-5'>狀態(tài)機(jī)</b>+設(shè)計(jì)實(shí)例

    labview狀態(tài)機(jī)制作的提款機(jī)

    labview狀態(tài)機(jī)制作的提款機(jī)
    發(fā)表于 03-31 22:55

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

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

    采用狀態(tài)機(jī)和消息機(jī)制的串口接收程序

    采用狀態(tài)機(jī)和消息機(jī)制的串口接收程序
    發(fā)表于 05-16 14:51 ?48次下載

    狀態(tài)機(jī)舉例

    狀態(tài)機(jī)舉例 你可以指定狀態(tài)寄存器和狀態(tài)機(jī)狀態(tài)。以下是一個(gè)有四種狀態(tài)的普通狀態(tài)機(jī)。 // Th
    發(fā)表于 03-28 15:18 ?1097次閱讀

    狀態(tài)機(jī)代碼生成工具

    狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機(jī)原理及用法

    狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    基于有限狀態(tài)機(jī)Linux多點(diǎn)觸摸屏驅(qū)動(dòng)設(shè)計(jì)劉斌

    基于有限狀態(tài)機(jī)Linux多點(diǎn)觸摸屏驅(qū)動(dòng)設(shè)計(jì)_劉斌
    發(fā)表于 03-15 08:00 ?0次下載

    狀態(tài)機(jī)概述 如何理解狀態(tài)機(jī)

    本篇文章包括狀態(tài)機(jī)的基本概述以及通過簡單的實(shí)例理解狀態(tài)機(jī)
    的頭像 發(fā)表于 01-02 18:03 ?1.1w次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>概述  如何理解<b class='flag-5'>狀態(tài)機(jī)</b>

    FPGA:狀態(tài)機(jī)簡述

    本文目錄 前言 狀態(tài)機(jī)簡介 狀態(tài)機(jī)分類 Mealy 型狀態(tài)機(jī) Moore 型狀態(tài)機(jī) 狀態(tài)機(jī)描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?8061次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b>簡述

    什么是狀態(tài)機(jī)狀態(tài)機(jī)5要素

    玩單片機(jī)還可以,各個(gè)外設(shè)也都會(huì)驅(qū)動(dòng),但是如果讓你完整的寫一套代碼時(shí),卻無邏輯與框架可言。這說明編程還處于比較低的水平,你需要學(xué)會(huì)一種好的編程框架或者一種編程思想!比如模塊化編程、狀態(tài)機(jī)編程、分層思想
    的頭像 發(fā)表于 07-27 11:23 ?2.1w次閱讀
    什么是<b class='flag-5'>狀態(tài)機(jī)</b>?<b class='flag-5'>狀態(tài)機(jī)</b>5要素

    狀態(tài)模式(狀態(tài)機(jī))

    以前寫狀態(tài)機(jī),比較常用的方式是用 if-else 或 switch-case,高級(jí)的一點(diǎn)是函數(shù)指針列表。最近,看了一文章《c語言設(shè)計(jì)模式–狀態(tài)模式(狀態(tài)機(jī))》(來源:embed linux
    發(fā)表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態(tài)</b>模式(<b class='flag-5'>狀態(tài)機(jī)</b>)

    51中斷系統(tǒng)與vhdl狀態(tài)機(jī)

    51中斷系統(tǒng)與vhdl狀態(tài)機(jī)51中斷系統(tǒng)與vhdl狀態(tài)機(jī)51單片機(jī)中斷系統(tǒng)1.為什么要引入
    發(fā)表于 01-14 14:58 ?2次下載
    51<b class='flag-5'>中斷</b>系統(tǒng)與vhdl<b class='flag-5'>狀態(tài)機(jī)</b>

    如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng)

    模式(Design Pattern)。本文介紹如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng),以及如何利用Linux下的工具來自動(dòng)生成實(shí)用的狀態(tài)機(jī)框架。
    的頭像 發(fā)表于 09-14 10:55 ?1848次閱讀

    什么是狀態(tài)機(jī)狀態(tài)機(jī)的種類與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設(shè)計(jì)中,
    的頭像 發(fā)表于 10-19 10:27 ?1.2w次閱讀
    主站蜘蛛池模板: 国产国产人免费人成成免视频 | 99pao在线视频精品免费 | 中文在线天堂网www 中文在线资源链接天堂 | 日本精品视频 | 精品久久久久久久免费加勒比 | 免费观看在线永久免费xx视频 | 免费成人看片 | 毛片又大又粗又长又硬 | 四虎影视在线影院在线观看 | 久久最新精品 | xx网成人| 看黄网站在线 | 欧美成人性色xxxxx视频大 | 综合婷婷丁香 | 黄视频网站入口 | 国产在线色| 在线黄| 日本在线观看成人小视频 | 久久亚洲免费视频 | 日本人xxxxxxxxxⅹ68 | 午夜一级福利 | 国产三级在线观看 | 日日摸夜夜爽夜夜爽出水 | 免费一级毛片 | 69女poren16| 免费在线观看一级毛片 | 免费一级毛片清高播放 | 国产在线综合网 | www亚洲欲色成人久久精品 | 涩涩涩综合在线亚洲第一 | 欧美成人天天综合天天在线 | www.色五月 | 天天干天天操天天拍 | 午夜影视免费观看 | 四虎最新免费观看网址 | 爱爱的免费视频 | 天天摸天天操天天爽 | ww7788色淫网站女女免费 | 在线播放交视频 | 97午夜理伦片在线影院 | 国产毛片农村妇女aa板 |