制作Linux内核
《linux內核簡介》
<linux系統架構>
系統架構
?
用戶部分:
應用程序:GNU C 庫
內核部分:系統調用接口、內核、體系結構相關代碼(與硬件相關的代碼)
劃分原因:不同的運行空間所能訪問的寄存器,訪問的設備是不一樣,其目的就是為了保護操作系統
兩種狀態的轉換:系統調用和硬件中斷可以完成兩種模式的轉換
?
內核架構
system call interface(SCI)系統調用接口:resd(),write(),open()
process management(MM)進程管理:進程的創建,進程刪除,進程調度
virtual file system(VFS):虛擬文件
memory managment(MM):內存管理 :內存分配,內存的回收
network stack:網絡協議棧,主要負責實現網絡協議
arch(Architecture):體系結構代碼,就是和cpu密切相關的代碼
device drivers:設備驅動程序
?
《linxu 源代碼》
<源代碼下載>
www.kernel.org
?
<目錄結構>
?
arch:arch 是archticture ?的縮寫,里面包含內核所支持的美中CPU結構體系,沒給CPU 的子目錄又包括boot ,mm ,kernel 等子目錄,即系統引導,內存管理,系統調用
documentation :內核文檔,存放驅動使用方法,內存更新記錄
driver :驅動程序
include:內核所需要的頭文件,與平臺無關的文件放在include/linux 子目錄下,與平臺相關的頭文件則放在相應的子目錄中。
fs:file system .存放各種文件系統實現代碼,每個子目錄存放一個對應的文件系統 的實現代碼,公用的源程序用于實現虛擬文件系統(vfs)
net: 網路協議實現代碼(注意:不是網卡驅動)
?
<.source insight>
1)創建新工程(注意:在那個盤創建文件就需要將將要閱讀的源代碼放在該盤,否者找不到,同時注意勾選添加配置文件選項)
1)添加源代碼,將需要添加的文件添加好以后,點擊同步按鈕(注意:該按鈕有點像書)
?
?
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
轉載于:https://www.cnblogs.com/big-devil/p/8589927.html
總結
- 上一篇: TOML-to-Go : 帮你快速生成
- 下一篇: nodejs微服务