信號機制是類UNIX系統中的一種重要的進程間通信手段之一。我們經常使用信號來向一個進程發送一個簡短的消息。例如:假設我們啟動一個進程通過socket讀取遠程主機發送過來的網絡數據包,此時由於網絡因素當前主機還沒有收到相應的數據,當前進程被設置為可中斷
目錄:內核模塊路徑查看已加載的內核加載與卸載內核模塊修改內核參數Linux內核采用的是模塊化技術,這樣的設計使得系統內核可以保持最小化,同時確保了內核的可擴展性與可維護性,模塊化設計允許我們在需要時才將模塊加載至內核,實現動態內核調整。本文重點關注方
我們知道 Linux 是 multi-tasking 的環境,同時可以有很多人執行很多的程序。這是從 user 的觀點來看的。如果就 kernel 的觀點來看,是沒有所謂的 multi-tasking 的。在 kernel 裡,只有 single-t
在開發內核模塊或驅動時,如果處理失誤,導致內核線程中出現死鎖或者死循環,你會發現,除了重啟之外,你沒有任何可以做的。這時你的輸入不起任何作用,終端(不是指遠程的ssh工具)只會在那重復的輸出類似“BUG: soft lockup - CP
為了抓住一個自定義的內核函數是如何被執行的,需要一定的調試手段,其實就需要一種跟蹤手段就可以了,理論上不太復雜,可是Linux內核的調試接口太多了,始終找不到一個方便的,直到遇到了ftrace,它簡單的使用文件系統作為接口,不需要安裝任何用戶態程序,
地址空間布局隨機化(ASLR)是一項增加安全性的技術,攻擊者發現漏洞之後開始編寫exploit時如果要考慮繞過ASLR這會增加編寫exploit的難度,最早是2001年Grsecurity社區(強悍的社區,直到今天還在為各種各樣的加固為自由軟件安全社
函數功能描述:struct page alloc_pages(unsigned int flags, unsigned int order);函數以gfp_mask分配方式分配2的order次方(1<<order)個*連續的物理頁*。分配
Kernel version:2.6.32CPU architecture:ARM•memcpy是把src指向的對象中的size個字符拷貝到dest所指向的對象中,返回指向結果對象的指針. •memmove也是把src
前些天寫一個驅動模塊。竟然寫內核模塊Makefile時出了問題,於是將其總結下來,下次再用時拿過來改下就行了。#General Purpose Makefile for Linux Kernel module by guoqingboKERN_DIR
Linux內核2.3.38版本裡面沒有gpio-bank-m.h這個頭文件,在linux-2.6.38\arch\arm\mach-s3c64xx\include\mach找不到,gpio-bank-a.h等其他口的頭文件卻都在,在linux-2.6
如何單步調試Linux內核一直困擾著linux驅動開發人員,內核有其代碼量大、邏輯復雜、與硬件交互的特性。因此,有著不同於應用程序的調試方法,據統計Linux內核開發者使用最普遍的調試方法是printk方法,而其他的方法大多是在特殊情況下才會使用。本
接上文《Linux內核驅動開發之KGDB單步調試內核(kgdboc方式) http://www.linuxidc.com/Linux/2013-06/86233.htm 》。上篇文章中,僅簡單介紹使用串口的Kgbd的流程(kgdboc方式),本文將重
內核通知鏈1.1. 概述Linux內核中各個子系統相互依賴,當其中某個子系統狀態發生改變時,就必須使用一定的機制告知使用其服務的其他子系統,以便其他子系統采取相應的措施。為滿足這樣的需求,內核實現了事件通知鏈機制(notificationchain)
說明:只供學習交流目的:(1):配置、編譯X86平台下的Linux-2.6.29內核(2):在vmware下安裝編譯好的內核並啟動工具:Gcc編譯器, Linux-2.6.29內核步驟:(一):清除臨時文件,中間文件和配置文件等(剛從網上下載下來的文
Linux內核,顧名思義,就是linux系統的核心,負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。簡單的介紹點內核的相關知識,如有不當之處,還請大家批評指正!本文以我實驗的系統為例,系統為Red Hat 5.5[r
將Linux 移植到新的體系結構時,開發者遇到的若干問題都與不正確的數據類型有關。堅持使用嚴格的數據類型和使用 -Wall -Wstrict-prototypes 進行編譯可能避免大部分的 bug。-Wall顯示所有的警告-Wstrict-proto
開篇學習內核,每個人都有自己的學習方法,仁者見仁智者見智。以下是我在學習過程中總結出來的東西,對自身來說,我認為比較有效率,拿出來跟大家交流一下。內核學習,一偏之見;疏漏難免,懇請指正。為什麼寫這篇博客剛開始學內核的時候,不要執著於一個方面,不要專
模塊是具有獨立功能的程序,它能被單獨編譯,但不能獨立運行。它可以在系統運行時動態的被鏈接到內核中作為內核的一部分在內核空間運行,所以內核模塊提高了內核的可擴展性。查看當前系統中已經加載了哪些模塊的方法是:1. 使用lsmod命令進行查看,sh-3.2