《Linux核心設計與實現》讀書筆記 第一二章

2022-08-31 19:54:22 字數 1595 閱讀 6152

linux是類unix系統,但不是unix。linux沒有直接使用unix的源**,但它沒有拋棄unix的設計目標並且保證了應用程式程式設計介面的一致。

linux核心是自由公開軟體

linux用途廣泛,linux系統的基礎是核心、c庫、工具集和系統的基本工具。一般情況下linux這個詞彙主要還是指核心。

處理器在任何指定時間點上的活動範圍可以概括為下列三者之一:

1.作業系統可分為兩大陣營:單核心、微核心。第三大陣營是外核心(主要用於科研系統)。

2.linux是乙個單核心,至今linux是模組化的、多執行緒的以及核心本身可排程的作業系統。

3.linux核心和傳統unix核心的差異:

1.linux核心有兩種:穩定的(具有工業級的強度,可以廣泛應用和部署)、處於開發中的。

2.linux命名機制:

如果版本號是偶數,則核心是穩定版;如果是奇數,核心就是開發版。

這個社群最重要的論壇:linux kernel mailing list(lkml)

注意:核心源**一般安裝在/usr/src/linux目錄下,即使在安裝新核心時,/usr/src/linux目錄應當保證原封不動。

核心原始碼樹由很多目錄組成,而大多數目錄又包含更多的子目錄。原始碼樹的根目錄及其子目錄如表所示。

目錄  描述

arch 特定體系結構的原始碼

crypto crypto api

documentation 核心原始碼文件

drivers 裝置驅動程式

fs vfs和各種檔案系統

include 核心標頭檔案

init 核心引導和初始化

ipc 程序間通訊**

kernel 像排程程式這樣的核心子系統

lib 通用核心函式

mm 記憶體管理子系統和vm

net 網路子系統

scripts 編譯核心所用的指令碼

security linux安全模組

sound 語音子系統

usr 早期使用者空間** (所謂的 initramfs)

1.配置項

字元頁面的命令列工具:

make config

圖形介面工具:

make menuconfig

基於預設配置為體系結構建立乙個配置:

make defconfig

驗證和更新配置:

make oldconfig

linux核心程式設計與使用者空間內應用程式開發的差異

核心開發者使用的c語言涵蓋了iso c995標準和gnu c擴充套件特性。

Linux核心設計與實現讀書筆記 1

我現在要做的科研專案涉及到核心程式設計的知識,所以在學校的圖書館借了一本 linux核心設計與實現 英文名 linux kernel development 打算通過這本書來了解一下linux核心各部分的原理。我選擇這本書的原因很簡單 薄。全書只有二百多頁,但內容還是很全面的。翻譯質量還可以,譯者還...

linux核心設計與實現讀書筆記 記憶體管理

一 頁 記憶體管理的基本單位 頁。核心中用struct page表示物理頁,位於,屬性包括flag頁狀態 count頁的引用計數,virtual頁虛擬位址。目的在於描述物理記憶體本身而非其中的資料。1 獲得頁 核心 alloc pages gft t gft mask,order 連續分配2n個連續...

《Linux核心設計與實現》讀書筆記 程序排程

程序排程程式負責決定將哪個程序投入執行,何時執行以及執行多長時間。在執行態程序之間分配有限的處理器時間資源。多工系統分為搶占式和非搶占式。linux使用搶占式。大部分現代系統都是搶占式 io消耗型 處理器消耗型程序 把大多時間用於執行 的程序。程序優先順序 nice值 20 19,值越大優先順序越低...