一個Linux2.6版核心字元驅動的例子

轉自:http://blog.csdn.net/racehorse/archive/2007/11/14/1884038.aspx看了《Linux裝置驅動程式》的前幾章,我結合這篇教程中給出的一個2.4版核心的字元驅動,自己編寫了一個2.6版核心的驅動程式,並且加上了詳細的注釋。這個程式很簡單,但是對初學者把握2.6版核心的字元驅動的脈絡應該有一定的協助,也可以算作我對《Linux裝置驅動程式》前幾章學習的一個小結。#globalvar.c#include <linux/module.h&

linux檔案使用權限設定

查看檔案許可權的語句:  在終端輸入:  ls -l xxx.xxx (xxx.xxx是檔案名稱)  那麼就會出現相類似的資訊,主要都是這些:  -rw-rw-r--  一共有10位元  其中: 最前面那個 - 代表的是類型  中間那三個 rw- 代表的是所有者(user)  然後那三個 rw- 代表的是組群(group)  最後那三個 r-- 代表的是其他人(other)  然後我再解釋一下後面那9位元:  r 表示檔案可以被讀(read)  w 表示檔案可以被寫(write)  x

如何在Linux上運行Mono

眾所周知,C#是Microsoft推出的.NET語言,只能在.NET平台上運行,例如Win 9x、ME、NT、2000、XP和Win CE之類的作業系統。但是,現在卻有了一個叫做Mono的項目,它的目標就是把.NET及其程式設計語言移植到非Windows的平台上。現在,C#是唯一被移植到非Windows平台的.NET語言。 在任何一個平台(作業系統+硬體體系)上,編寫和運行程式的三個最根本的需求是庫、編譯器/解譯器、運行環境。庫以類和方法(函數)的形式提供常用的常式,簡化大型程式的編寫。.NET

Grub4dos啟動linux

我的系統原來是win2k + linux 9,今天為了調試一個問題把系統升級到Windows XP,自然無法啟動linux了,我試了loadlin和grub4dos覺得還是後者功能強大使用更方便。我下載了climbing版本的grub4dos,安裝後只做了一行改動就OK了,實在是方便:title Red Hat linux on(hd0,4)kernel (hd0,4)/boot/vmlinuz root=/dev/hda5為什麼是hd4,因為我的linux

Linux—— Posix IPC

 最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節2、5、10、13。3.Linux man 命令。      先緬懷下 Stevens 大師。好那麼開始~~~~  說點不打緊的,雖說Posix IPC 是標準的IPC,是以後趨勢,但是,現在大多數應用程式仍然在使用 System V IPC機制。這裡從APUE和《深入理解Linux核心架構》一點都沒介紹,ULK也只是介紹了Posix 訊息佇列。第一條:Posix IPC都使用 “Posix IPC 名字”進行標誌。

Linux ——System V IPC

最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節3、6、11、14。3.Linux man 命令。                  緬懷Stevens 大師~~~在《深入理解Linux核心架構》中作者說過:POSIX標準已經用更為現代的方式,引入了類似的結構(即Posix IPC)。我不討論Posix的相關機制了,因為大多數應用程式仍然在使用System V IPC 。第一條:System V IPC 的名字IPC鍵: 一個進程內可能同時使用多個同一種類

Linux是如何獲知處理器數量的

Linux是如何獲知處理器數量的          Linux對SMP的支援已經相當成熟了。在配置SMP時,需要MP Spec的支援,本文簡略的描述下,Linux是如何通過MP Spec獲知CPU數量的。setup_arch()->get_smp_config()->__get_smp_config(0)->check_physptr()->smp_read_mpc()->MP_processor_info()->generic_processor_info(

Linux ——IPC 鎖

最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節7、8、9。3.Linux man 命令。4.APUE 相關章節11、14。第一條:概述                   這裡介紹的是Posix.1線程標準的:互斥鎖、條件變數、讀寫鎖。他們主要用來同步一個進程內各個線程的,如果把它們放在一個共用記憶體空間中,Posix允許他們用於進程間同步。如果想瞭解他們的實現,在libc源碼的nptl檔案下,你可以找到他們。                  

Linux——記憶體對應檔mmap

 最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節 12。3.Linux man 命令。第一條:mmap函數的用途1.映射普通檔案到進程記憶體空間,進行記憶體映射IO。2.映射特殊檔案到進程記憶體空間,進行匿名記憶體映射IO。3.映射shm_open開啟Posix 共用記憶體區到進程的記憶體空間,可以在無親緣的進程間提供資料共用、IO。#include<sys/mman.h> void *mmap (void *__addr, size_t __len,

Linux——I/O複用

 緬懷Stevens大師。最好的參考資料:1.師從互連網。2.UNP v1第6章 。3,man select、man pselect、man epoll、man poll第一條:概述複用是個偉大的概念呀!什麼是I/O複用(I/O

Linux——ioctl

 緬懷Stevens大師。最好的參考資料:1.師從互連網。2.UNP v1第17章。3.Linux man 命令:ioctl和ioctl_list。第一條:ioctl概述ioctl函數的功能是管理底層特殊檔案裝置的參數。ioctl函數的部分功能可由一些POSIX的庫函數替代,部分功能和fcntl重合!另外參見這裡:http://vic295.blog.163.com/blog/static/74033530200991974322689/ #include <sys/ioctl.h>

Linux核心中task_struct的中文介紹(2.4核心的)

 來源: ChinaUnix部落格  日期:2008.01.23 20:30 (共有0條評論) 我要評論 1. 調度資料成員(1) volatile long states;表示進程的目前狀態:? TASK_RUNNING:正在運行或在就緒隊列run-queue中準備啟動並執行進程,實際參與進程調度。? TASK_INTERRUPTIBLE:處於等待隊列中的進程,待資源有效時喚醒,也可由其它進程通過訊號(signal)或定時中斷喚醒後進入就緒隊列run-queue。?

Linux啟動時間的極限最佳化

作者: Maco   該文章轉載自網路大本營:http://xrss.cn/Info/13420.Html在上次完成嵌入式應用的Linux裁減後,Linux的啟動時間仍需要 7s

Linux Network Programming —— Socket【Beta1 – Updating】

Linux Network Programming —— Socket——by firo 2011.5.2Cherish the memory of the Master —— W. Richard StevensReferencemanGoogleUnderstanding The Linux Kernel 3e 【ULK 3e】Professional Linux Kernel Architecture 【PLKA】Computer Systems: A Programmer‘s

Linux——Netlink

放假回家的第一天,呵呵。 緬懷Stevens大師。最好的參考資料:1.師從互連網。2.Linux man 命令:man   netlink,man rtnetlink。3.UNP

Linux——原始通訊端

 緬懷Stevens大師。本文只是,對UNPv1前幾節的轉載!!!並非原創!!!!!要想真的學會raw socket 把UNPv1 28章的3個程式從頭到尾好好看看一下!!最好的參考資料:1.師從互連網。2.Linux man 命令:man  7 raw。3.UNP v1第28章 。4.http://www.cublog.cn/u2/62281/showart_1096746.htmlhttp://linux.chinaitlab.com/c/389513.html 第一條:概述使用原始通訊端(

Linux核心初始化高端記憶體的過程(程式碼分析)

Linux核心初始化高端記憶體的過程          核心在start_kernel()函數中調用了mem_init()來做所有與記憶體初始化相關的工作。與初始化高端記憶體相關的工作在函數set_highmem_pages_init()中完成。下面我們來詳細分析一下這個過程。109 void __init set_highmem_pages_init(void)110 {111         struct zone *zone;112         int nid;         113

Linux——資料鏈路訪問

緬懷Stevens大師。最好的參考資料:1.師從互連網。2.Linux man 命令:man   netlink,man rtnetlink。3.UNP

Linux——訊號驅動IO

 裝了4天的作業系統 。。。呵呵收穫頗多。緬懷Stevens大師。最好的參考資料:1.師從互連網。2.Linux man 命令:man 7 signal,man 7 socket。3.UNP v1第25章 。第一條:概述 訊號驅動IO,不是非同步IO。訊號驅動IO是指:進程預先告知核心,使得 當某個socketfd有events(事件)發生時,核心使用訊號通知相關進程。非同步IO(Asynchronous IO)是指:進程執行IO系統調用(read /

Linux——epoll

最好的參考資料:1.師從互連網。2.man 7 epoll3.http://bbs.chinaunix.net/thread-1740209-1-1.html4.http://hi.baidu.com/firobd/blog/item/dcb4f251530d341d0cf3e3ee.html5.http://www.cnblogs.com/dubingsky/archive/2009/07/22/1528695.html6.http://bbs.chinaunix.net/thread-174

總頁數: 3662 1 .... 801 802 803 804 805 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.