本文簡單介紹下Linux信號處理機(jī)制,為介紹二進(jìn)制翻譯下信號處理機(jī)制做一個(gè)鋪墊。 本文主要參考書目《Linux內(nèi)核源代碼情景分析》《獨(dú)辟蹊徑品內(nèi)核:Linux內(nèi)核源代碼導(dǎo)讀》 首先,先說一下
2017-11-16 05:11:00
14485 
在linux內(nèi)核中,互斥量(mutex,即mutual exclusion)是一種保證串行化的睡眠鎖機(jī)制。和spinlock的語義類似,都是允許一個(gè)執(zhí)行線索進(jìn)入臨界區(qū),不同的是當(dāng)無法獲得鎖的時(shí)候
2022-05-13 08:56:26
7763 
在linux內(nèi)核中,互斥量mutex是一種保證CPU串行運(yùn)行的睡眠鎖機(jī)制。和spinlock類似,都是同一個(gè)時(shí)刻只有一個(gè)線程進(jìn)入臨界資源,不同的是,當(dāng)無法獲取鎖的時(shí)候,spinlock原地自旋,而mutex則是選擇掛起當(dāng)前線程,進(jìn)入阻塞狀態(tài)。所以,mutex無法在中斷上下文中使用。
2023-06-26 16:05:58
1918 Linux操作系統(tǒng)是當(dāng)今世界上最為廣泛使用的開源操作系統(tǒng)之一,內(nèi)核則是一個(gè)操作系統(tǒng)的核心和靈魂所在。對于一名Linux驅(qū)動(dòng)開發(fā)者來說,了解Linux內(nèi)核的運(yùn)行機(jī)制和Linux內(nèi)核提供的一些關(guān)鍵功能(如虛擬內(nèi)存管理、進(jìn)程管理、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等)都是我們?nèi)粘9ぷ骱蛯W(xué)習(xí)的重點(diǎn)。
2023-07-06 11:46:41
2259 
Linux 操作系統(tǒng)和驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,應(yīng)用程序運(yùn)行在用戶空間,兩者不能簡單地使用指針傳遞數(shù)據(jù),因?yàn)?b class="flag-6" style="color: red">Linux使用的虛擬內(nèi)存機(jī)制,用戶空間的數(shù)據(jù)可能被換出,當(dāng)內(nèi)核空間使用用戶空間指針時(shí),對應(yīng)
2018-05-08 10:33:19
3776 
分析,我把這一類 blog 文章劃歸為“ Linux 機(jī)制分析”,希望大家支持。 什么是 workqueue ? Linux 中的 Workqueue 機(jī)制就是為了簡化內(nèi)核線程的創(chuàng)建。通過調(diào)用
2016-05-21 09:51:16
在現(xiàn)代操作系統(tǒng)里,同一時(shí)間可能有多個(gè)內(nèi)核執(zhí)行流在執(zhí)行,因此內(nèi)核其實(shí)象多進(jìn)程多線程編程一樣也需要一些同步機(jī)制來同步各執(zhí)行單元對共享數(shù)據(jù)的訪問。尤其是在多處理器系統(tǒng)上,更需要一些同步機(jī)制來同步不同處理器上的執(zhí)行單元對共享的數(shù)據(jù)的訪問。
2019-08-06 07:08:12
向量表和初始化中斷處理函數(shù);初始化系統(tǒng)核心進(jìn)程調(diào)度器和時(shí)鐘中斷處理機(jī)制;初始化串口控制臺(console_init);ARM-Linux 在初始化過程中一般都會(huì)初始化一個(gè)串口做為內(nèi)核的控制臺,而串口
2022-10-26 17:20:06
本文詳解了Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制。首先介紹了內(nèi)核搶占和用戶搶占的概念和區(qū)別,接著分析了不可搶占內(nèi)核的特點(diǎn)及實(shí)時(shí)系統(tǒng)中實(shí)現(xiàn)內(nèi)核搶占的必要性。然后分析了禁止內(nèi)核搶占的情況和內(nèi)核搶占的時(shí)機(jī),最后介紹了實(shí)現(xiàn)搶占內(nèi)核所做的改動(dòng)以及何時(shí)需要重新調(diào)度。
2019-08-05 08:18:07
。Linux內(nèi)核模塊的加載過程主要包含了ELF解析、動(dòng)態(tài)鏈接、安全驗(yàn)證和資源管理技術(shù)。其核心步驟包括:權(quán)限檢查→ELF解析→符號重定位→依賴加載→初始化執(zhí)行。
2025-11-25 06:59:27
在linux下開發(fā)過程中,用戶態(tài)需要內(nèi)核提供一些機(jī)制,以便用戶態(tài)能夠及時(shí)地得知內(nèi)核或底層硬件設(shè)備發(fā)生了什么,從而能夠更好地管理設(shè)備,給用戶提供更好的服務(wù),如 hotplug、udev 和 inotify 就是這種需求催生的。
2019-07-22 08:05:50
Arm架構(gòu)之Arm內(nèi)核解析
2020-12-29 08:01:57
的頭部。六、總結(jié)本篇文章通過數(shù)據(jù)結(jié)構(gòu)的隊(duì)列、事件、互斥鎖、信號量四大方面對內(nèi)核IPC機(jī)制數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,希望以上的講解能給大家建立一個(gè)IPC機(jī)制的整體認(rèn)識。關(guān)于OpenHarmony 內(nèi)核的內(nèi)容,之前我
2022-09-05 11:02:16
進(jìn)行解析,希望以上的講解能給大家建立一個(gè)IPC機(jī)制的整體認(rèn)識。關(guān)于OpenHarmony 內(nèi)核的內(nèi)容,之前我還介紹了內(nèi)核對象隊(duì)列的算法以及OpenHarmony LiteOS-M 內(nèi)核事件的運(yùn)作機(jī)制
2022-09-08 11:44:13
你好 是否可以通過SPAEr320 CPU中的USB啟動(dòng)機(jī)制啟動(dòng)Linux內(nèi)核? 如果是,可以使用哪些工具為可啟動(dòng)USB記憶棒生成圖像?我希望至少能夠獲得一份認(rèn)可的應(yīng)用說明鏈接。 謝謝 亨氏 #USB啟動(dòng)
2019-08-07 14:23:28
本帖最后由 lee_st 于 2018-2-24 19:52 編輯
深入Linux設(shè)備驅(qū)動(dòng)程序內(nèi)核機(jī)制
2018-02-24 17:19:33
本文詳解了Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制。首先介紹了內(nèi)核搶占和用戶搶占的概念和區(qū)別,接著分析了不可搶占內(nèi)核的特點(diǎn)及實(shí)時(shí)系統(tǒng)中實(shí)現(xiàn)內(nèi)核搶占的必要性。然后分析了禁止內(nèi)核搶占的情況和內(nèi)核搶占的時(shí)機(jī),最后介紹了實(shí)現(xiàn)搶占內(nèi)核所做的改動(dòng)以及何時(shí)需要重新調(diào)度。
2019-08-06 06:16:22
linux內(nèi)核圖解說明
2009-03-25 08:57:19
24 Linux內(nèi)核中文版教程
2009-03-28 09:45:49
0 Linux_內(nèi)核詳細(xì)說明
2009-03-28 09:46:51
35 本章學(xué)習(xí)目標(biāo)掌握LINUX內(nèi)核版本的含義理解并掌握進(jìn)程的概念掌握管道的概念及實(shí)現(xiàn)了解內(nèi)核的數(shù)據(jù)結(jié)構(gòu)了解LINUX內(nèi)核的算法掌握LINUX內(nèi)核升級的方法
2009-04-10 16:59:19
0 Linux內(nèi)核學(xué)習(xí)起步介紹
2009-04-10 17:22:04
0 Linux內(nèi)核解讀入門關(guān)鍵詞:Linux, 內(nèi)核,源代碼一.核心源程序的文件組織: 1. Linux核心源程序通常都安裝在/usr/src/linux下,而且它有一個(gè)非常簡單的編號約定:任何偶數(shù)的核
2010-01-16 14:40:10
103 介紹Android 移動(dòng)平臺系統(tǒng)架構(gòu),通過對Android 源代碼的分析,將其與標(biāo)準(zhǔn)Linux 內(nèi)核(2.6.27)源代碼相比較,詳細(xì)解析Android 內(nèi)核的功能更新,分析討論Android 內(nèi)核與標(biāo)準(zhǔn)Linux 內(nèi)核
2010-10-29 16:17:17
116 本內(nèi)容介紹了arm linux內(nèi)存管理機(jī)制,詳細(xì)說明了linux內(nèi)核內(nèi)存管理,linux虛擬內(nèi)存管理,arm linux內(nèi)存管理等方面的知識
2011-12-19 14:09:27
73 基于Linux內(nèi)核2_6的進(jìn)程攔截機(jī)制的研究和實(shí)現(xiàn)_王全民
2017-03-18 09:15:44
3 由于Linux的獨(dú)特優(yōu)勢,使越來越多的企業(yè)和科研機(jī)構(gòu)把目光轉(zhuǎn)向Linux的開發(fā)和研究上。目前Linux最新的穩(wěn)定內(nèi)核版本為2.6.17,但是當(dāng)今絕大部分對于Linux Makefile的介紹文章都是
2017-09-18 19:09:09
0 新手Linux內(nèi)核學(xué)習(xí)起步
2017-10-27 16:10:30
13 linux內(nèi)核的完全注釋
2017-10-29 10:02:49
18 Linux_內(nèi)核注釋
2017-10-30 09:45:56
9 Linux內(nèi)核編譯詳談
2017-10-30 09:51:35
7 基于Arm的Linux內(nèi)核編譯指導(dǎo)
2017-10-30 10:13:25
15 隨著 Linux 操作系統(tǒng)的廣泛應(yīng)用,特別是 Linux 在嵌入式領(lǐng)域的發(fā)展,越來越多的人開始投身到 Linux 內(nèi)核級的開發(fā)中。面對日益龐大的 Linux 內(nèi)核源代碼,開發(fā)者在完成自己的內(nèi)核代碼后
2017-11-01 15:45:54
4 本文從Linux內(nèi)核幾種軟中斷機(jī)制相互關(guān)系和發(fā)展沿革入手,分析了這些機(jī)制的實(shí)現(xiàn)方法,給出了它們的基本用法。 軟中斷概況 軟中斷是利用硬件中斷的概念,用軟件方式進(jìn)行模擬,實(shí)現(xiàn)宏觀上的異步執(zhí)行效果。很多
2017-11-02 11:01:58
0 針對好多Linux 愛好者對內(nèi)核很有興趣卻無從下口,本文旨在介紹一種解讀linux內(nèi)核源碼的入門方法,而不是解說linux復(fù)雜的內(nèi)核機(jī)制; 一.核心源程序的文件組織: 1.Linux核心源程序通常
2017-11-08 10:06:16
2 記時(shí)器、簡短的優(yōu)先占有時(shí)間內(nèi)核、強(qiáng)有力的可預(yù)言的系統(tǒng)日程安排和提供任務(wù)性能保證的機(jī)制。 RedIce-Linux提供開放資源Linux的能力和可靠性,有唯一的實(shí)時(shí)系統(tǒng)能力來保證應(yīng)用性
2017-11-08 10:24:03
12 Linux內(nèi)核源碼當(dāng)中,關(guān)于RCU的文檔比較齊全,你可以在 /Documentation/RCU/ 目錄下找到這些文件。Paul E. McKenney 是內(nèi)核中RCU源碼的主要實(shí)現(xiàn)者,他也寫了很多RCU方面的文章。今天我們而主要來說說linux內(nèi)核rcu的機(jī)制詳解。
2017-11-13 16:47:44
9308 
Linux 內(nèi)核有個(gè)機(jī)制叫OOM killer(Out-Of-Memory killer),該機(jī)制會(huì)監(jiān)控那些占用內(nèi)存過大,尤其是瞬間很快消耗大量內(nèi)存的進(jìn)程,為了防止內(nèi)存耗盡而內(nèi)核會(huì)把該進(jìn)程殺掉。典型
2017-11-13 17:01:23
1814 
路徑(進(jìn)程)以交錯(cuò)的方式運(yùn)行。對于這些交錯(cuò)路徑執(zhí)行的內(nèi)核路徑,如不采取必要的同步措施,將會(huì)對一些關(guān)鍵數(shù)據(jù)結(jié)構(gòu)進(jìn)行交錯(cuò)訪問和修改,從而導(dǎo)致這些數(shù)據(jù)結(jié)構(gòu)狀態(tài)的不一致,進(jìn)而導(dǎo)致系統(tǒng)崩潰。因此,為了確保系統(tǒng)高效穩(wěn)定有序地運(yùn)行,linux必須要采用同步機(jī)制。
2017-11-14 15:25:19
5869 
如果讓內(nèi)核定期對設(shè)備進(jìn)行輪詢,以便處理設(shè)備,那會(huì)做很多無用功,因?yàn)橥庠O(shè)的處理速度一般慢于CPU,而CPU不能一直等待外部事件。所以能讓設(shè)備在需要內(nèi)核時(shí)主動(dòng)通知內(nèi)核,會(huì)是一個(gè)聰明的方式,這便是中斷。
2017-11-14 15:48:05
3393 在現(xiàn)代操作系統(tǒng)里,同一時(shí)間可能有多個(gè)內(nèi)核執(zhí)行流在執(zhí)行,因此內(nèi)核其實(shí)象多進(jìn)程多線程編程一樣也需要一些同步機(jī)制來同步各執(zhí)行單元對共享數(shù)據(jù)的訪問。尤其是在多處理器系統(tǒng)上,更需要一些同步機(jī)制來同步不同處理器上的執(zhí)行單元對共享的數(shù)據(jù)的訪問。
2017-11-14 15:52:46
7626 Linux的啟動(dòng)代碼真的挺大,從匯編到C,從Makefile到LDS文件,需要理解的東西很多。畢竟Linux內(nèi)核是由很多人,花費(fèi)了巨大的時(shí)間和精力寫出來的。而且直到現(xiàn)在,這個(gè)世界上仍然有成千上萬的程序員在不斷完善Linux內(nèi)核的代碼。
2017-11-14 16:19:46
4634 
本文針對嵌入式Linux操作系統(tǒng)提出了一種新的更新機(jī)制,并且基于ARM9微處理器和NANDFlash存儲器,對uboot和Linux內(nèi)核進(jìn)行修改,實(shí)現(xiàn)了對嵌入式Linux系統(tǒng)的遠(yuǎn)程自動(dòng)更新。克服了傳統(tǒng)方法工作量大的缺點(diǎn),具有操作簡單、更新速度快的特點(diǎn)。
2018-04-07 11:00:00
3273 
Android雖然建立在Linux內(nèi)核之上,但是他對內(nèi)核進(jìn)行了一些擴(kuò)展,增加了一些驅(qū)動(dòng)。比如Binder,loger等等驅(qū)動(dòng)。可以拿Android內(nèi)核代碼和其Baseline版本進(jìn)行對比。可以看到Android對Linux內(nèi)核的所有擴(kuò)展。
2018-09-09 09:10:00
4865 在Linux內(nèi)核中,completion是一種簡單的同步機(jī)制,標(biāo)志"things may proceed"。
要使用completion,必須在文件中包含,同時(shí)創(chuàng)建一個(gè)類型為struct completion的變量。
2019-04-24 11:45:02
1658 Linux 操作系統(tǒng)和驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,應(yīng)用程序運(yùn)行在用戶空間,兩者不能簡單地使用指針傳遞數(shù)據(jù),因?yàn)?b class="flag-6" style="color: red">Linux使用的虛擬內(nèi)存機(jī)制,用戶空間的數(shù)據(jù)可能被換出,當(dāng)內(nèi)核空間使用用戶空間指針時(shí),對應(yīng)的數(shù)據(jù)可能不在內(nèi)存中。
2019-04-28 17:33:33
1288 
Device mapper 是 Linux 2.6 內(nèi)核中提供的一種從邏輯設(shè)備到物理設(shè)備的映射框架機(jī)制,在該機(jī)制下,用戶可以很方便的根據(jù)自己的需要制定實(shí)現(xiàn)存儲資源的管理策略,當(dāng)前比較流行
2019-04-29 15:25:50
1023 在linux內(nèi)核系統(tǒng)中,各個(gè)模塊、子系統(tǒng)之間是相互獨(dú)立的。Linux內(nèi)核可以通過通知鏈機(jī)制來獲取由其它模塊或子系統(tǒng)產(chǎn)生的它感興趣的某些事件。
2019-05-05 11:46:56
2508 linux驅(qū)動(dòng)程序一般工作在內(nèi)核空間,但也可以工作在用戶空間。下面我們將詳細(xì)解析,什么是內(nèi)核空間,什么是用戶空間,以及如何判斷他們
2019-05-06 16:13:00
970 在現(xiàn)代操作系統(tǒng)里,同一時(shí)間可能有多個(gè)內(nèi)核執(zhí)行流在執(zhí)行,因此內(nèi)核其實(shí)象多進(jìn)程多線程編程一樣也需要一些同步機(jī)制來同步各執(zhí)行單元對共享數(shù)據(jù)的訪問。
2019-05-12 08:26:00
880 Linux內(nèi)核同步機(jī)制,挺復(fù)雜的一個(gè)東西,常用的有自旋鎖,信號量,互斥體,原子操作,順序鎖,RCU,內(nèi)存屏障等。
2019-05-14 14:10:38
935 Linux內(nèi)核是一種單體內(nèi)核,但是通過動(dòng)態(tài)加載模塊的方式,使它的開發(fā)非常靈活 方便。那么,它是如何編譯內(nèi)核的呢?我們可以通過分析它的Makefile入手。
2019-05-14 14:23:46
1780
已全部加載完成
評論