原文:《Linux內核設計與實現》讀書筆記(九)- 內核同步介紹

存在共享資源 共享一個文件,一塊內存等等 的時候,為了防止並發訪問時共享資源的數據不一致,引入了同步機制。 主要內容: 同步的概念 同步的方法 加鎖 死鎖 鎖的粒度 . 同步的概念 了解同步之前,先了解另外 個概念: 臨界區 也稱為臨界段,就是訪問和操作共享數據的代碼段。 競爭條件 個或 個以上線程在臨界區里同時執行的時候,就構成了競爭條件。 所謂同步,其實防止在臨界區中形成競爭條件。 如果臨界區 ...

2013-04-24 17:56 5 3891 推薦指數:

查看詳情

Linux內核設計實現讀書筆記(十)- 內核同步方法

內核中提供了多種方法來防止競爭條件,理解了這些方法的使用場景有助於我們在編寫內核代碼時選用合適的同步方法, 從而即可保證代碼中臨界區的安全,同時也讓性能的損失降到最低。 主要內容: 原子操作 自旋鎖 讀寫自旋鎖 信號量 讀寫信號量 互斥體 完成變量 大內核鎖 ...

Wed May 01 19:16:00 CST 2013 8 11584
Linux內核設計實現讀書筆記(二)- 內核開發的准備

在嘗試內核開發之前,需要對內核有個整體的了解。 主要內容: 獲取內核源碼 內核源碼的結構 編譯內核的方法 內核開發的特點 1. 獲取內核源碼 內核是開源的,所有獲取源碼特別方便,參照以下的網址,可以通過git或者直接下載壓縮好的源碼包。 http ...

Thu Aug 16 18:20:00 CST 2012 0 9491
Linux內核設計實現讀書筆記(十八)- 內核調試

內核調試的難點在於它不能像用戶態程序調試那樣打斷點,隨時暫停查看各個變量的狀態。 也不能像用戶態程序那樣崩潰后迅速的重啟,恢復初始狀態。 用戶態程序和內核交互,用戶態程序的各種狀態,錯誤等可以由內核來捕獲並顯示。 而內核是直接和硬件交互的,內核出錯之后整個系統就無法正常運行了,所以要想 ...

Sat Jan 04 17:03:00 CST 2014 2 5409
Linux內核設計實現讀書筆記(三)- Linux的進程

進程是所有操作系統的核心概念,同樣在linux上也不例外。 主要內容: 進程和線程 進程的生命周期 進程的創建 進程的終止 1. 進程和線程 進程和線程是程序運行時狀態,是動態變化的,進程和線程的管理操作(比如,創建,銷毀等)都是有內核實現的。 Linux中的進程 ...

Tue Aug 21 01:42:00 CST 2012 2 10922
Linux內核設計實現讀書筆記(七)- 中斷處理

中斷處理一般不是純軟件來實現的,需要硬件的支持。通過對中斷的學習有助於更深入的了解系統的一些底層原理,特別是驅動程序的開發。 主要內容: 什么是中斷 中斷類型 中斷相關函數 中斷處理機制 中斷控制方法 總結 1. 什么是中斷 為了提高CPU和外圍硬件 ...

Fri Apr 19 19:38:00 CST 2013 0 8441
Linux內核設計實現讀書筆記(十七)- 設備與模塊

本章主要討論與linux的設備驅動和設備管理的相關的4個內核成分,設備類型,模塊,內核對象,sysfs。 主要內容: 設備類型 內核模塊 內核對象 sysfs 總結 1. 設備類型 linux中主要由3種類型的設備,分別是: 設備 ...

Wed Dec 25 05:52:00 CST 2013 0 4572
Linux內核設計實現讀書筆記(十二)- 內存管理

內核的內存使用不像用戶空間那樣隨意,內核的內存出現錯誤時也只有靠自己來解決(用戶空間的內存錯誤可以拋給內核來解決)。 所有內核的內存管理必須要簡潔而且高效。 主要內容: 內存的管理單元 獲取內存的方法 獲取高端內存 內核內存的分配方式 總結 1. 內存的管理 ...

Fri May 24 06:34:00 CST 2013 15 18108
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM