RCU是Linux內核中很難的一部分,本系列文章一點一滴地來把RCU說清楚。第一次連載,是描述硬件。
2017-09-04 10:29:48
6484 
本文從硬件的角度引申出內存屏障,這不是內存屏障的詳盡手冊,但是相關知識對于理解RCU有所幫助。
2017-09-19 11:39:57
6583 
嵌入式系統Linux內核開發工程師必須掌握的三十道題 linux內核工程師需要知道的30個問題,看看你能回答出多少個。
2018-04-22 08:22:02
2901 
減少鎖競爭的一個有效方法是創建一個分級結構,如上圖所示。在此,四個rcu_node 結構中的每一個都有各自的鎖,這樣只有 CPU 0 和 1 會獲取最左邊的 rcu_node的鎖, CPU 2 和 3 會獲取中間的rcu_node的鎖,CPU 4和5會獲取右邊的rcu_node的鎖。
2018-05-10 09:08:21
15695 
RCU(Read-Copy Update)是數據同步的一種方式,在當前的Linux內核中發揮著重要的作用。RCU主要針對的數據對象是鏈表,目的是提高遍歷讀取數據的效率,為了達到目的使用RCU機制讀取
2020-09-25 15:10:15
3194 在linux內核中,互斥量(mutex,即mutual exclusion)是一種保證串行化的睡眠鎖機制。和spinlock的語義類似,都是允許一個執行線索進入臨界區,不同的是當無法獲得鎖的時候
2022-05-13 08:56:26
7763 
【Linux + C語言】話說,你真的了解system接口的調用嗎?
2022-09-12 16:33:38
5356 
好久沒有更文,上次更文時西安天氣還很熱,現在“寒氣”它還真來了。在前一階段經歷了一些公司的面試,經常會問到RCU鎖的原理,其實在跟對方口述表達時才真正能體現出來自己到底懂不懂,關于RCU鎖的原理與使用,我打算分若干個次文章整理出來,本次就先從一個大概的原理上進行講解。
2022-10-13 16:17:27
5227 
我猜,你讀這篇文章,說明你已經對Linux安全模塊(LSM)有所了解。如果你使用過SELinux或AppArmor,其實就已經用過LSM了。甚至,在你使用的Linux發行版本或Android系統之上,也使用了LSM。
2022-11-28 09:21:41
9044 今天浩道跟大家分享linux實用場景相關的實例,助你全面了解linux相關知識。
2023-01-29 11:09:09
885 在linux內核中,互斥量mutex是一種保證CPU串行運行的睡眠鎖機制。和spinlock類似,都是同一個時刻只有一個線程進入臨界資源,不同的是,當無法獲取鎖的時候,spinlock原地自旋,而mutex則是選擇掛起當前線程,進入阻塞狀態。所以,mutex無法在中斷上下文中使用。
2023-06-26 16:05:58
1918 Linux操作系統是當今世界上最為廣泛使用的開源操作系統之一,內核則是一個操作系統的核心和靈魂所在。對于一名Linux驅動開發者來說,了解Linux內核的運行機制和Linux內核提供的一些關鍵功能(如虛擬內存管理、進程管理、文件系統、網絡協議棧等)都是我們日常工作和學習的重點。
2023-07-06 11:46:41
2259 
在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 
分析,我把這一類 blog 文章劃歸為“ Linux 機制分析”,希望大家支持。 什么是 workqueue ? Linux 中的 Workqueue 機制就是為了簡化內核線程的創建。通過調用
2016-05-21 09:51:16
1.1 Linux內核模塊介紹1.1.1 Linux內核模塊概述嵌入式設備驅動開發中將驅動程序以模塊的形式發布,更是極大地提高了設備使用的靈活性——用戶只需要拿到相關驅動模塊,再插入到用戶的內核中
2019-10-05 20:36:18
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2019-08-06 07:08:12
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-05 08:18:07
在前面的章節介紹了uboot和Linux內核的一些相關內容。在來看Linux內核的大致啟動流程,Linux內核的啟動流程要比uboot復雜的多,涉及到的內容也更多,因此在本章節大致簡單的了解一下
2020-12-29 07:35:26
,可以了解Linux的機制了。推薦《Linux內核設計與實現》Robert Love 寫的。這本書從概念上講解了Linux有什么,他們是怎么運行的。這本書要反復認真看透。
2019-07-08 06:49:08
在linux下開發過程中,用戶態需要內核提供一些機制,以便用戶態能夠及時地得知內核或底層硬件設備發生了什么,從而能夠更好地管理設備,給用戶提供更好的服務,如 hotplug、udev 和 inotify 就是這種需求催生的。
2019-07-22 08:05:50
4、嵌入式系統移植Linux內核代碼 平臺相關代碼分析ARM平臺介紹 平臺移植的關鍵技術 移植Linux內核到 ARM平臺 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9
2013-02-25 09:51:20
1、了解RT-Thread內核的啟動流程 內核是操作系統最基礎也是最重要的部分。從本文開始進入 RT-Thread 內核相關知識的學習。 首先了解內核的基礎知識,對 RT-Thread 內核
2022-09-05 17:01:15
1.3 本章小結1.4 習題第2章 Linux內核體系結構2.1 Linux內核模試和體系結構2.2 Linrx中斷機制2.3 Linrx系統定時2.4 Linrx內核進程控制2.4.1任務數據結構
2015-09-11 22:25:28
的挑戰,為了解決這個問題,Linux內核引入內核模塊機制,通過動態加載內核模塊,從而實現在運行過程中擴展內核的功能。內核模塊是什么?1 內核模塊是一種沒有經過鏈接,不能獨立運行的目標文件,是在內核空間
2019-07-16 07:00:00
根本都不知道這個佛是哪一路神仙。 那今天我們就先帶大家來深入了解下嵌入式開發中至關重要的一環:linux驅動。 在學習驅動之前,我們首先來了解下操作系統。 # 操作系統OPERATING SYSTEM
2020-04-15 09:59:21
這一段時間一直在學習LINUX內核,關于進程的知識了解不是很多,打攪有了解神的,我們討論一下
2013-10-19 15:07:07
在上了Linux內核這門課后,我對Linux內核開始有了初步的了解,關于Linux內核,我覺得最重要的部分還是進程的創建以及切換,這是整個內核的核心部分。以下是一些我在學習Linux內核過程中的總結:
2019-07-12 07:27:28
學習ARM該怎么開始,了解了結構后該怎么做,有的說買塊開發板,關鍵買了開發板后又怎么樣呢?不買它就不能很好的理解嗎?說嵌入式系統那有的要求C語言開發又是什么意思?菜鳥啊!真迷茫。求高手點播
2013-09-12 16:49:44
我專業是電子信息工程,在初入大學的時候,我們的班主任便要我們多多去了解一些關于電子方面的知識。后來我了解到了嵌入式,繼而了解到了嵌入式Linux。其實我們學習linux差不多就學習linux內核
2021-11-05 09:05:08
PS: 本文轉載于網絡,具體出處不明。為了方便廣大嵌入式 Linux 初學者快速了解和入門,同時也記錄一下,故轉載原文,僅用于學習和交流,感謝原作者!從上圖可以知道:① 組成:嵌入式Linux系統
2021-11-05 06:12:28
1.嵌入式Linux驅動程序開發嵌入式Linux驅動程序開發包羅萬象,基本上每個點都要大概了解一下。1.1軟件工具Makefile必須要掌握一些,至于Kconfig太簡單了只是個配置文件算不上程序
2021-11-02 10:17:37
是內核空間,Linux 內核正是位于這里。GNU C Library (glibc)也在這里。它提供了連接內核的系統調用接口,還提供了在用戶空間應用程序和內核之間進行轉換的機制。這點非常重要,因為內核
2018-08-27 10:31:28
你好 是否可以通過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
本文詳解了Linux內核搶占實現機制。首先介紹了內核搶占和用戶搶占的概念和區別,接著分析了不可搶占內核的特點及實時系統中實現內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現搶占內核所做的改動以及何時需要重新調度。
2019-08-06 06:16:22
內核模塊程序加載到內核中運行。結合lsmod及管道命令,查看內核模塊程序在內核中是否正確運行。四、總結本文主要講解了linux內核模塊的概念和基本編程方法、內核模塊組成結構,由于linux設備驅動以內核
2021-09-24 09:11:03
想了解下鴻蒙系統內核里面信號通信機制是什么?信號的傳輸流向是怎么樣的?有知道的嗎?
2020-09-24 09:59:07
本章學習目標掌握LINUX內核版本的含義理解并掌握進程的概念掌握管道的概念及實現了解內核的數據結構了解LINUX內核的算法掌握LINUX內核升級的方法
2009-04-10 16:59:19
0 本書將Linux內核的學習分為四個層次:全面了解,掌握基本功;興趣導向,選擇重點深度鉆研;融入
2010-11-09 17:05:15
0 本內容介紹了arm linux內存管理機制,詳細說明了linux內核內存管理,linux虛擬內存管理,arm linux內存管理等方面的知識
2011-12-19 14:09:27
73 linux啟動時內核解壓過程分析,一份不錯的文檔,深入了解內核必備
2016-03-09 13:39:39
1 基于Linux內核2_6的進程攔截機制的研究和實現_王全民
2017-03-18 09:15:44
3 ,都將面臨著同樣的問題,即如何將源代碼融入到 Linux 內核中,增加相應的 Linux 配置選項,并最終被編譯進 Linux 內核。這就需要了解 Linux 的內核配置系統。 眾所周知,Linux
2017-11-01 15:45:54
4 本文從Linux內核幾種軟中斷機制相互關系和發展沿革入手,分析了這些機制的實現方法,給出了它們的基本用法。 軟中斷概況 軟中斷是利用硬件中斷的概念,用軟件方式進行模擬,實現宏觀上的異步執行效果。很多
2017-11-02 11:01:58
0 RCU主要用于對性能要求苛刻的并行實時計算。例如:天氣預報、模擬核爆炸計算、內核同步等等。
2017-11-07 11:09:15
4257 
記時器、簡短的優先占有時間內核、強有力的可預言的系統日程安排和提供任務性能保證的機制。 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
9308 
Linux 內核有個機制叫OOM killer(Out-Of-Memory killer),該機制會監控那些占用內存過大,尤其是瞬間很快消耗大量內存的進程,為了防止內存耗盡而內核會把該進程殺掉。典型
2017-11-13 17:01:23
1814 
在操作系統引入了進程概念,進程成為調度實體后,系統就具備了并發執行多個進程的能力,但也導致了系統中各個進程之間的資源競爭和共享。另外,由于中斷、異常機制的引入,以及內核態搶占都導致了這些內核執行
2017-11-14 15:25:19
5869 
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2017-11-14 15:52:46
7626 模塊編程屬于內核編程,因此,除了對內核相關知識有所了解外,還需要了解與模塊相關的知識。
2018-08-24 17:15:46
8 了解如何配置和使用Linux內核printk功能,包括其動態調試功能。
這樣可以選擇性地打印調試消息,而無需重新編譯內核。
2018-11-27 06:40:00
3556 了解Linux設備驅動程序的基礎知識,重點關注設備節點,內核框架,虛擬文件??系統和內核模塊。
提出了一個簡單的內核模塊實現。
2018-11-26 06:51:00
3549 了解如何獲取Xilinx Linux內核源代碼,配置它,構建內核和設備樹,最后在ZC702板上運行新內核。
2018-11-23 07:09:00
3873 本文檔的主要內容主要是為了讓你完全了解了單片機主要包括了:1 了解單片機的基本結構與應用,2 了解單片機的邏輯語言,3 了解單片機學習的軟硬件條件
2019-02-20 14:05:14
1 在Linux內核中,completion是一種簡單的同步機制,標志"things may proceed"。
要使用completion,必須在文件中包含,同時創建一個類型為struct completion的變量。
2019-04-24 11:45:02
1658 用戶空間中包含了C庫,用戶的應用程序。在某些體系結構圖中還包含了shell,當然shell腳本也是Linux體系中不可缺少的一部分。
2019-04-28 16:52:26
1435 
Linux內核代碼的龐大令不少人“望而生畏”,也正因為如此,使得人們對Linux的了解僅處于泛泛的層次。如果想透析Linux,深入操作系統的本質,閱讀內核源碼是最有效的途徑。
2019-04-28 16:54:40
1232 
Device mapper 是 Linux 2.6 內核中提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據自己的需要制定實現存儲資源的管理策略,當前比較流行
2019-04-29 15:25:50
1023 在linux內核系統中,各個模塊、子系統之間是相互獨立的。Linux內核可以通過通知鏈機制來獲取由其它模塊或子系統產生的它感興趣的某些事件。
2019-05-05 11:46:56
2508 中斷是指在CPU正常運行期間,由于內外部事件或由程序預先安排的事件引起的CPU暫時停止正在運行的程序,轉而為該內部或外部事件或預先安排的事件服務的程序中去,服務完畢后再返回去繼續運行被暫時中斷的程序。Linux中通常分為外部中斷(又叫硬件中斷)和內部中斷(又叫異常)。
2019-05-05 15:30:38
930 linux驅動程序一般工作在內核空間,但也可以工作在用戶空間。下面我們將詳細解析,什么是內核空間,什么是用戶空間,以及如何判斷他們
2019-05-06 16:13:00
970 在linux內核中,有一種通用的雙向循環鏈表,構成了各種隊列的基礎。鏈表的結構定義和相關函數均在include/linux/list.h中,下面就來全面的介紹這一鏈表的各種API。
2019-05-07 10:44:57
854 在內核調試技術之中,最簡單的就是printk的使用了,它的用法和C語言應用程序中的printf使用類似,在應用程序中依靠的是stdio.h中的庫,而在linux內核中沒有這個庫,所以在linux內核中,使用這個printk就要對內核的實現有一定的了解。
2019-05-10 11:18:47
1879 之前一直認為linux中很多東西是用來保證緩存一致性的,其實不是。緩存一致性絕大部分是靠硬件機制實現的,只有在帶lock前綴的指令執行時才與cache有一點關系。(這話說得絕對,但我目前看來就是這樣)我們更多的時候是為了保證順序一致性。
2019-05-10 14:20:31
778 在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。
2019-05-12 08:26:00
880 當編譯內核代碼的時候,使用make C=1或C=2的時候,會調用一個叫Sparse的工具,這個工具對內核代碼進行檢查,怎么檢查呢,就是靠對那些聲明過Sparse這個工具所能識別的特性的內核函數或是變量進行檢查。
2019-05-12 09:48:00
801 Linux是單內核系統,可通用計算平臺的外圍設備是頻繁變化的,不可能將所有的(包括將來即將出現的)設備的驅動程序都一次性編譯進內核,為了解決這個問題,Linux提出了可加載內核模塊(Loadable
2019-05-13 10:04:53
865 
RCU(Read-Copy Update),顧名思義就是讀-拷貝修改,它是基于其原理命名的。對于被RCU保護的共享數據結構,讀者不需要獲得任何鎖就可以訪問它,但寫者在訪問它時首先拷貝一個副本,然后
2019-05-14 17:37:00
14743 
Linux內核同步機制,挺復雜的一個東西,常用的有自旋鎖,信號量,互斥體,原子操作,順序鎖,RCU,內存屏障等。
2019-05-14 14:10:38
935 大多數內核子系統都是相互獨立的,因此某個子系統可能對其它子系統產生的事件感興趣。為了滿足這個需求,也即是讓某個子系統在發生某個事件時通知其它的子系統,Linux內核提供了通知鏈的機制。通知鏈表只能夠在內核的子系統之間使用,而不能夠在內核與用戶空間之間進行事件的通知。
2019-05-14 16:16:44
998 
所謂的"probe”,是指在Linux內核中,如果存在相同名稱的device和device_driver,內核就會執行device_driver中的probe回調函數,而該函數就是所有driver
2019-05-14 16:18:25
4493 
CPU級:主要實現比較容易的在系統處于目標在于頻繁發生、更高粒度的電源狀態改變,主要的實現方式為idle,包括今天的主要想講的動態主頻。
2019-05-14 16:20:15
995 
對于系統調用poll或select,它們對應的內核函數都是sys_poll。分析sys_poll,即可理解poll機制。
2019-05-14 16:22:17
4465 
經過對Linux系統有了一定了解和熟悉后,想對其更深層次的東西做進一步探究。這當中就包括系統的啟動流程、文件系統的組成結構、基于動態庫和靜態庫的程序在執行時的異同、協議棧的架構和原理、驅動程序的機制等等。
2019-05-15 10:17:02
837 Netfilter是由Rusty Russell提出的Linux 2.4內核防火墻框架,該框架既簡潔又靈活,可實現安全策略應用中的許多功能,如數據包過濾、數據包處理、地址偽裝、透明代理、動態網
2019-05-15 11:09:31
1318 
一些內核調用可以用來方便標記bug,提供斷言并輸出信息。最常用的兩個是BUG()和BUG_ON()。當被調用的時候,它們會引發oops,導致棧的回溯和錯誤信息的打印。
2019-05-15 15:47:40
817 
Linux2.6.23內核版本中對RCU有哪些修正。所謂修正主要包括兩個部分,一部分是bug fixed,一部分是新增的特性。?二、issue修復1、synchronize_kernel是什么鬼?僅僅
2019-04-02 14:35:29
461 很方便地啟用個性化 bootsplash。.Linux2.4內核對 Initrd 的處理流程為了使讀者清晰的了解Linux2.6內核initrd機制的變化,在重點介紹Linux2.6內核initrd
2019-04-02 14:39:19
817 從Linux 2.6起引入了一套新的驅動管理和注冊機制:platform_device和platform_driver。
2019-11-06 14:12:50
2009 
嵌入式Linux系統做模塊化處理就是可劃分為Bootloader(引導程序),Kernel(內核),fs(文件系統),Shell(命令行界面),Gui(圖形庫)和 Embeded Sql(嵌入式數據庫)等。
2019-12-10 16:40:36
1161 在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實像多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問,尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。
2020-09-22 09:46:37
2955 
一、linux內核學習之一:環境搭建--安裝Debian7.3 本系列文章假設讀者已對linux有一定的了解,其實學習linux內核不需要有很深的關于linux的知識,只需要了解以下內容:linux
2021-01-02 18:01:00
2580 的設計有所了解。這也就是為什么內核漫游的入點選擇為內核本身的啟始點:系統引導(啟動)。這份材料需要對C語言以及對Unix的概念和PC機的結構有很好的了解,然而本章中并沒有出現任何的C代碼,而是直接參考(指向)實際的代碼的。有關內核設計的最佳篇幅是在本手
2021-01-15 17:40:09
15 jump label機制進入Linux內核已經很多很多年了,它的目的是 消除分支。 為了達到這個目的,jump label的手段是 修改分支處的代碼。
2021-03-25 14:02:36
4573 
作為最流行的開源操作系統,Linux在各行各業得到了廣泛的應用。因此了解Linux 內核的架構及工作機制就顯得非常重要
2021-04-02 11:30:12
2803 
Linux內核文件Cache機制(開關電源技術與設計 第二版)-Linux內核文件Cache機制? ? ? ? ? ? ? ??
2021-08-31 16:34:54
4 為了解決小塊內存的分配問題,Linux 內核提供了塊分配器,最早實現的塊分配器是SLAB 分配器。
2022-07-27 09:35:37
2521 同步就是進程與進程之間,進程與系統資源之間的交互。由于 Linux內核采用的是多任務,所以在多個進程之間,必須要有同步機制來保證彼此協調。
2023-05-04 17:06:13
1536 Linux 存在眾多 tracing tools,比如 ftrace、perf,他們可用于內核的調試、提高內核的可觀測性。
2023-06-11 11:05:30
1636 
與hardlockup機制類似, softlockup也是在watchdog框架下關注于某個task一直處于內核態而不給其它task運行機會的一種debug機制.具體的超時判斷時間一般為20S,也可以通過sysctrl 來進行修改.
2023-06-23 15:30:00
2323 
深入了解Linux中vi命令的使用 VI是一款在Linux系統中使用的文本編輯器,它是一款功能強大、靈活性高的編輯器。VI編輯器具有非常高效的命令行操作方式,并且在各個版本的Linux中都得到了廣泛
2023-12-25 11:15:17
1213 Linux內核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內核是如何管理,釋放和分配這些物理頁面的。
2024-08-07 15:51:11
1021 
在Linux系統中,驅動程序是內核與硬件設備之間的橋梁。它們允許內核與硬件設備進行通信,從而實現對硬件設備的控制和管理。 驅動程序的編寫 驅動程序的編寫是Linux驅動開發的基礎。在編寫驅動程序之前
2024-08-30 15:02:19
1661 在linux內核中,uevent機制是一種內核和用戶空間通信的機制,用于通知用戶空間應用程序各種硬件更改或其他事件,比如插入或移除硬件設備(如USB驅動器或網絡接口)。uevent表示“用戶空間
2024-09-29 17:01:29
2900 異常或崩潰。為深入理解動態鏈接機制及其工作原理,我重溫了《程序員的自我修養》,并通過實踐演示與反匯編分析,了解了動態鏈接的過程。 本文將深入探討Linux系統中的動態鏈接庫機制,這其中包括但不限于全局符號介入(Global Symbol
2024-12-18 10:06:32
1013 
評論