本文簡(jiǎn)單介紹下Linux信號(hào)處理機(jī)制,為介紹二進(jìn)制翻譯下信號(hào)處理機(jī)制做一個(gè)鋪墊。 本文主要參考書目《Linux內(nèi)核源代碼情景分析》《獨(dú)辟蹊徑品內(nèi)核:Linux內(nèi)核源代碼導(dǎo)讀》 首先,先說一下
2017-11-16 05:11:0013549 在linux內(nèi)核中,互斥量(mutex,即mutual exclusion)是一種保證串行化的睡眠鎖機(jī)制。和spinlock的語義類似,都是允許一個(gè)執(zhí)行線索進(jìn)入臨界區(qū),不同的是當(dāng)無法獲得鎖的時(shí)候
2022-05-13 08:56:266271 Linux內(nèi)核采用的是GCC編譯器,GCC編譯器除了支持ANSI C,還支持GNU C。在Linux內(nèi)核中,許多地方都使用了GNU C語言的擴(kuò)展特性
2023-03-20 09:04:56738 在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:58498 在Linux內(nèi)核開發(fā)中,Kmemleak是一種用于檢測(cè)內(nèi)核中內(nèi)存泄漏的工具。
2023-07-04 11:04:03553 Linux操作系統(tǒng)是當(dāng)今世界上最為廣泛使用的開源操作系統(tǒng)之一,內(nèi)核則是一個(gè)操作系統(tǒng)的核心和靈魂所在。對(duì)于一名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:411046 Linux 操作系統(tǒng)和驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,應(yīng)用程序運(yùn)行在用戶空間,兩者不能簡(jiǎn)單地使用指針傳遞數(shù)據(jù),因?yàn)?b class="flag-6" style="color: red">Linux使用的虛擬內(nèi)存機(jī)制,用戶空間的數(shù)據(jù)可能被換出,當(dāng)內(nèi)核空間使用用戶空間指針時(shí),對(duì)應(yīng)
2018-05-08 10:33:193299 分析,我把這一類 blog 文章劃歸為“ Linux 機(jī)制分析”,希望大家支持。 什么是 workqueue ? Linux 中的 Workqueue 機(jī)制就是為了簡(jiǎn)化內(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í)行單元對(duì)共享數(shù)據(jù)的訪問。尤其是在多處理器系統(tǒng)上,更需要一些同步機(jī)制來同步不同處理器上的執(zhí)行單元對(duì)共享的數(shù)據(jù)的訪問。
2019-08-06 07:08:12
向量表和初始化中斷處理函數(shù);初始化系統(tǒng)核心進(jìn)程調(diào)度器和時(shí)鐘中斷處理機(jī)制;初始化串口控制臺(tái)(console_init);ARM-Linux 在初始化過程中一般都會(huì)初始化一個(gè)串口做為內(nèi)核的控制臺(tá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)核模塊簡(jiǎn)介http://bbs.edu118.com/forum.php?mod=viewthread&tid=388&fromuid=204(出處: 信盈達(dá)IT技術(shù)社
2017-08-22 09:22:17
,可以了解Linux的機(jī)制了。推薦《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》Robert Love 寫的。這本書從概念上講解了Linux有什么,他們是怎么運(yùn)行的。這本書要反復(fù)認(rèn)真看透。
2019-07-08 06:49:08
在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
Mini Linux EMMC
2023-03-28 13:06:25
的頭部。六、總結(jié)本篇文章通過數(shù)據(jù)結(jié)構(gòu)的隊(duì)列、事件、互斥鎖、信號(hào)量四大方面對(duì)內(nèi)核IPC機(jī)制數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,希望以上的講解能給大家建立一個(gè)IPC機(jī)制的整體認(rèn)識(shí)。關(guān)于OpenHarmony 內(nèi)核的內(nèi)容,之前我
2022-09-05 11:02:16
進(jìn)行解析,希望以上的講解能給大家建立一個(gè)IPC機(jī)制的整體認(rèn)識(shí)。關(guān)于OpenHarmony 內(nèi)核的內(nèi)容,之前我還介紹了內(nèi)核對(duì)象隊(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:1924 Linux內(nèi)核中文版教程
2009-03-28 09:45:490 Linux_內(nèi)核詳細(xì)說明
2009-03-28 09:46:5135 本章學(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)核升級(jí)的方法
2009-04-10 16:59:190 Linux內(nèi)核學(xué)習(xí)起步介紹
2009-04-10 17:22:040 Linux內(nèi)核解讀入門關(guān)鍵詞:Linux, 內(nèi)核,源代碼一.核心源程序的文件組織: 1. Linux核心源程序通常都安裝在/usr/src/linux下,而且它有一個(gè)非常簡(jiǎn)單的編號(hào)約定:任何偶數(shù)的核
2010-01-16 14:40:10103 介紹Android 移動(dòng)平臺(tái)系統(tǒng)架構(gòu),通過對(duì)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:17115 Linux內(nèi)核的下一個(gè)穩(wěn)定的升級(jí)版本已經(jīng)發(fā)布了。Linux發(fā)明者李納斯·托沃茲(Linus Torvalds)用電子郵件向Linux內(nèi)核郵件列表發(fā)布了升級(jí)版本的Linux內(nèi)核。
2006-03-13 13:07:54824 CPU內(nèi)核結(jié)構(gòu)解析 CPU內(nèi)核主要分為兩部分:運(yùn)算器和控制器。
(一) 運(yùn)算器
1、 算
2010-04-15 16:13:271495 電子發(fā)燒友為您提供了免費(fèi)下載,《深入Linux內(nèi)核架構(gòu)》一書討論了Linux內(nèi)核的概念、結(jié)構(gòu)和實(shí)現(xiàn)。內(nèi)核對(duì)一致和非一致內(nèi)存訪問系統(tǒng)使用相同的數(shù)據(jù)結(jié)構(gòu)。 Linux 操作系統(tǒng)的源代碼復(fù)雜
2011-07-10 11:24:170 本內(nèi)容介紹了arm linux內(nèi)存管理機(jī)制,詳細(xì)說明了linux內(nèi)核內(nèi)存管理,linux虛擬內(nèi)存管理,arm linux內(nèi)存管理等方面的知識(shí)
2011-12-19 14:09:2773 基于Linux內(nèi)核2_6的進(jìn)程攔截機(jī)制的研究和實(shí)現(xiàn)_王全民
2017-03-18 09:15:443 由于Linux的獨(dú)特優(yōu)勢(shì),使越來越多的企業(yè)和科研機(jī)構(gòu)把目光轉(zhuǎn)向Linux的開發(fā)和研究上。目前Linux最新的穩(wěn)定內(nèi)核版本為2.6.17,但是當(dāng)今絕大部分對(duì)于Linux Makefile的介紹文章都是
2017-09-18 19:09:090 linux 內(nèi)核C語言的編程風(fēng)格
2017-09-26 14:22:320 怎樣去讀Linux內(nèi)核源代碼
2017-10-25 10:15:5513 新手Linux內(nèi)核學(xué)習(xí)起步
2017-10-27 16:10:3013 linux內(nèi)核的完全注釋
2017-10-29 10:02:4918 Linux_內(nèi)核注釋
2017-10-30 09:45:569 Linux內(nèi)核編譯詳談
2017-10-30 09:51:357 基于Arm的Linux內(nèi)核編譯指導(dǎo)
2017-10-30 10:13:2515 做個(gè)迷你型linux內(nèi)核
2017-10-30 10:34:077 隨著 Linux 操作系統(tǒng)的廣泛應(yīng)用,特別是 Linux 在嵌入式領(lǐng)域的發(fā)展,越來越多的人開始投身到 Linux 內(nèi)核級(jí)的開發(fā)中。面對(duì)日益龐大的 Linux 內(nèi)核源代碼,開發(fā)者在完成自己的內(nèi)核代碼
2017-11-01 15:45:543 本文從Linux內(nèi)核幾種軟中斷機(jī)制相互關(guān)系和發(fā)展沿革入手,分析了這些機(jī)制的實(shí)現(xiàn)方法,給出了它們的基本用法。 軟中斷概況 軟中斷是利用硬件中斷的概念,用軟件方式進(jìn)行模擬,實(shí)現(xiàn)宏觀上的異步執(zhí)行效果。很多
2017-11-02 11:01:580 針對(duì)好多Linux 愛好者對(duì)內(nèi)核很有興趣卻無從下口,本文旨在介紹一種解讀linux內(nèi)核源碼的入門方法,而不是解說linux復(fù)雜的內(nèi)核機(jī)制; 一.核心源程序的文件組織: 1.Linux核心源程序通常
2017-11-08 10:06:162 記時(shí)器、簡(jiǎn)短的優(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:0312 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:448497 Linux 內(nèi)核有個(gè)機(jī)制叫OOM killer(Out-Of-Memory killer),該機(jī)制會(huì)監(jiān)控那些占用內(nèi)存過大,尤其是瞬間很快消耗大量?jī)?nèi)存的進(jìn)程,為了防止內(nèi)存耗盡而內(nèi)核會(huì)把該進(jìn)程殺掉。典型
2017-11-13 17:01:231027 路徑(進(jìn)程)以交錯(cuò)的方式運(yùn)行。對(duì)于這些交錯(cuò)路徑執(zhí)行的內(nèi)核路徑,如不采取必要的同步措施,將會(huì)對(duì)一些關(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:195320 如果讓內(nèi)核定期對(duì)設(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:052906 在現(xiàn)代操作系統(tǒng)里,同一時(shí)間可能有多個(gè)內(nèi)核執(zhí)行流在執(zhí)行,因此內(nèi)核其實(shí)象多進(jìn)程多線程編程一樣也需要一些同步機(jī)制來同步各執(zhí)行單元對(duì)共享數(shù)據(jù)的訪問。尤其是在多處理器系統(tǒng)上,更需要一些同步機(jī)制來同步不同處理器上的執(zhí)行單元對(duì)共享的數(shù)據(jù)的訪問。
2017-11-14 15:52:466385 提權(quán)攻擊是針對(duì)Linux系統(tǒng)的一種重要攻擊手段。根據(jù)提權(quán)攻擊所利用的漏洞類型,一般可將其分為應(yīng)用層提權(quán)攻擊和內(nèi)核提權(quán)攻擊。現(xiàn)有的防御技術(shù)已經(jīng)能夠防御基本的應(yīng)用層提權(quán)攻擊,但是并不能完全防御內(nèi)核
2017-11-24 11:46:030 軟中斷分析最近工作繁忙,沒有時(shí)間總結(jié)內(nèi)核相關(guān)的一些東西。上次更新博客到了linux內(nèi)核中斷子系統(tǒng)。這次總結(jié)一下軟中斷,也就是softirq。之后還會(huì)總結(jié)一些tasklet、工作隊(duì)列機(jī)制。
2018-01-15 12:55:353636 Android雖然建立在Linux內(nèi)核之上,但是他對(duì)內(nèi)核進(jìn)行了一些擴(kuò)展,增加了一些驅(qū)動(dòng)。比如Binder,loger等等驅(qū)動(dòng)。可以拿Android內(nèi)核代碼和其Baseline版本進(jìn)行對(duì)比。可以看到Android對(duì)Linux內(nèi)核的所有擴(kuò)展。
2018-09-09 09:10:004369 在Linux內(nèi)核中,completion是一種簡(jiǎn)單的同步機(jī)制,標(biāo)志"things may proceed"。
要使用completion,必須在文件中包含,同時(shí)創(chuàng)建一個(gè)類型為struct completion的變量。
2019-04-24 11:45:02959 Device mapper 是 Linux 2.6 內(nèi)核中提供的一種從邏輯設(shè)備到物理設(shè)備的映射框架機(jī)制,在該機(jī)制下,用戶可以很方便的根據(jù)自己的需要制定實(shí)現(xiàn)存儲(chǔ)資源的管理策略,當(dāng)前比較流行
2019-04-29 15:25:50578 在linux內(nèi)核系統(tǒng)中,各個(gè)模塊、子系統(tǒng)之間是相互獨(dú)立的。Linux內(nèi)核可以通過通知鏈機(jī)制來獲取由其它模塊或子系統(tǒng)產(chǎn)生的它感興趣的某些事件。
2019-05-05 11:46:562064 linux驅(qū)動(dòng)程序一般工作在內(nèi)核空間,但也可以工作在用戶空間。下面我們將詳細(xì)解析,什么是內(nèi)核空間,什么是用戶空間,以及如何判斷他們
2019-05-06 16:13:00607 在現(xiàn)代操作系統(tǒng)里,同一時(shí)間可能有多個(gè)內(nèi)核執(zhí)行流在執(zhí)行,因此內(nèi)核其實(shí)象多進(jìn)程多線程編程一樣也需要一些同步機(jī)制來同步各執(zhí)行單元對(duì)共享數(shù)據(jù)的訪問。
2019-05-12 08:26:00533 Linux內(nèi)核同步機(jī)制,挺復(fù)雜的一個(gè)東西,常用的有自旋鎖,信號(hào)量,互斥體,原子操作,順序鎖,RCU,內(nèi)存屏障等。
2019-05-14 14:10:38560 Linux內(nèi)核是一種單體內(nèi)核,但是通過動(dòng)態(tài)加載模塊的方式,使它的開發(fā)非常靈活 方便。那么,它是如何編譯內(nèi)核的呢?我們可以通過分析它的Makefile入手。
2019-05-14 14:23:461432
已全部加載完成
評(píng)論
查看更多