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