內核調試的難點在於它不能像用戶態程序調試那樣打斷點,隨時暫停查看各個變量的狀態。 也不能像用戶態程序那樣崩潰后迅速的重啟,恢復初始狀態。 用戶態程序和內核交互,用戶態程序的各種狀態,錯誤等可以由內核來捕獲並顯示。 而內核是直接和硬件交互的,內核出錯之后整個系統就無法正常運行了,所以要想 ...
主要內容: 什么是系統調用 Linux上的系統調用實現原理 一個簡單的系統調用的實現 . 什么是系統調用 簡單來說,系統調用就是用戶程序和硬件設備之間的橋梁。 用戶程序在需要的時候,通過系統調用來使用硬件設備。 系統調用的存在,有以下重要的意義: 用戶程序通過系統調用來使用硬件,而不用關心具體的硬件設備,這樣大大簡化了用戶程序的開發。 比如:用戶程序通過write 系統調用就可以將數據寫入文件,而 ...
2012-09-17 09:58 0 9528 推薦指數:
內核調試的難點在於它不能像用戶態程序調試那樣打斷點,隨時暫停查看各個變量的狀態。 也不能像用戶態程序那樣崩潰后迅速的重啟,恢復初始狀態。 用戶態程序和內核交互,用戶態程序的各種狀態,錯誤等可以由內核來捕獲並顯示。 而內核是直接和硬件交互的,內核出錯之后整個系統就無法正常運行了,所以要想 ...
存在共享資源(共享一個文件,一塊內存等等)的時候,為了防止並發訪問時共享資源的數據不一致,引入了同步機制。 主要內容: 同步的概念 同步的方法-加鎖 死鎖 鎖的粒度 ...
。 1. 簡單。2. 高效:所有內核都在一個大的地址空間上,所以內核各個功能之間的調用和調用函數類似,幾乎 ...
在嘗試內核開發之前,需要對內核有個整體的了解。 主要內容: 獲取內核源碼 內核源碼的結構 編譯內核的方法 內核開發的特點 1. 獲取內核源碼 內核是開源的,所有獲取源碼特別方便,參照以下的網址,可以通過git或者直接下載壓縮好的源碼包。 http ...
進程是所有操作系統的核心概念,同樣在linux上也不例外。 主要內容: 進程和線程 進程的生命周期 進程的創建 進程的終止 1. 進程和線程 進程和線程是程序運行時狀態,是動態變化的,進程和線程的管理操作(比如,創建,銷毀等)都是有內核來實現的。 Linux中的進程 ...
中斷處理一般不是純軟件來實現的,需要硬件的支持。通過對中斷的學習有助於更深入的了解系統的一些底層原理,特別是驅動程序的開發。 主要內容: 什么是中斷 中斷類型 中斷相關函數 中斷處理機制 中斷控制方法 總結 1. 什么是中斷 為了提高CPU和外圍硬件 ...
本章主要討論與linux的設備驅動和設備管理的相關的4個內核成分,設備類型,模塊,內核對象,sysfs。 主要內容: 設備類型 內核模塊 內核對象 sysfs 總結 1. 設備類型 linux中主要由3種類型的設備,分別是: 設備 ...
內核的內存使用不像用戶空間那樣隨意,內核的內存出現錯誤時也只有靠自己來解決(用戶空間的內存錯誤可以拋給內核來解決)。 所有內核的內存管理必須要簡潔而且高效。 主要內容: 內存的管理單元 獲取內存的方法 獲取高端內存 內核內存的分配方式 總結 1. 內存的管理 ...