精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

圖解中斷 | 中斷從產生到消失的一生

開發 架構
中斷處理,伴隨著軟硬件的協同,伴隨著外設與CPU的傳遞,伴隨著內核棧和用戶棧的切換,下面我們就看一下中斷短暫而充實的一生。

[[415956]]

本文轉載自微信公眾號「虛機」,作者cloud3 。轉載本文請聯系虛機公眾號。

中斷系統是現代PC的基礎架構之一。中斷處理在操作系統也具有舉足輕重的作用 。

中斷處理,伴隨著軟硬件的協同,伴隨著外設與CPU的傳遞,伴隨著內核棧和用戶棧的切換,下面我們就看一下中斷短暫而充實的一生。

以上是從設備觸發到中斷處理函數處理完畢的整個流程,為了看到中斷處理的全貌,我們隱藏了一些實現細節,具體的細節以后再單獨描述。

下面對每個調節進行簡單的描述。

從設備到APIC

外部中斷的發起者是設備,設備通過電平觸發IRQ信號線產生一個中斷。

檢測到中斷信號后,IOAPIC使用寫內存的方式把中斷信息發送到系統總線上。

LAPIC接收到中斷信息后把中斷能否發送給CPU處理。

CPU內部

CPU感知到中斷線后,從LAPIC上接收中斷號。

切換到內核棧。保存當前進程棧,例如在X86上會保存SS, ESP, EFLAGS, CS, EIP以及錯誤碼。

然后通過IDTR寄存器和中斷號找到中斷服務程序的入口。

中斷處理程序

一般把中斷處理分為兩個半部:中斷處理程序是上半部(top half)和下半部(bottom half)。

上半部立會即執行,只做有嚴格時限的工作,例如對接收的中斷進行應答或復位硬件,這些工作都是在所有中斷被禁止的情況下完成的。

能夠被允許稍后完成的工作會推遲到下半部(bottom half)去做。

從中斷處理返回到CPU

恢復之前保存的flag和寄存器狀態,恢復之前運行的進程。

再到中斷處理程序

運行中斷處理程序的下半部,把中斷任務執行完成。

 

上面為了看到中斷處理的全貌,我們隱藏了一些實現細節,具體的細節后面會在單獨描述。

 

責任編輯:武曉燕 來源: 虛機
相關推薦

2020-07-09 17:37:47

Linux網絡包中斷

2015-04-23 08:51:53

2021-01-11 12:53:28

線程Java管理

2015-08-03 09:33:21

PH程序員一生

2025-01-14 10:09:43

硬中斷Linux系統

2016-08-24 11:13:30

2023-01-10 08:20:55

RocketMQ消息源碼

2021-03-09 08:01:27

CPUarm64寄存器

2021-12-08 08:41:31

Linux 中斷子系統Linux 系統

2021-11-30 07:02:10

虛擬化Linux 中斷

2018-11-29 09:13:47

CPU中斷控制器

2021-10-11 09:55:58

Facebook業務中斷網絡安全

2021-12-10 08:45:45

Linux GIC Linux 系統

2025-09-10 04:00:00

2021-12-14 08:51:23

Linux 中斷子系統Linux 系統

2025-06-05 02:45:00

優化缺頁VMA

2018-01-18 09:05:05

存儲數據包分層

2013-06-06 13:42:48

OSPF入門配置

2022-05-24 10:19:15

網絡中斷網絡

2022-08-11 14:19:40

云計算云中斷安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 南投市| 无为县| 冀州市| 平舆县| 舞钢市| 中西区| 耒阳市| 苍梧县| 大姚县| 烟台市| 平乡县| 上思县| 罗平县| 淅川县| 神农架林区| 迁西县| 浙江省| 铅山县| 湖州市| 苗栗县| 古浪县| 海原县| 名山县| 鸡西市| 额济纳旗| 阿克| 通山县| 客服| 武夷山市| 凤台县| 宁远县| 蒙自县| 镇安县| 城步| 永清县| 张北县| 旬邑县| 囊谦县| 翁源县| 姜堰市| 旬邑县|