linux核心 聽課筆記

2021-08-30 23:22:57 字數 1401 閱讀 4175

[size=x-large]核心空間+使用者空間[/size]

通過[color=red]系統呼叫和硬體中斷[/color]完成從使用者空間到核心空間的轉移

[img]

[size=x-large]核心七大組成[/size]

sci: 為使用者空間提供[color=red]標準的系統呼叫函式[/color]

pm: 程序排程(fork, exec, kill, exit, 通訊)

mm: 記憶體管理

vfs: 為檔案操作提供統一的介面

network stack: 網路協議棧

arch: 特定的cpu體系架構

dd: 裝置驅動

[img]

[size=x-large]編譯核心[/size]

[size=medium]1 清理[/size]

make clean 清除生成的檔案, 但儲存配置

make mrproper 清除生成的檔案和配置

make distclean mrproper+刪除編輯器的bak檔案和補丁檔案

[size=medium]2 確定目標系統的軟硬體配置[/size]

[size=medium]3 配置核心[/size]

make config 文字模式

make menuconfig 選單模式

make oldconfig 文字模式配置新特性

make xconfig 圖形化配置

[size=medium]4 編譯核心[/size]

make zimage

make bzimage

區別: 在x86平台, zimage只能用於小於512k的核心

編譯選項為*的檔案

編譯好的核心位於arch//boot/目錄下

本機正在執行的核心的配置檔案是/boot/config-版本.el5

[size=medium]5 編譯核心模組[/size]

make modules

編譯選項為m的檔案

[size=medium]6 安裝核心模組[/size]

make modules_install

將編譯好的核心模組複製到/lib/modules下

[size=medium]7 製作int ramdisk[/size]

mkinitrd initrd-$version $version

例如:mkinitrd initrd-2.6.29 2.6.29

$version可以到/lib/modules下的目錄得到

[size=x-large]核心安裝(x86平台)[/size]

1 cp arch/x86/boot/bzimage /boot/vmlinuz=$version

2 cp $initrd /boot/

3 修改/etc/grub.config

聽課筆記 三

任何變數未經宣告就賦值屬於全域性變數,為全域性物件所有 a 123 一切宣告的全域性變數,全是window的屬性 var a 123 function test var a b 123 b屬於window,因為b未宣告就被賦值,暗示性變數 過程 1 建立ao物件 執行期上下文 2.找函式形參和變數宣...

spring聽課筆記

spring預設的事務回滾原則 unchecked exception或者範圍小點說 runtimeexception時事務會回滾 而checkedexception事務不會回滾,如空指標異常 spring解決中文亂碼問題 新增spring 內建的過濾器 org.springframework.we...

Oracle聽課筆記

資料庫物件 又稱模式物件 同義詞是現有物件的乙個別名 作用1.簡化sql 2.隱藏物件名稱和所有者 3.提供對物件的公共訪問 私有同義詞 create synonym emp syn for scott.emp 公有同義詞 create public synonym emp syn for scot...