原文:《Linux內核設計與實現》讀書筆記(六)- 內核數據結構

內核數據結構貫穿於整個內核代碼中,這里介紹 個基本的內核數據結構。 利用這 個基本的數據結構,可以在編寫內核代碼時節約大量時間。 主要內容: 鏈表 隊列 映射 紅黑樹 . 鏈表 鏈表是linux內核中最簡單,同時也是應用最廣泛的數據結構。 內核中定義的是雙向鏈表。 . 頭文件簡介 內核中關於鏈表定義的代碼位於: include linux list.h list.h文件中對每個函數都有注釋,這里就 ...

2013-04-16 13:21 10 17910 推薦指數:

查看詳情

linux內核數據結構之鏈表

1、前言    最近寫代碼需用到鏈表結構,正好公共庫有關於鏈表的。第一眼看時,覺得有點新鮮,和我之前見到的鏈表結構不一樣,只有前驅和后繼指針,而沒有數據域。后來看代碼注釋發現該代碼來自linux內核,在linux源代碼下include/Lish.h下。這個鏈表具備通用性,使用非常方便。只需要 ...

Mon Dec 16 04:14:00 CST 2013 9 18933
linux內核數據結構之鏈表

1、前言    最近寫代碼需用到鏈表結構,正好公共庫有關於鏈表的。第一眼看時,覺得有點新鮮,和我之前見到的鏈表結構不一樣,只有前驅和后繼指針,而沒有數據域。后來看代碼注釋發現該代碼來自linux內核,在linux源代碼下include/Lish.h下。這個鏈表具備通用性,使用非常方便 ...

Sun Feb 25 19:28:00 CST 2018 0 1549
linux內核數據結構之kfifo

1、前言   最近項目中用到一個環形緩沖區(ring buffer),代碼是由linux內核的kfifo改過來的。緩沖區在文件系統中經常用到,通過緩沖區緩解cpu讀寫內存和讀寫磁盤的速度。例如一個進程A產生數據發給另外一個進程B,進程B需要對進程A傳的數據進行處理並寫入文件,如果B沒有處理 ...

Thu Dec 19 09:24:00 CST 2013 5 29596
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內核設計實現讀書筆記(九)- 內核同步介紹

存在共享資源(共享一個文件,一塊內存等等)的時候,為了防止並發訪問時共享資源的數據不一致,引入了同步機制。 主要內容: 同步的概念 同步的方法-加鎖 死鎖 鎖的粒度 1. 同步的概念 了解同步之前,先了解另外2個概念: 臨界區 - 也稱為臨界段 ...

Thu Apr 25 01:56:00 CST 2013 5 3891
Linux內核數據結構hlist_head

參考自:https://blog.csdn.net/zhanglei4214/article/details/6767288 一、hlist結構簡介 hlist_head 和 hlist_node 是位於linux內核中的數據結構,其設計初衷主要是為了減少Hash表的內存消耗 ...

Sat Aug 11 03:35:00 CST 2018 0 1014
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM