存在共享資源(共享一個文件,一塊內存等等)的時候,為了防止並發訪問時共享資源的數據不一致,引入了同步機制。 主要內容: 同步的概念 同步的方法-加鎖 死鎖 鎖的粒度 1. 同步的概念 了解同步之前,先了解另外2個概念: 臨界區 - 也稱為臨界段 ...
內核中提供了多種方法來防止競爭條件,理解了這些方法的使用場景有助於我們在編寫內核代碼時選用合適的同步方法, 從而即可保證代碼中臨界區的安全,同時也讓性能的損失降到最低。 主要內容: 原子操作 自旋鎖 讀寫自旋鎖 信號量 讀寫信號量 互斥體 完成變量 大內核鎖 順序鎖 禁止搶占 順序和屏障 總結 . 原子操作 原子操作是由編譯器來保證的,保證一個線程對數據的操作不會被其他線程打斷。 原子操作有 類: ...
2013-05-01 11:16 8 11584 推薦指數:
存在共享資源(共享一個文件,一塊內存等等)的時候,為了防止並發訪問時共享資源的數據不一致,引入了同步機制。 主要內容: 同步的概念 同步的方法-加鎖 死鎖 鎖的粒度 1. 同步的概念 了解同步之前,先了解另外2個概念: 臨界區 - 也稱為臨界段 ...
本篇簡單介紹內核相關的基本概念。 主要內容: 單內核和微內核 內核版本號 1. 單內核和微內核 原理 優勢 劣勢 單內核 整個內核都在一個大內核地址空間上運行 ...
在嘗試內核開發之前,需要對內核有個整體的了解。 主要內容: 獲取內核源碼 內核源碼的結構 編譯內核的方法 內核開發的特點 1. 獲取內核源碼 內核是開源的,所有獲取源碼特別方便,參照以下的網址,可以通過git或者直接下載壓縮好的源碼包。 http ...
內核調試的難點在於它不能像用戶態程序調試那樣打斷點,隨時暫停查看各個變量的狀態。 也不能像用戶態程序那樣崩潰后迅速的重啟,恢復初始狀態。 用戶態程序和內核交互,用戶態程序的各種狀態,錯誤等可以由內核來捕獲並顯示。 而內核是直接和硬件交互的,內核出錯之后整個系統就無法正常運行了,所以要想 ...
進程是所有操作系統的核心概念,同樣在linux上也不例外。 主要內容: 進程和線程 進程的生命周期 進程的創建 進程的終止 1. 進程和線程 進程和線程是程序運行時狀態,是動態變化的,進程和線程的管理操作(比如,創建,銷毀等)都是有內核來實現的。 Linux中的進程 ...
主要內容: 什么是系統調用 Linux上的系統調用實現原理 一個簡單的系統調用的實現 1. 什么是系統調用 簡單來說,系統調用就是用戶程序和硬件設備之間的橋梁。 用戶程序在需要的時候,通過系統調用來使用硬件設備。 系統調用的存在,有以下重要的意義: 1)用戶程序 ...
中斷處理一般不是純軟件來實現的,需要硬件的支持。通過對中斷的學習有助於更深入的了解系統的一些底層原理,特別是驅動程序的開發。 主要內容: 什么是中斷 中斷類型 中斷相關函數 中斷處理機制 中斷控制方法 總結 1. 什么是中斷 為了提高CPU和外圍硬件 ...
本章主要討論與linux的設備驅動和設備管理的相關的4個內核成分,設備類型,模塊,內核對象,sysfs。 主要內容: 設備類型 內核模塊 內核對象 sysfs 總結 1. 設備類型 linux中主要由3種類型的設備,分別是: 設備 ...