linux核心

1/10ページ

《Linux核心設計與實現》——程序地址空間

一、地址空間   1、程序地址空間由程序可定址的虛擬地址組成,而且核心允許程序使用這種虛擬記憶體中的地址。     1)、每個程序都有一個32位或64位的平坦地址空間,空間的具體大小取決於體系結構。術語平坦指的是地址空間範圍是一個獨立的連續空間。     2)、通常情況下,每個程序都有唯一的這種平坦 […]

可重入核心和程序地址空間–深入理解linux核心

    可重入核心,是指多個程序可以同時處於核心態下,也就是說可以多個程序可以併發的執行核心程式碼。對於但處理器來說某一時刻只能有一個程序被CPU處理,其他處於核心態的程序處於阻塞或者掛起等待狀態。         對於linux來說,可重入核心程式碼包含可重入函式和非可重入函式。    可重入函式 […]

深入淺出linux之前言

    中國人說“名正則言順”,說明了起名字的重要性。   前賢已經有了深入linux核心。我們後人,站在前賢的肩膀上,自然不敢稱“深入”,所 以淺出就是本文的宗旨。     筆者這幾年來,先後組織了多個培訓講座或者交流之類的會議,面試超過百人,和國內多 個公司的工程師有過交流,發現兩個有趣的現象: […]

《Linux核心設計與實現》——塊I/O層

一、概論   1、系統中能夠隨機(不需要按順序)訪問固定大小資料片的硬體裝置稱作塊裝置,這些固定大小的資料片就稱作快。   2、如果一個硬體裝置是以字元流的方式被訪問的話,那就應該將它歸於字元裝置;相反嗎如果一個裝置是隨機訪問,那麼它就屬於塊裝置。   3、記憶體管理快裝置要比管理字元裝置細緻得多, […]

中斷上半部,下半部/軟中斷/tasklet/工作佇列

在閱讀本文之前,可以先行閱讀:中斷上下文、程序上下文 本文回答了為什麼引入中斷上部分、下部分以及上半部和下半部各自的分工;同時重點分析了下半部的三種機制及tasklet和工作佇列的使用模組,能對整個框架有一個清晰的認識。 1. 為什麼引入中斷上半部、下半部 (1)為了解決一個矛盾體:又想中斷處理程式 […]

softirq(軟中斷)下半部中tasklet與workqueue的區別,整合

一、中斷處理的tasklet(小任務)機制 中斷服務程式一般都是在中斷請求關閉的條件下執行的,以避免巢狀而使中斷控制複雜化。但是,中斷是一個隨機事件,它隨時會到來,如果關中斷的時間太長,CPU就不能及時響應其他的中斷請求,從而造成中斷的丟失。因此,Linux核心的目標就是儘可能快的處理完中斷請求,盡 […]

linux中斷–中斷下半部機制的使用 & 中斷程式設計

中斷程式一般會包含在某個裝置的驅動程式中,因此,中斷處理程式本質上還是一個核心模組。在上篇文章中也看到了一個簡單的中斷處理流程和核心模板的寫法非常相似。但是那個中斷是最簡單的中斷,沒有用到中斷處理的下半部的處理機制,在別的文章中也講述了下半部的處理機制,這裡簡單的使用介紹下! 上文中我們通過一個簡單 […]

Linux 中斷詳解

原文地址 http://www.yesky.com/20010813/192117.shtml 方法之三:以資料結構為基點,觸類旁通   結構化程式設計思想認為:程式 =資料結構 +演算法。資料結構體現了整個系統的構架,所以資料結構通常都是程式碼分析的很好的著手點,對Linux核心分析尤其如此。比如 […]