原创 struct file_operations及struct file結構體理解轉

兩個主要數據結構如下:struct file_operations {    struct module *owner;    loff_t (*ll

原创 Linux驅動程序的工作原理轉

在Linux環境下設計驅動程序,思想簡潔,***作方便,功芤埠芮看?但是支持函數少,只能依賴kernel中的函數,有些常用的***作要自己來編寫,而且調試也不方便.本人這幾周來爲實驗室自行研製的一塊多媒體卡編制了驅動程序,獲得了一些經驗

原创 Linux設備驅動工作流程轉

6.2 Linux設備驅動工作流程 圖6.4所示爲Linux設備驅動的工作流程。在Linux系統啓動時,設備驅動將被加載。設備驅動成功加載後,將向系統反饋一個主設備號,驅動程序將根據該主設備號在/dev目錄下創建對應的設備文件。這樣,程序

原创 協議棧(轉)

協議棧是指網絡中各層協議的總和,其形象的反映了一個網絡中文件傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議。使用最廣泛的是英特網協議棧,由上

原创 Linux設備驅動程序分類轉

1.1 Linux設備驅動程序分類  Linux設備驅動程序在Linux的內核源代碼中佔有很大的比例,源代碼的長度日益增加,主要是驅動程序的增加。在Linux內核的不斷升級過程中,驅動程序的結構還是相對穩定。在2.0.xx到2.2.xx的

原创 Linux驅動入門轉

1. "hello.c" -------------------------------- /* * 這是我們的第一個源文件, * 它是一個可以加載的

原创 Linux網卡驅動程序

Linux驅動程序 工作需要寫了我們公司一塊網卡的Linux驅動程序。經歷一個從無到有的過程, 深感技術交流的重要。Linux作爲挑戰微軟壟斷的強有力武器,日益受到大家的喜 愛。真希望她能在中國迅速成長。把程序文檔貼出來,希望和大家探討L

原创 malloc()與 alloc()區別轉

malloc()與 alloc()   C語言跟內存分配方式 (1)從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。 (2)在棧上創建。在執行函數時,函數內局部變

原创 struct file結構體轉

一、定義: struct file結構體定義在/linux/include/linux/fs.h(Linux 2.6.11內核)中,其原型是: 721struct file {

原创 Linux下select調用的過程轉

Linux下select調用的過程:1.用戶層應用程序調用select(),底層調用poll())2.核心層調用sys_select() ------

原创 select()函數、poll()函數(轉載)

這裏討論的是select和poll的系統調用實現方式.首先要熟悉的是內核中爲poll和select定義的各種輸入輸出消息的含義:          

原创 內核模塊轉

以下內容只是記錄的要點,詳細看參考資料: 一、內核模塊的編寫: 1、內核模塊的代碼編寫沒有外部的函數庫可以用,只能使用內核導出的函數;這點於應用程序是有區別的,應用程序習慣於使用外部的庫函數,在編譯的時候將程序與庫函數鏈接在一起。比如說

原创 LDD3源碼學習筆記之scull_pipe轉

/*pipe.c*//*=========================================*//*驅動功能分析*/本驅動使用環形緩衝作

原创 linux網絡socket 接口轉

linux網絡socket 接口 1、socket函數:一個進程必須做的第一件事就是調用socket函數獲得一個文件描述符。 -------------------------------------------------------

原创 一個鼠標驅動程序的分析轉

一個鼠標驅動程序的分析(/driver/input/mouse/amimouse.c)   一:Input設備驅動,(我稱爲虛擬輸入設備)//drivers/input/input.c文件      input設備是一種字符設備在模塊初始