青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

mknod 詳解

Posted on 2009-05-26 18:28 Prayer 閱讀(1379) 評論(0)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX
mknod - make block or character special files
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
    option 有用的就是 -m 了
    name   自定義
    type 有 b 和 c 還有 p
    主設備號
    次設備號


主設備號是由/usr/src/linux/include/linux/major.h定義的,如下定義了一個DOC設備:
#define IGEL_FLASH_MAJOR 62

假如有一個命令mknod doc b 62 0 :
其中的doc為定義的名字,b指塊設備,0指的是整個DOC。如果把0換為1,則1指的是DOC的第一個分區。2是第2個,依次類推。

至于mknod console c 5 1 的意思也很相似:
console是設備的名字
c指字符設備
5是該設備在major.h中定義的標記
1是第一個子設備

mknod console c 5 1
console為設備文件名,自己隨便取
c是指字符型設備 (可選b,塊設備)
5是主設備號 /dev/devices里面記錄現有的設備
找個沒有用的就可以了
1是次設備號,當你要給兩個同樣的設備上一個驅動的時候就要分了,從0開始,1就是第二個了


設備文件

對于每種硬件設備,系統內核有相應的設備驅動程序負責對它的處理。而在Unix中,使用設備文件的方式來表示硬件設備,每種設備驅動程序都被抽象為設備文件的形式,這樣就給應用程序一個一致的文件界面,方便應用程序和操作系統之間的通信。

習慣上,所有的設備文件都放置在/dev目錄下。

$ ls -l /dev/rfd0 /dev/fd0

brw-r-----   9 root   operator     2,    0 Nov 12 13:32 /dev/fd0

crw-r-----   9 root   operator     9,    0 Nov 12 13:32 /dev/rfd0

在上面的列表中可以看到原來顯示文件大小的地方,現在改為顯示兩個用逗號分隔的數字。這是系統用來表示設備的兩個重要的序號,第一個為主設備號(major number),用來表示設備使用的硬件驅動程序在系統中的序號;第二個為從設備號(minor number),硬件驅動程序使用它來區分不同的設備和判斷如何進行處理。FreeBSD下主設備號用8位表示,而從設備號用24位來表示。事實上設備文件的名字并不重要,重要的是這兩個設備號,操作系統使用它確定硬件驅動程序,并與硬件驅動程序進行通信。

1) 磁盤和塊設備文件
在Unix下將設備分為兩種,塊設備和字符設備,其中塊設備主要用于隨機存取的目的,磁盤為這一類設備的代表,而字符設備用于順序存取的目的,例如磁帶或終端設備就屬于這個類別。

磁盤設備的命名方式在前一章中提到過,磁盤設備由磁盤名、磁盤的序號、分區的序號、以及FreeBSD子分區的序號來表示,例如在設備 wd0s1a中,wd為驅動程序,此后為設備序號,0表示為這個驅動程序的第一個設備,Unix習慣上從0開始計數,第三部分的分區序號為s1,注意這里為第一個分區,因為s1是從1開始向下排列的,與一般Unix的習慣不同,這是因為分區的概念是一個DOS概念,因此這里也使用與DOS相對應的順序,最后一個a為FreeBSD子分區的順序,每個UFS基本分區可以有8個子分區,這8個分區按照習慣用于不同的目的,例如wd0s1a用于根文件系統, wd0s1b用做交換分區,使用wd0s1c表示整個硬盤分區wd0s1。因此可以將fd0c用于對整個軟盤fd0進行存取,wcd0c用于對整個光盤 wcd0進行存取等。

傳統名字,例如wd0a,可以用于表示第一個UFS分區上的a子分區,如wd0s1a。一般一個硬盤上只有一個UFS分區,因此可以直接使用傳統名字標識磁盤分區。

在使用ls命令列表時,系統使用c(character)標識一個字符設備文件,使用b(block)標識塊設備文件。

$ ls -l /dev/*wd0s1

crw-r-----   1 root   operator     3, 131072 Oct 31 19:59 /dev/rwd0s1

brw-r-----   1 root   operator     0, 131072 Oct 31 19:59 /dev/wd0s1

雖然硬盤設備為塊設備,用于隨機存取的目的。但它也可以被順序存取,這種方式稱為raw方式。使用raw方式存取硬盤,就需要一個對應的字符類型的設備文件,對應wd0s1硬盤設備的字符類型硬盤設備為rwd0s1,設備名中第一個字母使用r表示對硬盤的raw方式順序存取。

由于設備文件就代表了整個設備,就可以使用FreeBSD的標準命令以raw方式直接操作設備文件,從而直接訪問硬件設備。利用這種方式,能完成很多有用的工作,但是這種方式也非常危險,例如對硬盤設備文件的操作失誤會破壞整個硬盤的數據。幸好大部分直接訪問設備的操作都為讀取相應數據的操作,而不需要寫入磁盤設備。

當某個設備不可使用,則其對應的設備文件也不能正常訪問,因此直接訪問設備文件可以判斷對應的設備是否真正正常。例如,判斷連接到第一個串口, ttyd0上的鼠標是否正常工作,使用命令 “cat </dev/ttyd0” 來查看ttyd0上的輸入數據,如果連接的有鼠標且工作正常,那么在移動鼠標的同時屏幕上就會顯示出接收到的雜亂數據。如果沒有反應,說明鼠標工作不正確。

但是如果存在其他的程序接管了這個設備,有可能就不能得到正確的結果。例如系統運行了moused,由moused控制了鼠標端口,那么”cat </dev/ttyd0”就不能正常工作,而 “cat < /dev/sysmouse” 會給出答案。

cat或其他命令,沒有控制具體接收到數據的多少,更有效的系統工具是dd,它能精確輸入輸出一定數量的數據。例如:

# dd if=/dev/rwd0 of=mbr count=1 bs=512

這將以512字節為單位,讀取硬盤wd0上一個單位的數據,保存到名字為mbr的文件中,通常這是硬盤wd0上的主引導扇區。

2) 設備文件的創建
通常情況下,安裝系統時已經創建了常用的設備文件,可以直接訪問這些設備文件來訪問設備。但在用戶重新定制內核,并添加了新硬件驅動程序之后,新驅動程序對應的設備文件就可能不存在。在FreeBSD中,最常見的例子就是在內核中增加聲卡的驅動程序時,就需要創建相應設備文件。

創建設備文件的基本方式是使用mknod,但是必須知道該設備的正確設備號才可以。另一種簡單的方式是使用/dev目錄下的shell程序 MAKEDEV來完成,MAKEDEV實質上就是記錄了很多設備的名字與其設備號之間的關系的程序,因此它能使用正確的設備號來創建設備。首先進入 /dev目錄,然后再執行MAKEDEV。

# cd /dev

# sh MAKEDEV snd0

MAKEDEV將使用設備名作參數創建設備文件,同時也創建這個設備文件依賴的其他相關設備文件。MAKEDEV的參數,并不一定為創建的設備文件名。例如建立 “MAKEDEV vty8” 將建立ttyv0到ttyv7共8個設備文件,使用 “MAKEDEV wd1s1a” 命令,將建立 wd1、wd1s1、wd1s2等,以及wd1s1a、wd1s1b等設備文件。也可以使用all做MAKEDEV的參數,這將首先清除/dev目錄下的所有設備文件,然后MAKEDEV創建所有預設的設備文件。一般情況下這將創建足夠多的設備文件,其中的大部分設備文件在具體的系統中不會用得到。

如果對一個系統中沒有(或者即使有但內核沒有支持或探測到)的設備對應的設備文件進行操作,則系統返回Device not configured的錯誤信息。

MAKEDEV將使用mknod和對應設備的正確參數,包括字符或塊設備、主設備號和從設備號來建立相應的設備文件。管理員也可以直接使用 mknod創建設備文件,但這就必須將這些設備參數統統指定正確才行。因此除非對系統中的硬件驅動程序特別熟悉,一般不直接使用mknod來創建設備文件。




[root@can]# ll /dev/hd
hda   hda1 hda2 hda3 hda4 hda5 hdc
[root@can]# ll /dev/hda
brw-r----- 1 root disk 3, 0 2008-12-18 /dev/hda
[root@can]# ll /dev/hda4
brw-r----- 1 root disk 3, 4 2008-12-18 /dev/hda4
[root@can]#
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产视频一区在线观看| 欧美国产成人精品| 9久草视频在线视频精品| 亚洲一区二区网站| 亚洲第一久久影院| 中日韩美女免费视频网址在线观看| 亚洲视频视频在线| 欧美日韩国产123区| 亚洲二区在线| 久久视频一区| 午夜一区在线| 国产精品女人网站| 亚洲一区二区在线免费观看| 亚洲精品欧美在线| 欧美高清成人| 亚洲美女一区| 亚洲精品影视| 欧美三区不卡| 亚洲女优在线| 午夜在线电影亚洲一区| 国产日韩一区二区三区在线播放| 午夜欧美大尺度福利影院在线看| 亚洲一区二区成人| 国产精品羞羞答答| 亚洲视频综合在线| 91久久国产精品91久久性色| 欧美一区二区黄| 国产精品色婷婷久久58| 亚洲欧美韩国| 亚洲欧美日韩精品在线| 国产精品三上| 久久一综合视频| 久久欧美肥婆一二区| 亚洲国产精品一区在线观看不卡 | 国产亚洲欧美一区| 久久久青草婷婷精品综合日韩| 欧美一级艳片视频免费观看| 国产亚洲亚洲| 牛牛影视久久网| 欧美华人在线视频| 国产精品99久久久久久久女警 | 国产精品视频九色porn| 香蕉尹人综合在线观看| 午夜一区在线| 亚洲黄色视屏| 日韩视频在线免费观看| 久久国产精品久久w女人spa| 在线成人亚洲| 日韩视频中文字幕| 国产精品影音先锋| 蜜桃伊人久久| 欧美日韩一区在线播放| 欧美综合激情网| 你懂的视频欧美| 先锋影音一区二区三区| 久久久久久婷| 亚洲午夜视频在线观看| 久久精品国产亚洲a| 日韩视频精品在线观看| 午夜在线视频观看日韩17c| 亚洲欧洲日本mm| 亚洲一区自拍| 久久免费的精品国产v∧| 欧美韩日视频| 日韩视频一区二区三区在线播放免费观看 | 久久亚洲电影| 娇妻被交换粗又大又硬视频欧美| 午夜精品免费视频| 一区二区三区视频在线播放| 欧美日韩国产三区| 亚洲免费av网站| 99精品视频一区二区三区| 亚洲三级电影全部在线观看高清 | 久久这里有精品15一区二区三区| 国产日韩欧美在线看| 亚洲国产成人精品久久久国产成人一区| 欧美日韩理论| 欧美大片国产精品| 国产欧美日韩一区二区三区在线观看| 亚洲国产日韩欧美一区二区三区| 国产女人aaa级久久久级| 亚洲三级视频在线观看| 亚洲国产91精品在线观看| 香蕉久久精品日日躁夜夜躁| 中文日韩在线视频| 欧美不卡视频| 亚洲视频1区| 在线综合视频| 欧美精品大片| 亚洲国产精品电影在线观看| 伊人久久久大香线蕉综合直播| 欧美成人一区二区三区片免费| 亚洲三级视频在线观看| 日韩网站在线看片你懂的| 亚洲大胆人体视频| 亚洲欧美日韩天堂| 99精品欧美一区二区蜜桃免费| 国产精品综合色区在线观看| 久久伊人亚洲| 欧美精品一区二区三区久久久竹菊 | 欧美成人午夜| 欧美另类女人| 久久人人97超碰精品888| 欧美va亚洲va日韩∨a综合色| 久久婷婷蜜乳一本欲蜜臀| 久久狠狠婷婷| 亚洲天堂av图片| 久久婷婷国产综合精品青草| 亚洲午夜精品网| 久久久久久伊人| 亚洲欧美激情一区| 美国三级日本三级久久99| 午夜视黄欧洲亚洲| 欧美二区在线| 久久久久久综合| 国产精品久久国产精品99gif| 欧美成人免费观看| 国产精品私拍pans大尺度在线 | 欧美三级乱人伦电影| 亚洲欧美中文字幕| 欧美一区二区三区啪啪| 国产一区二区丝袜高跟鞋图片| 久久激情视频免费观看| 欧美成人dvd在线视频| 亚洲美女91| 国产精品久久久久久久久| 欧美午夜免费| 一区二区三区自拍| 亚洲美女黄色| 免播放器亚洲一区| 99国产精品99久久久久久| 一区二区三区黄色| 久久久久久国产精品mv| 欧美日韩美女一区二区| 中文成人激情娱乐网| 久久手机免费观看| 亚洲午夜高清视频| 国产精品视频久久一区| 久久狠狠久久综合桃花| 亚洲激情婷婷| 亚洲欧美中日韩| 亚洲第一成人在线| 欧美日韩国产一中文字不卡| 午夜欧美理论片| 亚洲黄页视频免费观看| 欧美专区亚洲专区| 久久久噜噜噜久久中文字免| 亚洲人精品午夜| 欧美一区二区三区在线观看视频 | 欧美风情在线观看| 亚洲伊人观看| 91久久精品一区二区三区| 欧美在线精品免播放器视频| 亚洲七七久久综合桃花剧情介绍| 国产精品一区二区黑丝| 欧美极品一区二区三区| 欧美一区三区二区在线观看| 日韩视频亚洲视频| 欧美福利电影网| 久久久999精品免费| 亚洲天堂男人| 亚洲免费观看高清完整版在线观看熊| 狠狠入ady亚洲精品| 国产精品资源| 欧美性猛交xxxx乱大交退制版| 美日韩丰满少妇在线观看| 亚洲欧美精品伊人久久| 日韩小视频在线观看| 欧美.com| 理论片一区二区在线| 久久精品在线| 欧美在线你懂的| 在线视频精品一区| 亚洲麻豆av| 亚洲国产另类精品专区| 亚洲第一区中文99精品| 红桃视频一区| 久久久av毛片精品| 国产精品乱码一区二三区小蝌蚪| 欧美国产一区二区在线观看 | 国产美女精品| 国产精品久久久一区二区三区| 国产精品www.| 国产精品网站在线| 国产色婷婷国产综合在线理论片a| 国产精品欧美一区二区三区奶水| 国产精品女同互慰在线看| 国产精品一区二区三区久久| 欧美1区3d| 国产女人18毛片水18精品| 牛牛精品成人免费视频| 精品999在线播放| 久久一二三国产| 另类激情亚洲| 91久久香蕉国产日韩欧美9色 | 一区二区三区国产| 日韩视频免费观看| 国产日韩欧美视频| 国产精品热久久久久夜色精品三区 | 亚洲欧美日韩在线播放|