總算有點感覺了,上一小章講的完全不知道什麼鬼啊
這一小章講的是linux核心源**的目錄結構
linux核心的組成部分
1:程序排程
睡眠分為可中斷睡眠和不可中斷睡眠
linux核心中,使用task_struct結構體來描述程序。該結構體中包含描述該程序記憶體資源、檔案系統資源、檔案資源、tty資源、訊號處理等的指標
2:記憶體管理
記憶體管理作用是控制多個程序安全地共享主記憶體區域。當cpu提供記憶體管理單元(mmu)時,linux記憶體管理對於每個程序完全從虛擬記憶體到物理記憶體的轉換
我發現在arm64中並沒有kernel features ->memory split
書上說可以調整核心空間和使用者空間的具體界限用的
3:虛擬檔案系統
linux虛擬檔案系統隱藏了各種硬體的具體細節,為所有裝置提供了統一的介面。它為上層提供了統一的read 和write介面,並呼叫具體底層檔案系統或者裝置驅動中實現的file operation結構體的成員函式
4:網路介面
5:程序間通訊
主要包括訊號量、共享記憶體、訊息佇列、管道、unix域套接字等
具體地還有dbus,之前分析mate-desktop的源**的時候發現他是基於dbus通訊的
6:linux只能通過系統呼叫或硬體中斷完成從使用者空間到核心空間的控制轉移
7:linux核心編譯
這一塊主要是核心menuconfig的配置和kconfig檔案等的內容
報錯怎麼加新驅動的配置檔案等
8:linux核心的引導
對於arm來說,一般soc內嵌了bootrom,上電時bootrom執行,對於cpu0,bootrom會去引導bootloader,而其他cpu則判斷自己不是cpu0,進入wfi狀態等待cpu0來
中斷喚醒。
3 3 Linux獲取系統資訊 5 6 7節
1 隨機數是隨機出現,沒有任何規律的一組數列。2 真正的完全隨機的數列是不存在的,只是一種理想情況。我們平時要用到隨機數時一般只能通過一些演算法得到乙個偽隨機數序列。3 我們平時說到隨機數,基本都指的是偽隨機數。1 連續多次呼叫rand函式可以返回乙個偽隨機數序列 2 srand函式用來設定rand...
網路安全筆記 33 Linux的Nginx安裝
安裝編譯工具和開發環境包 yum y install pcre devel zlib devel 建立執行使用者和組 useradd m s sbin nologin nginx 不需要家目錄,不登入系統 編譯安裝 解壓縮安裝 tar zxf nginx 1.6.2.tar.gz cd nginx ...
Linux 核心組成
linux 核心是乙個龐大而複雜的作業系統的核心,不過儘管龐大,但是卻採用子系統和分層的概念很好地進行了組織。通過本專題,我們可以學習 linux 的分層架構 核心配置和編譯 核心效能除錯和 linux 2.6 中的許多提公升功能。linux 核心組成 linux 核心的主要元件有 系統呼叫介面 程...