原创 轉載 linux 2.6內核進程管理

linux 2.6內核進程管理     linux每個進程對應一個task_struct類型結構。該結構包含進程相關的所有信息。linux進程通過list_head組織雙向鏈表,每一個結點就是一個進程描述符。進程描述符裏面包含了進程所

原创 內核中的數據類型

第 11 章 內核中的數據類型  下一頁 11.4. 其他移植性問題 除了數據類型, 當編寫一個驅動時有幾個其他的軟件問題要記住, 如果你想在 Linux 平臺間可移植. 一個通常的規則是懷疑顯式的常量值. 常常通過使用預

原创 struct device淺析

  struct device結構體(2.6.23)  一、定義:linux/include/linux/device.h struct device {        struct klist     klist_children;  

原创 轉載 linux 2.6進程與線程

linux 2.6進程與線程     1 >    線程和進程的差別線程機制支持併發程序設計技術,在多處理器上能真正保證並行處理。而在linux實現線程很特別,linux把所有的線程都當作線程實現。linux下線程看起來就像普通

原创 GCC編譯關鍵字“__attribute__”

讓GCC編譯關鍵字“__attribute__”給你帶來方便  直接引入我們的主角(粗體部分):   int    my_printf (void *my_object, const char *my_format, ...)    __

原创 轉載 C語言面試題總彙

C語言面試題總彙     4.    static有什麼用途?(請至少說明兩種) 1.限制變量的作用域2.設置變量的存儲域7.    引用與指針有什麼區別?1) 引用必須被初始化,指針不必。2) 引用初始化以後不能被改變,指針可以改變

原创 在考慮大小端時拷貝數據

大端模式   所謂的大端模式,是指數據的低位(就是權值較小的後面那幾位)保存在內存的高地址中,而數據的高位,保存在內存的低地址中,這樣的存儲模式有點兒類似於把數據當作字符串順序處理:地址由小向大增加,而數據從高位往低位放; 小端模式  

原创 淺談linux2.4 內核中斷下半部分(softirq機制)

linux2.4 內核中斷下半部分(bottom half)理解(請結合linux2.4內核代碼看): 首先先說一下爲什麼要採用中斷下半部分: 中斷服務函數大多需要在關中斷的情況下去執行,但是有的中斷服務函數執行需要較長的時間,如果系統長

原创 設置ip及dns過程中,形如"192.001.000.020"設置不成功,需轉換爲"192.1.0.20"

//設置ip及dns過程中,形如"192.001.000.020"設置不成功,需轉換爲"192.1.0.20"CSUDI_Error_Code CSUDITcpipStrToIp(const char * pStr, char * pIp

原创 二進制數字符串轉化爲二進制數

如何將一個二進制形式的數字字符串(如“10101010”)轉化成二進制的數據類型(以char型爲例)?答:想到移位的方法。char s[] = "10101011"char s8 = 0;for(i = 0;i < 8; i++){   

原创 從大端模式buf中提取想要的位數

#define EXTRACT_32(_X)     (((U32)*(_X+0) << 24) | ((U32)*(_X+1) << 16) | ((U32)*(_X+2) <<  8) | ((U32)*(_X+3) <<  0))#

原创 工作中的主觀臆斷

        昨天遇到linux2.6下webs命令不能使用的情況,但是在另一個項目上是能用的,兩個項目上的uboot、內核都是一樣的,唯獨文件系統是裁剪過的,於是首先定位是文件系統的問題。一點一點恢復

原创 淺析container_of(ptr, type, member)

淺析container_of(ptr, type, member) #define container_of(ptr, type, member) ({                  /    const typeof( ((

原创 轉帖 copy_to_user,copy_from_user,get_user和put_user函數詳解

copy_to_user,copy_from_user,get_user和put_user函數詳解     字符設備驅動驅動的讀,寫。如:ssize_t xxx_read(struct file *filp, char __use

原创 轉載 wait隊列,及函數解析

wait隊列,及函數解析     在內核裏面,等待隊列是有很多用處的,尤其是在中斷處理、進程同步、定時等場合。有時候,一個進程可能要等待一些事件的發生,如磁盤操作結束、一些系統資源的釋放等等。等待隊列存放着是暫時資源未得到滿足的進程