《Linux核心程式設計指南》心得之二

2021-04-17 04:33:42 字數 640 閱讀 3890

1.執行中的程式只有中斷和系統呼叫可以打斷,而系統呼叫只是特殊的中斷.

2.linux中沒有將執行緒與程序在記憶體上進行區分.

3.可以用sysctl介面修改系統任務的數量max_threads.

4.由於對稱多處理(**p)被支援,原來用於登記當前執行任務的全域性變數struct task_struct *current需要進行擴充套件(每個處理器有乙個任務):

#define current get_current()

inline struct task_struct *get_current()

注意此處任務結構處於效率緣故被放置在實際任務的堆疊段中.用這種巨集定義的方法就將current擴充套件了.

5.系統時間記錄在全域性變數jiffies中.

6.linux2.4引入軟體中斷的概念,乙個軟中斷就像乙個硬體中斷一樣,但是它們不象硬體中斷一樣立即開始,而是在一定的時間開始,實際上,軟體中斷在每個硬體中斷和系統呼叫之後發生.

7.linux程序的虛擬位址空間是分段的,在核心段與使用者段之間有區別.

8.fork函式的乙個替代:clone函式可以與原程序共享位址空間,並實現寫前複製.

9.linux通過使用共享資源,核心資料結構和"互斥"同步系統mutex實現了所有程序間通訊的可能形式(有連線的,無連線的).

核心模組程式設計入門之二

模組程式設計屬於核心程式設計,因此,除了對核心相關知識有所了解外,還需要了解與模組相關的知識。1 應用程式與核心模組的比較 為了加深對核心模組的了解,表一給出應用程式與核心模組程式的比較。表一 應用程式與核心模組程式的比較 c語言應用程式 核心模組程式 使用函式 libc庫 核心函式 執行空間 使用...

Linux音訊程式設計指南 二

四 應用框架在linux下進行音訊程式設計時,重點在於如何正確地操作音效卡驅動程式所提供的各種裝置檔案,由於涉及到的概念和因素比較多,所以遵循乙個通用的框架無疑將有助於簡化應用程式的設計。4.1 dsp程式設計 對音效卡進行程式設計時首先要做的是開啟與之對應的硬體裝置,這是借助於open系統呼叫來完...

Linux核心設計與實現 之二 從核心出發

獲取核心源 從linux官方核心 可以隨意獲取 http www.kernel.org 安裝核心源 解壓縮 tar xvjf linux x.y.z.tar.bz2 不要把 usr src linux 目錄下的原始碼作為開發 使用補丁 patch pl patch x.y.z 編譯核心 1.配置 可...