【Linux + C語言】話說,你真的了解system接口的調(diào)用嗎?
2022-09-12 16:33:38
5356 
Linux內(nèi)核模塊間通訊方法非常的多,最便捷的方法莫過于函數(shù)或變量符號(hào)導(dǎo)出,然后直接調(diào)用。默認(rèn)情況下,模塊與模塊之間、模塊與內(nèi)核之間的全局變量是相互獨(dú)立的,只有通過`EXPORT_SYMBOL`將模塊導(dǎo)出才能對(duì)其他模塊或內(nèi)核可見。
2023-06-07 16:23:11
3543 
查看Linux內(nèi)核代碼時(shí),經(jīng)常能看到一些編譯器選項(xiàng)如__attribute__((weak),起初不太了解,經(jīng)過查資料,算是對(duì)gcc的這個(gè)編譯屬性有了初步的認(rèn)識(shí),現(xiàn)在總結(jié)如下。
2023-06-08 10:57:12
2506 在Linux內(nèi)核開發(fā)中,Kmemleak是一種用于檢測(cè)內(nèi)核中內(nèi)存泄漏的工具。
2023-07-04 11:04:03
1213 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:41
2259 
Linux內(nèi)核中經(jīng)常可見container_of的身影,它在實(shí)際驅(qū)動(dòng)的編寫中也是廣泛應(yīng)用。
2023-07-14 15:19:42
790 
Linux內(nèi)核源碼文件繁多,搞不清Makefile、Kconfig、.config間的關(guān)系,不了解內(nèi)核編譯體系,編譯修改內(nèi)核有問題無從下手,自己寫的驅(qū)動(dòng)不知道怎么編進(jìn)內(nèi)核,不知道怎么配置內(nèi)核,這些
2023-10-17 16:19:52
5719 
在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 
`使用Linux或者unix系統(tǒng)的同學(xué)可能都對(duì)#!這個(gè)符號(hào)并不陌生,但是你真的了解它嗎?本文了將給你簡單介紹一下Shebang(”#!”)這個(gè)符號(hào)。首先,這個(gè)符號(hào)(#!)的名稱,叫做”Shebang
2016-02-27 17:30:33
收集一些感覺比較好的博客鏈接,方便以后再看Linux 內(nèi)核中的 C 語言語法擴(kuò)展Linux 內(nèi)核驅(qū)動(dòng)中的指定初始化宏構(gòu)造利器:語句表達(dá)式Linux 內(nèi)核第一宏:container_of零長
2021-12-15 06:04:51
Linux內(nèi)核符號(hào)表
2020-05-29 15:46:52
的模塊會(huì)給整個(gè)系統(tǒng)帶來一定的性能和內(nèi)存利用方面的損失; 裝入內(nèi)核的模塊就成為內(nèi)核的一部分,可以修改內(nèi)核中的其他部分,因此,模塊的使用不當(dāng)會(huì)導(dǎo)致系統(tǒng)崩潰; 為了讓內(nèi)核模塊能訪問所有內(nèi)核資源,內(nèi)核必須維護(hù)符號(hào)
2018-07-03 03:15:41
(kernel tainted)的警告。 在Linux 2.6內(nèi)核中,可接受的LICENSE包括"GPL"、"GPL v2"、"GPL
2017-05-27 09:36:50
之后即作為內(nèi)核一部分運(yùn)行,獲得和內(nèi)核完全等同的權(quán)限,可以訪問內(nèi)核的任意部分,如果模塊出了問題,可能會(huì)影響到整個(gè)操作系統(tǒng)的穩(wěn)定性,嚴(yán)重時(shí)甚至導(dǎo)致內(nèi)核崩潰。內(nèi)核中維護(hù)了一張符號(hào)表,包含了內(nèi)核中所有全局變量
2017-08-22 09:22:17
Linux內(nèi)核代碼是一個(gè)很好的積累大型項(xiàng)目經(jīng)驗(yàn)的機(jī)會(huì)(確實(shí),Linux代碼是我目前接觸到的最大的項(xiàng)目了!)。如果你對(duì)計(jì)算機(jī)底層了解的不夠透徹,那么我們可以選擇邊分析邊學(xué)習(xí)的方式去積累底層的知識(shí)。可能剛開始
2020-05-11 07:00:00
摘要:這是對(duì)周立功編著的《嵌入式Linux開發(fā)教程》的第7期連載。本期刊載內(nèi)容有關(guān)LinuxLinux常見命令中的導(dǎo)航命令、目錄命令和文件命令。下一期將連載網(wǎng)絡(luò)操作命令、安裝卸載文件系統(tǒng)等內(nèi)容
2021-10-28 10:06:50
Linux一些常見問題——內(nèi)核編譯常見錯(cuò)誤編譯2.6.31內(nèi)核后重啟出現(xiàn)insmod: error inserting '/lib/dm-region-hash.ko' : -1 File
2012-02-20 15:22:31
引言內(nèi)核代表啟動(dòng)時(shí)通常會(huì)看到下面第二行信息的內(nèi)容,它們是當(dāng)前內(nèi)核的版本、編譯工具版本、編譯環(huán)境等信息。要在啟動(dòng)中的任何打印過程中,都經(jīng)過一番討論和了解才要在大家的發(fā)布。一條信息,但有一條信息,但
2022-06-30 15:43:22
如圖所示是幾種常見電子元器件電路符號(hào)。在電路圖中,用電子元器件的電路符號(hào)代表元器件。 圖(a)所示是電阻器電路符號(hào),從這一符號(hào)中可以得到兩個(gè)信息:有兩根不分正、負(fù)極性的引腳;電阻器用字母R
2020-09-02 17:43:25
Approach。這里默認(rèn)你是了解一點(diǎn) ARM 匯編語言和 Linux 內(nèi)核基礎(chǔ)知識(shí)的。虛擬內(nèi)存的劃分首先,讓我們先弄清楚內(nèi)核是在虛擬內(nèi)存中哪個(gè)地址開始執(zhí)行的。內(nèi)核的虛擬內(nèi)存基地址 (kernel RAM
2022-04-14 10:22:27
一、概述本文基于Linux Kernel 4.10版本講解。Linux內(nèi)核采用類似于GNU Make的kbuild構(gòu)建而成,關(guān)于內(nèi)核的構(gòu)建系統(tǒng)kbuild,可以先看本公眾號(hào)內(nèi)以前的文章:Kbuild
2017-11-15 11:26:52
`一、看威武霸氣的封面作者:趙炯 二、讀讀簡介,看看適合你嗎?本書對(duì)Linux早期操作系統(tǒng)內(nèi)核(v0.11)全部代碼文件進(jìn)行了詳細(xì)全面的注釋和說明,旨在使讀者能夠在盡量短的時(shí)間內(nèi)對(duì)Linux
2015-09-11 22:25:28
、進(jìn)程調(diào)度、時(shí)間管理和定時(shí)器、系統(tǒng)調(diào)用接口、內(nèi)存尋址、內(nèi)存管理和頁緩存、VFS、內(nèi)核同步以及調(diào)試技術(shù)等。同時(shí)《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)(原書第3版)》也涵蓋了Linux 2.6內(nèi)核中頗具特色的內(nèi)容,包括
2015-09-12 00:17:20
的挑戰(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
在上了Linux內(nèi)核這門課后,我對(duì)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í)內(nèi)核,你首先要會(huì)用Linux,知道Linux是如何操作,繼而才能了解Linux怎么調(diào)用系統(tǒng)底層驅(qū)動(dòng)的。當(dāng)時(shí)的我只是知道Linux是獨(dú)立于Windows的另一個(gè)操作系統(tǒng)。但是由于其開源免費(fèi)的...
2021-11-05 09:05:08
,內(nèi)核被劃分為多個(gè)子系統(tǒng)。Linux 也可以看作是一個(gè)整體,因?yàn)樗鼤?huì)將所有這些基本服務(wù)都集成到內(nèi)核中。這與微內(nèi)核的體系結(jié)構(gòu)不同,后者會(huì)提供一些基本的服務(wù),例如通信、I/O、內(nèi)存和進(jìn)程管理,更具體的服務(wù)
2018-08-27 10:31:28
摘要:你馬上就會(huì)發(fā)現(xiàn),你也可以獲得(get),配置(configure),編譯(compile)和安裝(install)屬于你自己的Linux內(nèi)核(Kernel)。目錄:引言安裝內(nèi)核源碼配置內(nèi)核
2016-11-10 12:16:18
這幾種常見的薄膜電阻器你都了解嗎?
2021-06-07 06:30:26
。 為了提供同步,內(nèi)核可以禁用中斷,無論是單個(gè)中斷還是全部中斷。 但是,在Linux中,中斷處理程序不是在進(jìn)程上下文中運(yùn)行,而是在不與任何進(jìn)程相關(guān)聯(lián)的中斷上下文中運(yùn)行,這種特殊的中斷上下文僅是為了讓中斷
2021-09-24 09:11:03
Linux內(nèi)核中文版教程
2009-03-28 09:45:49
0 本章學(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 你需要了解的嵌入式Linux
今天,Linux 正廣泛應(yīng)用于各種嵌入式設(shè)備的開發(fā)中,如數(shù)字電視、機(jī)頂盒、DVR播放器、xDSL/有線/PON調(diào)制解調(diào)器、家用路由器和網(wǎng)關(guān)。它尤其適
2010-01-18 16:19:36
867 
如果你能正確回答以下問題并理解相關(guān)知識(shí)點(diǎn)原理,那么你就可以算得上是基本合格的Linux內(nèi)核開發(fā)工程師,試試看! 1) Linux中主要有哪幾種內(nèi)核鎖? 2) Linux中的用戶模式和內(nèi)核模式是
2011-12-01 16:11:08
51 linux內(nèi)核kernel-api,不知道從哪兒找的了,但是你如果想要做內(nèi)核編程,這是一部api函數(shù)詳盡的工具書!!!五星推薦
2015-10-30 17:16:30
19 linux啟動(dòng)時(shí)內(nèi)核解壓過程分析,一份不錯(cuò)的文檔,深入了解內(nèi)核必備
2016-03-09 13:39:39
1 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 內(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 REDSonic, Inc. REDSonic的RedIce-Linux是一個(gè)實(shí)時(shí)Linux內(nèi)核,設(shè)計(jì)來支持以任務(wù)和時(shí)間為臨界的應(yīng)用,為你的系統(tǒng)提供質(zhì)量服務(wù)。RedIce-Linux包括高精度的微秒
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 
模塊編程屬于內(nèi)核編程,因此,除了對(duì)內(nèi)核相關(guān)知識(shí)有所了解外,還需要了解與模塊相關(guān)的知識(shí)。
2018-08-24 17:15:46
8 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:00
4865 給出了整個(gè)Linux操作系統(tǒng)2.6內(nèi)核的概觀,使你能通過閱讀迅速獲得一個(gè)overview。而且對(duì)內(nèi)核中較為混亂的部分(如下半部),它的講解是最透徹的。對(duì)沒怎么深入內(nèi)核的人來說,這是強(qiáng)烈推薦的一本書。
2018-10-15 18:20:52
0 了解如何配置和使用Linux內(nèi)核printk功能,包括其動(dòng)態(tài)調(diào)試功能。
這樣可以選擇性地打印調(diào)試消息,而無需重新編譯內(nèi)核。
2018-11-27 06:40:00
3556 RTC(real time clock)實(shí)時(shí)時(shí)鐘,主要作用是給Linux系統(tǒng)提供時(shí)間。RTC因?yàn)槭请姵毓╇姷模缘綦姾髸r(shí)間不丟失。Linux內(nèi)核把RTC用作“離線”的時(shí)間與日期維護(hù)器。
2019-04-26 15:50:47
2225 
嵌入式Linux系統(tǒng)使用的是Linux內(nèi)核,制作方法基本和X86平臺(tái)的Linux內(nèi)核一致,下面介紹制作運(yùn)行于micro2440開發(fā)板的內(nèi)核和根文件系統(tǒng)。
2019-04-28 15:13:36
1005 Linux內(nèi)核代碼的龐大令不少人“望而生畏”,也正因?yàn)槿绱耍沟萌藗儗?duì)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驅(qū)動(dòng)程序一般工作在內(nèi)核空間,但也可以工作在用戶空間。下面我們將詳細(xì)解析,什么是內(nèi)核空間,什么是用戶空間,以及如何判斷他們
2019-05-06 16:13:00
970 Linux 系統(tǒng)日志非常重要,后臺(tái)運(yùn)行的程序(通常被稱為守護(hù)進(jìn)程或者服務(wù)進(jìn)程)處理了你 Linux 系統(tǒng)中的大部分任務(wù)。
2019-05-06 16:39:00
943 在內(nèi)核調(diào)試技術(shù)之中,最簡單的就是printk的使用了,它的用法和C語言應(yīng)用程序中的printf使用類似,在應(yīng)用程序中依靠的是stdio.h中的庫,而在linux內(nèi)核中沒有這個(gè)庫,所以在linux內(nèi)核中,使用這個(gè)printk就要對(duì)內(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)系。(這話說得絕對(duì),但我目前看來就是這樣)我們更多的時(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í)行單元對(duì)共享數(shù)據(jù)的訪問。
2019-05-12 08:26:00
880 Linux 內(nèi)核提供一套雙向鏈表的實(shí)現(xiàn),你可以在 include/linux/list.h 中找到。我們以雙向鏈表著手開始介紹 Linux 內(nèi)核中的數(shù)據(jù)結(jié)構(gòu) ,因?yàn)檫@個(gè)是在 Linux 內(nèi)核中使用最為廣泛的數(shù)據(jù)結(jié)構(gòu)。
2019-05-14 17:27:00
2115 Linux內(nèi)核同步機(jī)制,挺復(fù)雜的一個(gè)東西,常用的有自旋鎖,信號(hào)量,互斥體,原子操作,順序鎖,RCU,內(nèi)存屏障等。
2019-05-14 14:10:38
935
已全部加載完成
評(píng)論