概要:本文內容包含Linux源碼樹結構分析、Linux Makefile分析、Kconfig文件分析、Linux內核配置選項分析。這些知識是為了理解內核文件的組織形式,為具體移植內核做知識準備。
2022-05-10 19:28:40
6583 Linux 系統為應用程序提供了功能強大且容易擴展的 API,但在某些情況下,這還遠遠不夠。與硬件交互或進行需要訪問系統中特權信息的操作時,就需要一個內核模塊。
2022-05-11 08:55:35
4311 在linux內核中,互斥量(mutex,即mutual exclusion)是一種保證串行化的睡眠鎖機制。和spinlock的語義類似,都是允許一個執行線索進入臨界區,不同的是當無法獲得鎖的時候
2022-05-13 08:56:26
7763 
很多內核開發者喜歡的調試工具是printk,在Linux內核中,使用printk()函數來打印信息,它與C庫的printf()函數類似。
2023-06-01 15:14:40
1764 Linux LED子系統詳解
2023-06-10 10:37:14
2270 
在linux內核中,互斥量mutex是一種保證CPU串行運行的睡眠鎖機制。和spinlock類似,都是同一個時刻只有一個線程進入臨界資源,不同的是,當無法獲取鎖的時候,spinlock原地自旋,而mutex則是選擇掛起當前線程,進入阻塞狀態。所以,mutex無法在中斷上下文中使用。
2023-06-26 16:05:58
1918 在Linux內核開發中,Kmemleak是一種用于檢測內核中內存泄漏的工具。
2023-07-04 11:04:03
1213 Linux操作系統是當今世界上最為廣泛使用的開源操作系統之一,內核則是一個操作系統的核心和靈魂所在。對于一名Linux驅動開發者來說,了解Linux內核的運行機制和Linux內核提供的一些關鍵功能(如虛擬內存管理、進程管理、文件系統、網絡協議棧等)都是我們日常工作和學習的重點。
2023-07-06 11:46:41
2259 
Linux內核中設置了一組用于實現各種系統功能的子程序,稱為系統調用。用戶可以通過系統調用命令在自己的應用程序中調用它們。從某種角度來看,系統調用和普通的函數調用非常相似。區別僅僅在于,系統調用由操作系統核心提供,運行于核心態;而普通的函數調用由函數庫或用戶自己提供,運行于用戶態。
2023-08-23 10:37:22
1205 
大家周末好,我是bug菌~ 今天主要是跟大家詳細聊聊container_of這個宏定義,非常經典的宏,只是一直沒有抽時間細細品味,今天就跟大家一起來看看有何神奇之處。
2023-11-13 09:45:43
1334 在Linux內核中,RCU最常見的用途是替換讀寫鎖。在20世紀90年代初期,Paul在實現通用RCU之前,實現了一種輕量級的讀寫鎖。后來,為這個輕量級讀寫鎖原型所設想的每個用途,最終都使用RCU來實現了。
2023-12-27 09:56:44
3297 
的數據可能不在內存中。 Linux內核地址映射模型 x86 CPU采用了段頁式地址映射模型。進程代碼中的地址為邏輯地址,經過段頁式地址映射后,才真正訪問物理內存。 段頁式機制如下圖。 linux內核地址空間劃分 通常32位Linux內核地址空間劃分0~3G為用戶空
2018-05-08 10:33:19
3776 
收集一些感覺比較好的博客鏈接,方便以后再看Linux 內核中的 C 語言語法擴展Linux 內核驅動中的指定初始化宏構造利器:語句表達式Linux 內核第一宏:container_of零長
2021-12-15 06:04:51
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-05 08:18:07
簡介作用是將應用層序的請求傳遞給硬件,并充當底層驅動程序,對系統中的各種設備和組件進行尋址。目前支持模塊的動態裝卸(裁剪)。Linux內核就是基于這個策略實現的。Linux進程1.采用層次結構,每個
2021-07-22 08:47:35
/linux/kernel.h]中:#define container_of(ptr, type, member) ({\const typeof( ((type *)0)->member
2017-08-29 11:13:00
fox *f;f = list_entry(p, struct fox, list);也就是根據list_head的地址得到大的結構體的起始地址。在container_of的定義中:第二行的意思是將
2015-11-30 23:25:02
,打印警告或錯誤信息的過程,還有系統的調試例程等等。系統數據結構在linux的內核的實現中,有一些數據結構使用頻度較高,他們是:task_struct.Linux內核利用一個數
2019-07-11 16:59:35
Linux設備驅動開發詳解:基于最新的Linux 4.0內核
2019-08-31 12:29:13
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-06 06:16:22
大量讀者好評的“Linux典藏大系”中的《ARM嵌入式Linux系統開發詳解》的第2版。《Linux典藏大系:ARM嵌入式Linux系統開發詳解(第2版)》由淺入深,全面、系統地介紹了基于ARM
2018-09-14 08:57:17
offsetof宏與container_of宏詳解 1.offsetof宏與container_of宏1.1、由結構體指針進而訪問各元素的原理通過結構體整體變量來訪問其中各個元素,本質上是通過指針
2017-10-13 16:35:26
在Linux內核中添加wifi驅動Linux WIFI驅動實驗rtl8723 Wifi聯網測試
2021-02-05 07:59:05
在linux 內核中有一個大名鼎鼎的宏container_of(),這個宏是用來干嘛的呢?我們先來看看它在內核中是怎樣定義的。呵呵,乍一看不知道是什么東東。我們先來分析一下container_of
2016-11-11 10:02:26
Linux設備驅動開發詳解:基于最新的Linux 4.0內核.part3.rar (9.63 MB )Linux設備驅動開發詳解:基于最新的Linux 4.0內核.part1.rar (20 MB
2020-06-09 04:35:46
嵌入式Linux容器技術一、Linux容器技術Linux Container容器是一種內核虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源。LXC為Linux Container的簡寫。可以
2021-10-27 08:56:59
內核中源碼是這樣的#define container_of(ptr, type, member) ({\ const typeof( ((type *)0)->member ) *__mptr
2022-05-07 11:00:09
linux內核圖解說明
2009-03-25 08:57:19
24 Linux內核中文版教程
2009-03-28 09:45:49
0 Linux_內核詳細說明
2009-03-28 09:46:51
35 本章學習目標掌握LINUX內核版本的含義理解并掌握進程的概念掌握管道的概念及實現了解內核的數據結構了解LINUX內核的算法掌握LINUX內核升級的方法
2009-04-10 16:59:19
0 Linux內核學習起步介紹
2009-04-10 17:22:04
0 Linux內核解讀入門關鍵詞:Linux, 內核,源代碼一.核心源程序的文件組織: 1. Linux核心源程序通常都安裝在/usr/src/linux下,而且它有一個非常簡單的編號約定:任何偶數的核
2010-01-16 14:40:10
103 Linux內核源代碼本章講述在L i n u x內核源碼中,應該從何處開始查找特定的內核函數。本書并不要求讀者具有C語言編程能力,也不要求讀者有一份可參閱的L i n u x
2010-02-09 15:24:49
36 嵌入式內核移植步驟詳解 含配置含義及內容等方面
2015-11-20 16:00:36
19 linux下網卡配置詳解
2016-12-15 22:38:51
0 linux 內核驅動部分詳解
2017-04-27 10:43:38
20 由于Linux的獨特優勢,使越來越多的企業和科研機構把目光轉向Linux的開發和研究上。目前Linux最新的穩定內核版本為2.6.17,但是當今絕大部分對于Linux Makefile的介紹文章都是
2017-09-18 19:09:09
0 《Linux設備驅動開發詳解》第9章、Linux設備驅動中的異步通知與異步IO
2017-10-27 11:33:15
0 《Linux設備驅動開發詳解》第8章、Linux設備驅動中的阻塞與非阻塞IO
2017-10-27 11:35:12
9 《Linux設備驅動開發詳解》第7章、Linux設備驅動中的并發控制
2017-10-27 11:37:45
10 《Linux設備驅動開發詳解》第4章、Linux內核模塊
2017-10-27 14:15:51
0 新手Linux內核學習起步
2017-10-27 16:10:30
13 linux內核的完全注釋
2017-10-29 10:02:49
18 Linux_內核注釋
2017-10-30 09:45:56
9 Linux內核編譯詳談
2017-10-30 09:51:35
7 基于Arm的Linux內核編譯指導
2017-10-30 10:13:25
15 隨著 Linux 操作系統的廣泛應用,特別是 Linux 在嵌入式領域的發展,越來越多的人開始投身到 Linux 內核級的開發中。面對日益龐大的 Linux 內核源代碼,開發者在完成自己的內核代碼后
2017-11-01 15:45:54
4 Linux內核編譯過程詳解(kernel2.6.7) 花了幾天才編譯成功kernel2.6.7,其過程真可謂艱辛。古語有云:苦盡甘來!現在終于可以樂上一陣了。由于許多朋友對操作的順序及某些重要的配置
2017-11-07 11:16:00
4 REDSonic, Inc. REDSonic的RedIce-Linux是一個實時Linux內核,設計來支持以任務和時間為臨界的應用,為你的系統提供質量服務。RedIce-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
9308 
Linux的啟動代碼真的挺大,從匯編到C,從Makefile到LDS文件,需要理解的東西很多。畢竟Linux內核是由很多人,花費了巨大的時間和精力寫出來的。而且直到現在,這個世界上仍然有成千上萬的程序員在不斷完善Linux內核的代碼。
2017-11-14 16:19:46
4634 
有些人可能會認為 macOS 和 Linux 內核之間存在相似之處,因為它們可以處理類似的命令和類似的軟件。有些人甚至認為蘋果公司的 macOS 是基于 Linux 的。事實上,兩個內核有著截然不同的歷史和特征。
2018-07-23 15:04:16
6331 Android雖然建立在Linux內核之上,但是他對內核進行了一些擴展,增加了一些驅動。比如Binder,loger等等驅動。可以拿Android內核代碼和其Baseline版本進行對比。可以看到Android對Linux內核的所有擴展。
2018-09-09 09:10:00
4865 新的內核總是會定期發布出來,但是其實大家并不是十分了解內核是如何被深入測試的。那么這里可以提前告訴大家,內核主干有可能并沒有做過充分的測試,而穩定內核可能會更少。。。 So what
2019-01-01 09:06:00
3652 Linux 操作系統和驅動程序運行在內核空間,應用程序運行在用戶空間,兩者不能簡單地使用指針傳遞數據,因為Linux使用的虛擬內存機制,用戶空間的數據可能被換出,當內核空間使用用戶空間指針時,對應的數據可能不在內存中。
2019-04-28 17:33:33
1288 
Linux 內核提供一套雙向鏈表的實現,你可以在 include/linux/list.h 中找到。我們以雙向鏈表著手開始介紹 Linux 內核中的數據結構 ,因為這個是在 Linux 內核中使用最為廣泛的數據結構。
2019-05-14 17:27:00
2115 TYPE是某struct的類型,0是一個假想TYPE類型struct,MEMBER是該struct中的一個成員。 由于該struct的基地址為0, MEMBER的地址就是該成員相對與struct頭地址的偏移量。
2019-05-14 14:26:40
1011 生成對應的.o文件,在使用的時候可以動態加載,優點是不會使內核過分龐大,缺點是你得自己來調用這些模塊。 內核編譯詳解 新版本內核的獲取和更新 Linux內核版本發布的官方網站是http
2019-04-02 14:38:40
638 昨天的事,時間已經流走,內核開發團隊的2.6版內核開發工作已經接近完成了。本文將試圖描述2.6內核中的許多新特性(側重i386平臺的Linux)。和封閉源碼的軟件的預發布不一樣的是,這里所描述的所有特性
2019-04-02 14:38:55
525 Android是基于Linux內核的操作系統,但是,運行在Android設備上的內核其實與Google選擇的LTS版本Linux內核有很大不同。
2019-11-22 10:41:42
3673 
Linux內核創建者Linus Torvalds最近回應 Linux內核調度器存在問題的文章引發了大家的關注,在同一個帖子里,他還回復了一名用戶抱怨Linux內核最近破壞了內核源碼樹外ZFS模塊的評論。
2020-01-10 10:32:43
3095 相應的策略,使得多個進程能在CPU中微觀串行,宏觀并行地執行。進程調度處于系統的中心位置,內核中其他的子系統都依賴它,因為每個子系統都需要掛起或恢復進程。在用戶空間,進程是由進程標示符(PID)表示的。在linux內核空間,每個進程都有一個獨立的數據結構,用來保存該進程的ID、優先
2020-05-20 09:28:31
1105 編譯嵌入式Linux內核都是通過make的不同命令來實現的,它的執行配置文件是Makefile。Linux內核中不同的目錄結構里都有相應的Makefile,而不同的Makefile又通過彼此之間的依賴關系構成統一的整體,共同完成建立依存關系、建立內核等功能。
2020-06-19 09:30:24
3270 
Linux:QEMU調試內核的步驟
2020-06-23 09:03:07
3766 
Linux內核是一個操作系統(OS)內核,本質上定義為類Unix。它用于不同的操作系統,主要是以不同的Linux發行版的形式。Linux內核是第一個真正完整且突出的免費和開源軟件示例。Linux 內核是第一個真正完整且突出的免費和開源軟件示例,促使其廣泛采用并得到了數千名開發人員的貢獻。
2020-09-16 15:49:50
3072 本文主要闡述了linux內核參數設置及linux內核的功能。
2020-09-17 14:40:49
1635 
來源 :頭條號@Linux學習教程,冰凌塊兒 01 前言 本文主要講解什么是Linux內核,以及通過多張圖片展示Linux內核的作用與功能,以便于讀者能快速理解什么是Linux內核,能看懂Linux
2020-10-19 17:46:08
2642 
01 前言 本文主要講解什么是Linux內核,以及通過多張圖片展示Linux內核的作用與功能,以便于讀者能快速理解什么是Linux內核,能看懂Linux內核。 擁有超過1300萬行的代碼,Linux
2020-10-21 12:02:53
4905 
內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。Linux 作為一個自由軟件,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊
2020-11-04 18:04:10
8 和工作中深入理解內存管理,進程調度,文件系統,設備驅動等內核子系統。 為了系統的安全性,Linux內核將各個用戶進程運行在各自獨立的虛擬地址空間,用戶進程之間通過虛擬地址空間相互隔離,不能相互訪問,一個進程的奔潰不會影響到整個系統的異常也不會干擾到系統以及其
2020-11-26 14:42:19
2597 1月6日,Linux基金會宣布,Linux 5.10.5內核正式發布,所有5.10內核系列的用戶都必須升級。
2021-01-07 14:36:57
3112 本文檔的主要內容詳細介紹的是Linux內核GPIO操作函數的詳解分析免費下載。
2021-01-22 16:58:28
28 Linux內核定制方法說明。
2021-03-25 11:25:02
9 Linux系統中EXP命令詳解質量匯總
2021-05-14 09:35:28
1 我們可以使用BPF對Linux內核進行跟蹤,收集我們想要的內核數據,從而對Linux中的程序進行分析和調試。與其它的跟蹤技術相比,使用BPF的主要優點是幾乎可以訪問Linux內核和應用程序的任何信息,同時,BPF對系統性能影響很小,執行效率很高,而且開發人員不需要因為收集數據而修改程序。
2021-06-30 17:28:30
2952 
嵌入式LINUX系統內核和內核模塊調試(嵌入式開發和硬件開發)-嵌入式LINUX系統內核和內核模塊調試? ? ? ? ? ? ? ? ?
2021-07-30 13:55:21
10 Linux內核文件Cache機制(開關電源技術與設計 第二版)-Linux內核文件Cache機制? ? ? ? ? ? ? ??
2021-08-31 16:34:54
4 嵌入式Linux容器技術一、Linux容器技術Linux Container容器是一種內核虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源。LXC為Linux Container的簡寫。可以
2021-10-20 20:06:07
2 Linux內核目錄結構Linux內核源代碼非常龐大,隨著版本的發展不斷增加。它使用目錄樹結構,并且使用Makefile組織配置編譯。初次接觸Linux內核,最好仔細閱讀頂層目錄的readme文件
2021-12-17 18:29:41
10 學習linux內核,這個可不像學一門語言,c或者java一個月或者3月你就能精通掌握。學習linux內核是需要一步一步循序漸進,掌握正確的linux內核學習路線對學習至關重要,本篇文章就來分享學習linux內核的一些建議吧。
2022-05-07 15:20:27
933 
【Linux內核】從小小的宏定義窺探Linux內核的精妙設計
2022-08-31 13:30:06
2801 Linux Plumbers Conference 2022 大會上舉行了一個 Rust 相關的小型會議,該會議討論的大方向大致為:正在進行的使 Rust 成為一種合適的系統編程語言的工作,以及在主線 Linux 內核中整合對 Rust 的支持。
2022-09-19 11:06:57
1640 Linux內核由七個部分構成,每個不同的部分又有多個內核模塊組成。
2022-10-13 15:44:45
1541 Linux設備驅動開發詳解
2022-10-28 11:03:06
56 此外,公告中并沒有提及 Linux 6.1 是否是 LTS 版本。按照 Linux 內核維護者 Greg Kroah-Hartman 的說法,Linux 內核的 LTS 通常會選取每年的最后一個內核
2022-12-14 09:54:59
2733 在linux內核啟動過程中,會向終端打印出很多的日志信息,從這些信息中可以得到許多內核的行為。
2023-01-13 09:20:10
1984 今天在看平臺設備實現的時候,看到to_xxx開頭的“函數”。包括在內核中也有很多此類的“函數”,其實他們都是container_of的宏。因為內核是鏈表和結構體的世界,因此內核中有大量需求要 根據結構體成員獲取結構體地址 ,或者根據結構體類型和結構體成員類型獲取成員在結構體的偏移。
2023-06-23 14:26:00
799 
linux內核設備的注冊由device_register()函數完成,這個函數是linux設備驅動模型的核心函數
2023-07-12 08:52:15
1639 
向linux內核注冊驅動由driver_register()完成。它將驅動程序的信息添加到內核的驅動程序列表中,使得內核能夠在需要時與該驅動程序進行交互。
2023-07-14 09:17:02
4353 
在安裝好的Linux系統中,內核的源代碼位于/ust/src/linux.如果是從GNU網站下載的Linux內核的tar文件,則展開以后在一個叫linux的子目錄中。以后本書中談到源文件的路徑時,就總是從linux這個節點開始。
2023-09-06 17:01:23
4 我將結合具體的Linux內核驅動框架代碼來展示Linux內核如何使用結構體和函數指針。
2023-09-06 14:17:55
1750 
該宏的作用是通過結構體成員的地址和結構體類型推導出結構體的地址,type是指結構體的類型,member是成員在結構體中的名字,ptr是該成員在type結構體中的地址。
2023-09-10 10:59:25
947 
盟通技術干貨構建實時Linux內核簡介盟通技術干貨Motrotech如果需要在Linux中實現實時計算性能,進而有效地將Linux轉變為RTOS,那么大多數發行版都可以打上名為PREEMPT_RT
2024-04-12 08:36:37
4691 
Linux內核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內核是如何管理,釋放和分配這些物理頁面的。
2024-08-07 15:51:11
1021 
Linux 內核是Linux操作系統的核心部分,負責管理硬件資源和提供系統調用接口。隨著 Linux 內核的不斷發展和更新,其復雜性和代碼規模也在不斷增加。因此,確保內核的穩定性和可靠性變得尤為重要
2024-08-13 13:42:35
2307 
在Linux系統中,驅動程序是內核與硬件設備之間的橋梁。它們允許內核與硬件設備進行通信,從而實現對硬件設備的控制和管理。 驅動程序的編寫 驅動程序的編寫是Linux驅動開發的基礎。在編寫驅動程序之前
2024-08-30 15:02:19
1661 在linux內核中,uevent機制是一種內核和用戶空間通信的機制,用于通知用戶空間應用程序各種硬件更改或其他事件,比如插入或移除硬件設備(如USB驅動器或網絡接口)。uevent表示“用戶空間
2024-09-29 17:01:29
2900 【迅為工業RK3568穩定可靠】itop-3568開發板Linux驅動開發實戰:RK3568內核模塊符號導出詳解
2025-11-21 13:25:44
833 
評論