1、前言 最近寫代碼需用到鏈表結構,正好公共庫有關於鏈表的。第一眼看時,覺得有點新鮮,和我之前見到的鏈表結構不一樣,只有前驅和后繼指針,而沒有數據域。后來看代碼注釋發現該代碼來自linux內核,在linux源代碼下include/Lish.h下。這個鏈表具備通用性,使用非常方便。只需要 ...
目錄 . 進程相關數據結構 x : CURRENT宏 我們知道,在windows中使用PCB 進程控制塊 來對進程的運行狀態進行描述,對應的,在linux中使用task struct結構體存儲相關的進程信息 task struct在linux sched.h文件里定義 在使用current宏的時候一定要引入這個頭文件 值得注意的是,在linux內核編程中常用的current宏可以非常簡單地獲取到指 ...
2014-08-02 11:19 2 7014 推薦指數:
1、前言 最近寫代碼需用到鏈表結構,正好公共庫有關於鏈表的。第一眼看時,覺得有點新鮮,和我之前見到的鏈表結構不一樣,只有前驅和后繼指針,而沒有數據域。后來看代碼注釋發現該代碼來自linux內核,在linux源代碼下include/Lish.h下。這個鏈表具備通用性,使用非常方便。只需要 ...
1、前言 最近寫代碼需用到鏈表結構,正好公共庫有關於鏈表的。第一眼看時,覺得有點新鮮,和我之前見到的鏈表結構不一樣,只有前驅和后繼指針,而沒有數據域。后來看代碼注釋發現該代碼來自linux內核,在linux源代碼下include/Lish.h下。這個鏈表具備通用性,使用非常方便 ...
1、前言 最近項目中用到一個環形緩沖區(ring buffer),代碼是由linux內核的kfifo改過來的。緩沖區在文件系統中經常用到,通過緩沖區緩解cpu讀寫內存和讀寫磁盤的速度。例如一個進程A產生數據發給另外一個進程B,進程B需要對進程A傳的數據進行處理並寫入文件,如果B沒有處理 ...
參考自:https://blog.csdn.net/zhanglei4214/article/details/6767288 一、hlist結構簡介 hlist_head 和 hlist_node 是位於linux內核中的數據結構,其設計初衷主要是為了減少Hash表的內存消耗 ...
本文分析的原代碼版本: 2.6.24.4 kfifo的定義文件: kernel/kfifo.c kfifo的頭文件: include/linux/kfifo.h kfifo是內核里面的一個First In First Out數據結構,它采用環形循環隊列的數據結構來實現,提供 ...
圖的定義 定義:圖是由兩個集合V和E組成的,記為\(G=(V,E)\),其中V是頂點的有窮非空集合,E是V中頂點偶對的有窮集合,這些頂點偶對稱為邊。\(V(G)\)和\(E(G)\)通常表示圖G的頂 ...
首先數據結構分為邏輯結構和物理結構,那么下面我們就來分別總結邏輯結構與物理結構 首先是邏輯結構,邏輯結構實際上是數據之間的一種相互關系,那么邏輯結構分為幾種呢? 邏輯結構{1.集合結構:集合結構中的數據元素除了同在一個集合外沒有其他任何關系,也就是很像數學中的集合 ...
基本概念 查找表:查找表是由同一類型的數據元素(或記錄)構成的集合。 關鍵字:關鍵字是數據元素(或記錄)中某個數據項的值,用它可以標識一個數據元素(或記錄) 若此關鍵字可以唯一地標識一個記錄 則稱此關鍵字為主關鍵字 反之用以識別若干記錄關鍵字為次關鍵字。 查找:查找 ...