本文簡單介紹下Linux信號處理機制,為介紹二進制翻譯下信號處理機制做一個鋪墊。 本文主要參考書目《Linux內核源代碼情景分析》《獨辟蹊徑品內核:Linux內核源代碼導讀》 首先,先說一下
2017-11-16 05:11:00
13549 
在linux內核中,互斥量(mutex,即mutual exclusion)是一種保證串行化的睡眠鎖機制。和spinlock的語義類似,都是允許一個執行線索進入臨界區,不同的是當無法獲得鎖的時候
2022-05-13 08:56:26
6271 
裸機編程中使用中斷比較麻煩,需要配置寄存器、使能IRQ等等。而在Linux驅動編程中,內核提供了完善的終端框架,只需要申請中斷,然后注冊中斷處理函數即可,使用非常方便。
2022-07-29 08:57:24
597 中斷機制:CPU在執行指令時,收到某個中斷信號轉而去執行預先設定好的代碼,然后再返回到原指令流中繼續執行,這就是中斷機制。
2022-08-06 16:19:53
4218 內核定時器是內核用來控制在未來某個時間點(基于jiffies(節拍總數))調度執行某個函數的一種機制,相關函數位于 <linux/timer.h> 和 kernel/timer.c 文件
2022-09-17 15:06:21
1186 之前分享過Linux內核網絡數據包的接收過程,當執行到網卡通過硬件中斷(IRQ)通知CPU,告訴它有數據來了,CPU會根據中斷表,調用已經注冊的中斷函數,這個中斷函數會調到驅動程序(NIC
2022-12-15 11:44:47
983 在linux內核中,互斥量mutex是一種保證CPU串行運行的睡眠鎖機制。和spinlock類似,都是同一個時刻只有一個線程進入臨界資源,不同的是,當無法獲取鎖的時候,spinlock原地自旋,而mutex則是選擇掛起當前線程,進入阻塞狀態。所以,mutex無法在中斷上下文中使用。
2023-06-26 16:05:58
498 Linux操作系統是當今世界上最為廣泛使用的開源操作系統之一,內核則是一個操作系統的核心和靈魂所在。對于一名Linux驅動開發者來說,了解Linux內核的運行機制和Linux內核提供的一些關鍵功能(如虛擬內存管理、進程管理、文件系統、網絡協議棧等)都是我們日常工作和學習的重點。
2023-07-06 11:46:41
1046 
在聊中斷機制之前,我想先和大家聊一聊中斷機制出現的前因后果。最一開始計算機操作系統的設計是能夠一次性的執行所有的計算任務的,這被稱為順序執行,也是批處理操作系統(Batch system)。
2023-08-07 09:18:28
843 
Linux 操作系統和驅動程序運行在內核空間,應用程序運行在用戶空間,兩者不能簡單地使用指針傳遞數據,因為Linux使用的虛擬內存機制,用戶空間的數據可能被換出,當內核空間使用用戶空間指針時,對應
2018-05-08 10:33:19
3299 
分析,我把這一類 blog 文章劃歸為“ Linux 機制分析”,希望大家支持。 什么是 workqueue ? Linux 中的 Workqueue 機制就是為了簡化內核線程的創建。通過調用
2016-05-21 09:51:16
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2019-08-06 07:08:12
自旋鎖是專為防止多處理器并發而引入的一種鎖,它在內核中大量應用于中斷處理等部分(對于單處理器來說,防止中斷處理中的并發可簡單采用關閉中斷的方式,即在標志寄存器中關閉/打開中斷標志位,不需要自旋鎖)。
2020-03-31 08:06:08
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-05 08:18:07
Linux內核主要由五個子系統組成:進程調度,內存管理,虛擬文件系統,網絡接口,進程間通信。1.進程調度(SCHED):控制進程對CPU的訪問。當需要選擇下一個進程運行時,由調度程序選擇最值得運行
2019-07-11 16:59:35
層次上對中斷機制的一種模擬。阻塞I/O意味著一直等待設備可訪問再訪問,非阻塞I/O意味著使用poll()來查詢是否可訪問,而異步通信則意味著設備通知應用程序自身可訪問。
2019-08-06 08:22:19
在linux下開發過程中,用戶態需要內核提供一些機制,以便用戶態能夠及時地得知內核或底層硬件設備發生了什么,從而能夠更好地管理設備,給用戶提供更好的服務,如 hotplug、udev 和 inotify 就是這種需求催生的。
2019-07-22 08:05:50
一、課程介紹 Linux博大精深、代碼量極大、復雜度極高。由于無法掌握內核開發的能力,以致有些觀點認為,Linux內核不需要動,當成黑匣子就行了。 其實不然,我們需要在很多方面進行內核開發 1、在
2010-04-16 14:33:05
;nbsp; ◆ 搶占與實時性 ◆ 內核中的搶占檢查點8.8 如何保證特定線程的實時性8.9 hack一個中斷導致搶占的場景8.10 新的內核tick機制第四天9 內核編程用到的若干互持
2009-07-24 13:03:42
;nbsp; ◆ 搶占與實時性 ◆ 內核中的搶占檢查點8.8 如何保證特定線程的實時性8.9 hack一個中斷導致搶占的場景8.10 新的內核tick機制第四天9 內核編程用到的若干互持
2009-07-24 13:04:45
和Ximain公司的內核開發工程師。他參與的內核項目包括搶占式內核、進程調度器、內核事件層、通知機制、VM改進,以及設備驅動程序。他是《Linux journal》雜志的編輯。另外他還著有《Linux
2015-09-12 00:17:20
你好 是否可以通過SPAEr320 CPU中的USB啟動機制啟動Linux內核? 如果是,可以使用哪些工具為可啟動USB記憶棒生成圖像?我希望至少能夠獲得一份認可的應用說明鏈接。 謝謝 亨氏 #USB啟動
2019-08-07 14:23:28
本帖最后由 lee_st 于 2018-2-24 19:52 編輯
深入Linux設備驅動程序內核機制
2018-02-24 17:19:33
(用系統調用訪問)系統調用:內核提供的安全訪問機制; 硬件中斷、軟件中斷作用:使用戶空間可以訪問內核空間并獲取服務用戶如何發送系統調用?調用系統提供的函數接口API:用戶編程接口1、 ...
2021-12-23 08:23:04
會通過執行中斷處理程序來快速完成上半部分的工作,接著通過調用 tasklet 使得下半部分的工作得以完成。可以看到,下半部分被上半部分所調用,至于下半部分何時執行則屬于內核的工作。 tasklet 機制核心
2019-02-15 15:29:06
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-06 06:16:22
稱為服務器的進程使用進程間通信(IPC)彼此獲取信息。 Linux內核與硬件的關系內核可以通過所謂的中斷來管理系統的硬件。 當硬件要與系統接口時,會發出一個中斷,中斷處理器,從而對內核執行相同的操作
2021-09-24 09:11:03
Linux內核中文版教程
2009-03-28 09:45:49
0 以 ARM7TDMI處理器為例,詳細介紹 ARM內核的三種中斷:常規中斷、快中斷和軟件中斷;結合應用,給出優化的中斷處理程序的ARM指令代碼,對電子設計人員有較大的參考價值。
2009-04-09 10:01:19
18 本章學習目標掌握LINUX內核版本的含義理解并掌握進程的概念掌握管道的概念及實現了解內核的數據結構了解LINUX內核的算法掌握LINUX內核升級的方法
2009-04-10 16:59:19
0 介紹了兩種提高嵌入式Linux 操作系統實時性方法及其在實際中的應用。可搶占式內核利用改變中斷的調度機制和自旋鎖的運行方法使Linux 的內核變成可搶占式的。低延遲內核在長耗
2009-04-24 10:34:23
14 PCI中斷機制分析:PCI 總線有四條中斷線,所有PCI 設備共同使用這四條線向系統申請中斷,中斷請求經可編程中斷路由器路由到可編程中斷控制器的某條中斷請求輸入腳IRQi ,再由中斷控
2009-06-28 19:21:43
26 本文在分析標準Linux 內核的軟中斷機制的演化以及實現原理的基礎上,提出并實現了一個面前嵌入式Linux 系統的軟中斷技術。該技術為嵌入式系統開發提供一個統一的中斷處理框架
2009-08-03 11:20:17
16 linux 中斷和設備驅動
本章介紹L i n u x內核是如何維護它支持的文件系統中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統),再解釋一下L i n u x
2010-02-09 14:13:28
24 分析了嵌入式Linux在實時性方面的不足,針對Linux2.6內核的中斷運行機制、內核不可搶占性、自旋鎖及大內核鎖等問題進行研究,提出相應的實時性改進方法。測試表明,改進后的嵌
2010-11-17 11:37:42
34 一、自旋鎖
自旋鎖是專為防止多處理器并發而引入的一種鎖,它在內核中大量應用于中斷處理等部分(對于單處理器來說,防止中斷處理中的并發可簡單采用關閉中
2010-06-08 14:50:41
1259 本內容介紹了arm linux內存管理機制,詳細說明了linux內核內存管理,linux虛擬內存管理,arm linux內存管理等方面的知識
2011-12-19 14:09:27
73 本文采用APIC時鐘修改的方法對Linux內核進行實時化改造,修改APIC中斷函數,將APIC中斷和8254中斷排序,使得硬實時中斷的優先級大于普通8254中斷。
2012-04-25 09:43:04
793 
基于Linux內核2_6的進程攔截機制的研究和實現_王全民
2017-03-18 09:15:44
3 基于ARMCortex_M4的MOX中斷機制分析與中斷程序框架設計
2017-09-28 09:13:06
4 11.5 中斷編程 前面所講述的驅動程序中都沒有涉及中斷處理,而實際上,有很多Linux的驅動都是通過中斷的方式來進行內核和硬件的交互。中斷機制提供了硬件和軟件之間異步傳遞信息的方式。硬件設備在發生
2017-10-18 17:33:47
0 linux內核的完全注釋
2017-10-29 10:02:49
18 Linux_內核注釋
2017-10-30 09:45:56
9 Linux內核編譯詳談
2017-10-30 09:51:35
7 本文從Linux內核幾種軟中斷機制相互關系和發展沿革入手,分析了這些機制的實現方法,給出了它們的基本用法。 軟中斷概況 軟中斷是利用硬件中斷的概念,用軟件方式進行模擬,實現宏觀上的異步執行效果。很多
2017-11-02 11:01:58
0 記時器、簡短的優先占有時間內核、強有力的可預言的系統日程安排和提供任務性能保證的機制。 RedIce-Linux提供開放資源Linux的能力和可靠性,有唯一的實時系統能力來保證應用性
2017-11-08 10:24:03
12 Linux內核源碼當中,關于RCU的文檔比較齊全,你可以在 /Documentation/RCU/ 目錄下找到這些文件。Paul E. McKenney 是內核中RCU源碼的主要實現者,他也寫了很多RCU方面的文章。今天我們而主要來說說linux內核rcu的機制詳解。
2017-11-13 16:47:44
8498 
Linux 內核有個機制叫OOM killer(Out-Of-Memory killer),該機制會監控那些占用內存過大,尤其是瞬間很快消耗大量內存的進程,為了防止內存耗盡而內核會把該進程殺掉。典型
2017-11-13 17:01:23
1027 
在操作系統引入了進程概念,進程成為調度實體后,系統就具備了并發執行多個進程的能力,但也導致了系統中各個進程之間的資源競爭和共享。另外,由于中斷、異常機制的引入,以及內核態搶占都導致了這些內核執行
2017-11-14 15:25:19
5320 
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2017-11-14 15:52:46
6385 軟中斷分析最近工作繁忙,沒有時間總結內核相關的一些東西。上次更新博客到了linux內核中斷子系統。這次總結一下軟中斷,也就是softirq。之后還會總結一些tasklet、工作隊列機制。
2018-01-15 12:55:35
3636 
Android雖然建立在Linux內核之上,但是他對內核進行了一些擴展,增加了一些驅動。比如Binder,loger等等驅動。可以拿Android內核代碼和其Baseline版本進行對比。可以看到Android對Linux內核的所有擴展。
2018-09-09 09:10:00
4369 在Linux內核中,completion是一種簡單的同步機制,標志"things may proceed"。
要使用completion,必須在文件中包含,同時創建一個類型為struct completion的變量。
2019-04-24 11:45:02
959 中斷(interrupt)被定義為一個事件,該事件改變處理器執行的指令順序,這樣的事件與CPU芯片內外部硬件電路產生的電信號相對應。中斷通常分為同步(synchronous)中斷和異步(asynchronous)中斷。
2019-04-28 17:03:59
439 Device mapper 是 Linux 2.6 內核中提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據自己的需要制定實現存儲資源的管理策略,當前比較流行
2019-04-29 15:25:50
578 在linux內核系統中,各個模塊、子系統之間是相互獨立的。Linux內核可以通過通知鏈機制來獲取由其它模塊或子系統產生的它感興趣的某些事件。
2019-05-05 11:46:56
2064 中斷是指在CPU正常運行期間,由于內外部事件或由程序預先安排的事件引起的CPU暫時停止正在運行的程序,轉而為該內部或外部事件或預先安排的事件服務的程序中去,服務完畢后再返回去繼續運行被暫時中斷的程序。Linux中通常分為外部中斷(又叫硬件中斷)和內部中斷(又叫異常)。
2019-05-05 15:30:38
564 在硬件上,中斷源可以通過中斷控制器向CPU提交中斷,進而引發中斷處理程序的執行,不過這種硬件中斷體系每一種CPU都不一樣,而Linux作為操作系統,需要同時支持這些中斷體系,如此一來,Linux中就
2019-05-08 13:49:02
543 在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。
2019-05-12 08:26:00
533 軟件中斷(softIRQ)是內核提供的一種延遲執行機制,它完全由軟件觸發,雖然說是延遲機制,實際上,在大多數情況下,它與普通進程相比,能得到更快的響應時間。軟中斷也是其他一些內核機制的基礎,比如tasklet,高分辨率timer等。
2019-05-13 10:33:18
1127 Linux內核同步機制,挺復雜的一個東西,常用的有自旋鎖,信號量,互斥體,原子操作,順序鎖,RCU,內存屏障等。
2019-05-14 14:10:38
560 RCU的設計思想比較明確,通過新老指針替換的方式來實現免鎖方式的共享保護。但是具體到代碼的層面,理解起來多少還是會有些困難。在《深入Linux設備驅動程序內核機制》第4章中,已經非常明確地敘述
2019-05-14 14:28:37
1166 大多數內核子系統都是相互獨立的,因此某個子系統可能對其它子系統產生的事件感興趣。為了滿足這個需求,也即是讓某個子系統在發生某個事件時通知其它的子系統,Linux內核提供了通知鏈的機制。通知鏈表只能夠在內核的子系統之間使用,而不能夠在內核與用戶空間之間進行事件的通知。
2019-05-14 16:16:44
639 
對于系統調用poll或select,它們對應的內核函數都是sys_poll。分析sys_poll,即可理解poll機制。
2019-05-14 16:22:17
3842 
軟中斷分析最近工作繁忙,沒有時間總結內核相關的一些東西。這次總結一下軟中斷,也就是softirq。之后還會總結一些tasklet、工作隊列機制。1. 為什么要軟中斷編寫驅動的時候
2019-04-02 14:32:49
502 在linux內核中,每一個能夠發出中斷請求的硬件設備控制器都有一條名為IRQ的輸出線。所有現在存在的IRQ線都與一個名為可編程中斷控制器的硬件電路的輸入引腳相連,上次講到單片機的時候,我就講到了單片機中斷的一些概念。我們現在來看一幅圖,更好說明一個問題
2019-05-14 18:10:00
0 從Linux 2.6起引入了一套新的驅動管理和注冊機制:platform_device和platform_driver。
2019-11-06 14:12:50
1322 
在LInux操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2020-02-24 15:26:27
3251 Linux內核是一個操作系統(OS)內核,本質上定義為類Unix。它用于不同的操作系統,主要是以不同的Linux發行版的形式。Linux內核是第一個真正完整且突出的免費和開源軟件示例。Linux 內核是第一個真正完整且突出的免費和開源軟件示例,促使其廣泛采用并得到了數千名開發人員的貢獻。
2020-09-16 15:49:50
2323 中斷的作用:當一個中斷信號到達時,CPU必須停止它當前正做的工作,轉而去做中斷要求其做的事情。
2020-09-16 15:54:02
928 
本文主要闡述了linux內核參數設置及linux內核的功能。
2020-09-17 14:40:49
1190 
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實像多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問,尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2020-09-22 09:46:37
2013 
來源 :頭條號@Linux學習教程,冰凌塊兒 01 前言 本文主要講解什么是Linux內核,以及通過多張圖片展示Linux內核的作用與功能,以便于讀者能快速理解什么是Linux內核,能看懂Linux
2020-10-19 17:46:08
1860 
01 前言 本文主要講解什么是Linux內核,以及通過多張圖片展示Linux內核的作用與功能,以便于讀者能快速理解什么是Linux內核,能看懂Linux內核。 擁有超過1300萬行的代碼,Linux
2020-10-21 12:02:53
3874 
1月6日,Linux基金會宣布,Linux 5.10.5內核正式發布,所有5.10內核系列的用戶都必須升級。
2021-01-07 14:36:57
2342 jump label機制進入Linux內核已經很多很多年了,它的目的是 消除分支。 為了達到這個目的,jump label的手段是 修改分支處的代碼。
2021-03-25 14:02:36
3207 
作為最流行的開源操作系統,Linux在各行各業得到了廣泛的應用。因此了解Linux 內核的架構及工作機制就顯得非常重要
2021-04-02 11:30:12
1851 
PCI總線的中斷機制 PCI總線使用INTA#、INTB#、INTC#和INTD#信號向處理器發出中斷請求。這些中斷請求信號為低電平有效,并與處理器的中斷控制器連接。在PCI體系結構中,這些中斷信號
2021-07-18 10:10:40
2450 中斷機制在單片機中是很重要的環節,中斷代碼默認地從上往下執行,遇到特定條件或特定語句,將按照指定的程序跳轉。而STM32單片機的中斷是有兩層控制器分別控制的,若采用中斷機制,必須同時配置內核和芯片。
2021-07-22 16:38:16
19618 MSI和MSI-X中斷機制 在PCI總線中,所有需要提交中斷請求的設備,必須能夠通過INTx引腳提交中斷請求,而MSI機制是一個可選機制。而在PCIe總線中,PCIe設備必須支持MSI或者MSI-X
2021-08-10 17:54:51
5219 Linux內核文件Cache機制(開關電源技術與設計 第二版)-Linux內核文件Cache機制? ? ? ? ? ? ? ??
2021-08-31 16:34:54
4 [嵌入式Linux應用開發完全手冊].有目錄Linux-Device-Drivers-3rd-Edition深入Linux設備驅動程序內核機制POSIX多線程程序設計中文版LinuxC王者歸來Linux內核設計與實現_第三版_清晰中文版詳情+q2456102575
2021-11-01 17:38:27
13 在所有的外部中斷中,時鐘中斷起著特殊的作用,其作用遠非單純的計時所能相比。當然,即使是單純的計時也已經足夠重要了。別的不說,沒有正確的時間關系,你用來重建內核的工具make就不能正常運行了,因為
2021-11-23 17:51:22
12 。此時,CPU暫時中止當前程序的執行轉而處理這個事務,這個過程就叫做中斷。通過中斷機制,在外設不需要CPU介入時,CPU可以執行其它任務,而當外設需要CPU時通過產生中斷信號使CPU立即中斷當前任務來響應中斷請求。這樣可以使CPU避免把大量時間耗費在等待、
2021-12-01 14:06:10
9 【Linux內核】從小小的宏定義窺探Linux內核的精妙設計
2022-08-31 13:30:06
1602 在嵌入式系統中,經常會用到gpio外部中斷來獲取外部事件,比如按鍵、傳感器、網絡通信等等。一般中斷都會綁定一個中斷回調函數,來執行產生中斷后的一些任務。Linux的中斷是操作系統管理的資源,需要在內核層配置中斷以及綁定回調函數。
2023-03-24 11:27:32
2783 
Linux 存在眾多 tracing tools,比如 ftrace、perf,他們可用于內核的調試、提高內核的可觀測性。
2023-06-11 11:05:30
435 
上篇文章我們從內核工程師的角度剖析了內核的外部中斷,這節我們從BSP工程師的角度剖析一下外部中斷。
2023-06-23 15:19:00
256 
我們在分析linux內核中斷剖析時,簡單的聊了一下SOFTIRQ, 而沒有進行深入分析. Linux內核講對一個外部設備中斷的處理分成兩大部分HARDIRQ以及SOFTIRQ, HARDIRQ部分
2023-06-23 15:22:00
274 與hardlockup機制類似, softlockup也是在watchdog框架下關注于某個task一直處于內核態而不給其它task運行機會的一種debug機制.具體的超時判斷時間一般為20S,也可以通過sysctrl 來進行修改.
2023-06-23 15:30:00
1033 
線程是操作系統的重要組成部件之一,linux內核中,內核線程是如何創建的,在內核啟動過程中,誕生了哪些支撐整個系統運轉的線程,本文將帶著這個疑問瞅一瞅內核源碼,分析內核線程的創建機制。
2023-07-10 10:45:28
434 
我將結合具體的Linux內核驅動框架代碼來展示Linux內核如何使用結構體和函數指針。
2023-09-06 14:17:55
516 
中斷掛起位 PLIC 內核中中斷源掛起位的當前狀態可以從掛起數組中讀取,組織為 32 位的 5 個字。中斷 ID 的掛起位存儲在字的位中。 因此,U54 內核有 5 個中斷掛起寄存器。表示不存在
2023-10-07 17:57:31
330 
Linux內核時鐘系統和定時器實現 Linux 2.6.16之前,內核只支持低精度時鐘,內核定時器的工作方式: 系統啟動后,會讀取時鐘源設備(RTC, HPET,PIT…),初始化當前系統時間
2023-11-09 09:12:12
480 
正在加载...
評論