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