亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3426 | 回復(fù): 0
打印 上一主題 下一主題

配置設(shè)備文件 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-10-13 14:32 |只看該作者 |倒序瀏覽
            ※解釋設(shè)備文件的用途
            ※解釋主號和次號的意義
            ※描述塊設(shè)備和字符設(shè)備的不同
            ※使用lsdev來列出內(nèi)核驅(qū)動程序的主號
            ※使用ls -l觀察一個設(shè)備文件的主號和次號
            ※使用ioscan列出與一個指定設(shè)備關(guān)聯(lián)的設(shè)備文件
            ※使用issf來說明一個設(shè)備文件的特征。
            ※賦予磁盤,磁帶或者CD設(shè)備文件名,確定控制卡的目標(biāo)號和關(guān)聯(lián)設(shè)備的目標(biāo)地址
            ※賦予一終端或者一個modern設(shè)備文件名,確定控制卡號和關(guān)聯(lián)設(shè)備的端口號。
            ※描autoconfig進(jìn)程的工作原理
            ※使用insf創(chuàng)建設(shè)備文件
            設(shè)備文件是什么?
            操作系統(tǒng)與外部設(shè)備(例如,磁帶驅(qū)動器,磁盤驅(qū)動器,打印機(jī),終端,modern)是通過一種被稱為設(shè)備文件的文件來進(jìn)行通信。unix輸入輸出到外部設(shè)備的方式和輸入輸出到一個文件的方式是相同的。在UNIX
            同一個外部設(shè)備進(jìn)行通訊之前,這個設(shè)備必須首先要有一個設(shè)備文件存在。例如,每一個終端都有自己的設(shè)備文件來供UNIX寫數(shù)據(jù)(出現(xiàn)在終端屏幕上),和讀取數(shù)據(jù)(用戶通過鍵盤輸入)。
            設(shè)備文件和普通文件不一樣,設(shè)備文件中并不包含任何數(shù)據(jù)。
            設(shè)備文件指定UNIX如何同一個設(shè)備進(jìn)行通訊。設(shè)備文件存在于/dev目錄下。
            注意:設(shè)備文件與特殊文件是同義詞。你可以 交換使用這兩個術(shù)語。
            由于UNIX操作系統(tǒng)為你創(chuàng)建所有的設(shè)備文件,所以在你存取一個外部設(shè)備的時候,你需要知道這個設(shè)備對應(yīng)的設(shè)備文件名。有時候你會需要創(chuàng)建一個設(shè)備文件。如果你永久地去掉一個外部設(shè)備,你應(yīng)該刪除它對應(yīng)的設(shè)備文件。
            以下的例子說明了一個UNIX命令如何使用一個設(shè)備文件的:
            #tar -cvf /dev/rmt/0m /usr
            tar應(yīng)用使用-f選項來打開一個文件以供輸出。然后tar會備份數(shù)據(jù)到那個文件。tar可以寫到一個普通文件或者直接寫到一個設(shè)備。tar并不需要知道它們之間的不同。
            # echo hello > /dev/tty0p1
            在這個例子中,echo命令的標(biāo)準(zhǔn)輸出通過被重定向到一個終端,其方式是通過這個終端的設(shè)備文件。
            使用ls -l列出設(shè)備文件
            使用ls -l /dev列出設(shè)備文件名
            brw-r----- 1 root sys 31 0x005000 Feb 10 1997 /dev/dsk/c0t5d0
            brw-r----- 1 root sys 31 0x006000 Feb 10 1997 /dev/dsk/c0t6d0
            crw-r----- 1 root sys 31 0x005000 Feb 10 1997 /dev/rdsk/c0t5d0
            crw-r----- 1 root sys 31 0x006000 Feb 10 1997 /dev/rdsk/c0t6do
            crw-r----- 2 root tty 17 0x000001 Jan 9?09:25 /dev/ttyp1
            crw-r----- 2 root tty 17 0x000002 Jan 9?17:25 /dev/ttyp2
            設(shè)備文件類型 ????主號 次號 ????????設(shè)備文件名
            設(shè)備文件通常都是在/dev目錄下。你可以使用ls -l命令來列出這個目錄下的文件,就像你列出其它目錄下的文件一樣。注意:ls
            -l列出的設(shè)備文件和其它文件有一點點的不同。
            設(shè)備文件類型
            設(shè)備文件名的第一個字符指明了這個設(shè)備文件的類型。
            字符設(shè)備文件:?第一個字符為“c",表明這個文件是一個字符設(shè)備文件。
            字符設(shè)備文件傳送數(shù)據(jù)給設(shè)備的時候,一次傳送一個字符。終端,打印機(jī),繪圖儀,modern等設(shè)備是一些典型的經(jīng)過字符設(shè)備文件傳送數(shù)據(jù)的設(shè)備。字符設(shè)備文件有時也被稱為“raw”
            設(shè)備文件。
            塊設(shè)備文件:
            ??第一個字符為“b”的設(shè)備文件是一個塊設(shè)備文件。系統(tǒng)通過塊設(shè)備文件存取一個設(shè)備的時候,先從內(nèi)存中的buffer中讀或?qū)憯?shù)據(jù)。而不是直接傳送數(shù)據(jù)到物理磁盤。這種方式能有效的提高磁盤和CD-ROMS的I/O性能。
            終端,moderms,打印機(jī),繪圖儀和磁帶設(shè)備是典型的只能使用字符設(shè)備文件的設(shè)備,磁盤和CD-ROMS既可以使用字符設(shè)備文件也可以使用塊設(shè)備文件。
            一些應(yīng)用程序和工具選擇使用字符設(shè)備文件直接存取磁盤。其它工具要求一個塊設(shè)備文件。閱讀應(yīng)用或者工具的說明文檔來決定使用那一種設(shè)備文件。
            設(shè)備文件主號
            每一個設(shè)備文件都有一個“主號”,使用ls -l命令輸出的內(nèi)容的第五個字段即為主號。主號是表示系統(tǒng)存取這個設(shè)備的“內(nèi)核驅(qū)動”
            。內(nèi)核驅(qū)動是UNIX內(nèi)核中的一部分代碼,其作用是用來控制一種特殊的設(shè)備的輸入輸出。大多數(shù)的unix操作系統(tǒng)都有多種設(shè)備驅(qū)動程序;每一個設(shè)備文件名中的設(shè)備主號就代表這個設(shè)備使用的是那個設(shè)備驅(qū)動程序。lsdev命令可以列出你的內(nèi)核中配置的驅(qū)動程序,和這些驅(qū)動程序?qū)?yīng)的主號。
            設(shè)備文件次號
            每一個設(shè)備文件都有一個次號!按翁枴笔且粋24位的十六進(jìn)制數(shù)字,其定義了:
            這個設(shè)備在系統(tǒng)中的物理的位置。 設(shè)備存儲選項。例如磁帶,磁帶有特殊的存取選項,使用/不使用硬件壓縮,和定義寫到磁帶上的數(shù)據(jù)格式密度等。
            設(shè)備文件名
            設(shè)備文件名遵循一個標(biāo)準(zhǔn)的命名的約定。這種約定使分辯那一個設(shè)備文件關(guān)聯(lián)那一個設(shè)備變得很容易。以下的章節(jié)會討論命名規(guī)則的細(xì)節(jié)。
            使用ioscan列出設(shè)備文件名
            # ioscan -fun ???列出所有的設(shè)備和對應(yīng)的設(shè)備文件名
            # ioscan -fun disk ?列出所有的磁盤設(shè)備和設(shè)備文件名
            # ioscan -funC tape ?列出所有的磁帶設(shè)備和磁帶設(shè)備文件
            雖然ls -l命令可以列出你的系統(tǒng)中的設(shè)備文件。但是它沒有指明那一個設(shè)備文件對應(yīng)那一個設(shè)備。 ioscan
            -fun命令提供了一種方便的機(jī)制來設(shè)備文件對應(yīng)的你的系統(tǒng)中的硬件的路徑。在每一個硬件路徑下,ioscan
            -fun列出了與每一個硬件路徑相關(guān)聯(lián)的設(shè)備文件。由于一些設(shè)備有多個存取選項,ioscan可以列出一個設(shè)備對應(yīng)的多個設(shè)備文件。
            例子:
            #ioscan -fun??????????列出所有的設(shè)備和設(shè)備關(guān)聯(lián)的設(shè)備文件名
            # ioscan -funC disk ?????? 僅列出磁盤類的設(shè)備和關(guān)聯(lián)的設(shè)備文件名
            #ioscan -funC tape ???????僅列出磁帶設(shè)備和關(guān)聯(lián)的設(shè)備文件名
            #ioscan -funH 2/0/1.6.0 ???? 僅列出在2/0/1.6.0的設(shè)備的設(shè)備文件名
            使用lssf列出設(shè)備文件
            ※列出設(shè)備文件的特征
            ※語法:
            ??/usr/sbin/lssf path [pah -]
            ※例子:
            # lssf /dev/rdsk/clt6d0
            ??disc3 card instance 1 scsi target 6 scsi LUN 0
            ??section 0 at address 52.6.0 /dev/rdsk/clt6d0
            ??# lssf /dev/rmt/0mn
            ??tape2 card instance 1 SCSI target 0 SCSI LUN
[email=at@t]at@t[/email]
no
            ??rewind best density available at address 52.0.0 /dev/rmt/omn
            許多設(shè)備有多個相關(guān)聯(lián)的設(shè)備文件。例如,上例中的磁帶設(shè)備有八個設(shè)備文件。這是因為許多設(shè)備可以使用不同的存取選項來存取。每一個設(shè)備文件代表一個存取選項。
            ioscan列出每一個設(shè)備的設(shè)備文件,但是不指明那一個設(shè)備文件對應(yīng)那一個設(shè)備文件。lssf命令可以選擇用來判斷每一個設(shè)備文件的特征。lssf
            告訴你:
            這個設(shè)備文件使用的那個驅(qū)動程序
            設(shè)備的硬件地址信息
            任何設(shè)備文件使用的設(shè)備存取選項。
            問題:
            我們已經(jīng)有三個命令可以用來瀏覽設(shè)備文件:ls -l,lssf,和ioscan。請判斷在以下情況下應(yīng)該使用那個命令:
            1.列出硬件地址為2/0/1.1.2的磁帶驅(qū)動器的設(shè)備文件。
            2.列出所有的磁盤設(shè)備文件。
            3.那一個命令可以用來判斷通過設(shè)備文件/dev/rmt/c0t0dBESTnb存取的硬件路徑。
            4.那一個命令可以告訴你設(shè)備文件/dev/rmt/c0t0d0BESTnb的設(shè)備選項是什么。
            /dev目錄的布局
            這一部分會介紹系統(tǒng)對一個設(shè)備文件取名的命名規(guī)則。一個容易理解的命令規(guī)則會讓你更容易地選擇和使用你系統(tǒng)中的設(shè)備文件。
            在多數(shù)UNIX系統(tǒng)中,所有的設(shè)備文件都是存在于/dev目錄下的。一些設(shè)備文件事直接在/dev目錄下,而另外一些被組織在/dev下的子目錄下。一下是一些重要的設(shè)備文件目錄的列表
            /dev ??????包含所有的終端,moderm,lan和打印機(jī)的設(shè)備文件。
            /dev/dsk ????包含所有的塊磁盤設(shè)備文件
            /dev/rdsk????包含有所有的裸磁盤設(shè)備文件
            /dev/rmt ????包含有所有的磁帶設(shè)備文件
            設(shè)備文件命名規(guī)則
            默認(rèn)的情況。操作系統(tǒng)給一個設(shè)備文件取名的時候是依據(jù)一個標(biāo)準(zhǔn)的命名原則。雖然你可以任意對一個設(shè)備文件取名。但是使用一個標(biāo)準(zhǔn)的命名規(guī)則會使用定位你的設(shè)備文件十分容易。
            界面卡號
            內(nèi)核自動對系統(tǒng)中的每個設(shè)備和界面卡賦予一個號碼。這個號碼在ioscan -f輸出的“I"這個字段顯示。
            磁盤,磁帶或者CD
            ROM的設(shè)備文件名中的"C"指明這個設(shè)備連接的界面卡的數(shù)字。ioscan命令顯出的所有的磁盤都有一個相同的以”C0"開頭的設(shè)備文件,這是因為SCSI卡的號碼為"0"。
            注意每一個設(shè)備文件都有一個號碼,這個號碼只是操作系統(tǒng)專用的一個號碼,并不被用來對應(yīng)設(shè)備文件名。
            ioscan -fun
            SCSI目標(biāo)地址
            設(shè)備文件的“t#”部分確定這個設(shè)備文件相關(guān)聯(lián)設(shè)備的SCSI目標(biāo)地址。這個SCSI目標(biāo)地址是通過設(shè)備自身上的跳線或者DIP開關(guān)來設(shè)置的。一個SCSI設(shè)備的硬件路徑的倒數(shù)第二個字符就是這個設(shè)備的SCSI目標(biāo)地址。例如,在上例的ioscan輸出中,在8/12.3.0的磁盤的SCSI地址為“3”。8/12.6.0這塊磁盤的SCSI目標(biāo)地址為“6”。
            SCSI邏輯單元號
            邏輯單元號(LUN)能夠被用來識別一個磁帶庫的機(jī)器手,或者是一個磁盤陣列的一個邏輯單元。對大多數(shù)的SCSI設(shè)備來說,LUN號都是“0”。每一個SCSI設(shè)備的LUN號出現(xiàn)在設(shè)備硬件路徑的最后一個小數(shù)點后。
            設(shè)備存取選項
            設(shè)備文件名的最后一部分是這個設(shè)備文件的存取選項。磁帶機(jī)設(shè)備文件名可能有多個選項。設(shè)備和設(shè)備的選項是不同的。
            磁盤設(shè)備文件名
            每一個磁盤和CD-ROM都有兩個設(shè)備文件:
            一個塊設(shè)備文件在/dev/dsk下面
            一個字符設(shè)備文件在/dev/rdsk下面
            磁帶設(shè)備文件名
            磁帶設(shè)備文件在/dev/rmt目錄下,遵循c#t#d#[選項]的命名規(guī)則。同磁盤和CD-ROM不同,磁帶驅(qū)動器通常都支持多個選項。
            如何創(chuàng)建一個設(shè)備文件
            ※自動配置
            ※insf
            ※mksf
            ※mknod
            大多數(shù)情況,你不需要創(chuàng)建設(shè)備文件。當(dāng)?shù)谝淮伟惭b操作系統(tǒng)的時候。insf在進(jìn)行硬件探測的時候會自動創(chuàng)建所有發(fā)現(xiàn)的設(shè)備的設(shè)備文件。每一次系統(tǒng)重啟動,insf會創(chuàng)建新連接到系統(tǒng)的設(shè)備的設(shè)備文件。
            在一一些特殊的情況下,你會需要手工創(chuàng)建或是修改設(shè)備文件。
            自動配置
            什么是自動配置
            在系統(tǒng)啟動的時候,內(nèi)核會執(zhí)行一系列系統(tǒng)初始化的工作,包括探測所有的安裝在系統(tǒng)中的硬件。在進(jìn)行硬件探測的時候,內(nèi)核會確認(rèn)所有的設(shè)備-總線,適配器,設(shè)備適配器-這些能夠被自動配置的設(shè)備。內(nèi)核綁定一個合適的驅(qū)動程序給每一個檢測到的設(shè)備。
            在完成系統(tǒng)初始化后,內(nèi)核會激活init命令。init進(jìn)程回讀取/etc/inittab文件來激活幾個系統(tǒng)啟動的命令,包括/sbin/ioinitrc。
            第一步,initrc會讀取/etc/ioconfig文件的內(nèi)容,然后傳送設(shè)備映射信息道內(nèi)核的數(shù)據(jù)結(jié)構(gòu)中,io_tree。下一步,ioinit執(zhí)行insf。insf會為新的設(shè)備創(chuàng)建設(shè)備文件。它同樣會更新/etc/ioconfig文件和內(nèi)核樹。


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/84425/showart_2069347.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP