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目錄應當保證原封不動。
核心原始碼樹由很多目錄組成,而大多數目錄又包含更多的子目錄。原始碼樹的根目錄及其子目錄如表所示。
1.配置項目錄 描述
arch 特定體系結構的原始碼
crypto crypto api
documentation 核心原始碼文件
drivers 裝置驅動程式
fs vfs和各種檔案系統
include 核心標頭檔案
init 核心引導和初始化
ipc 程序間通訊**
kernel 像排程程式這樣的核心子系統
lib 通用核心函式
mm 記憶體管理子系統和vm
net 網路子系統
scripts 編譯核心所用的指令碼
security linux安全模組
sound 語音子系統
usr 早期使用者空間** (所謂的 initramfs)
linux核心程式設計與使用者空間內應用程式開發的差異字元頁面的命令列工具:
make config
圖形介面工具:
make menuconfig
基於預設配置為體系結構建立乙個配置:
make defconfig
驗證和更新配置:
make oldconfig
核心開發者使用的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,值越大優先順序越低...