linux查看設備號
『壹』 在linux中如何知道自己的IDE設備的代號呢
root@rhas4 ~]# mount
/dev/sda5 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
[root@rhas4 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 52988504 6324684 43972132 13% /
none 256744 0 256744 0% /dev/shm
[root@rhas4 ~]# dmesg |grep sda
SCSI device sda: 156250000 512-byte hdwr sectors (80000 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 < sda5 >;
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
EXT3 FS on sda5, internal journal
Adding 8225272k swap on /dev/sda2. Priority:-1 extents:1
[root@rhas4 ~]#
[root@rhas4 proc]# cat /proc/partitions
major minor #blocks name
8 0 78125000 sda
8 1 16056936 sda1
8 2 8225280 sda2
8 3 1 sda3
8 5 53833783 sda5
[root@rhas4 proc]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/sda2 swap swap defaults 0 0
/dev/hda /media/cdrom auto pamconsole,exec,noauto,m
anaged 0 0
/dev/fd0 /media/floppy auto pamconsole,exec,noauto,m
anaged 0 0
注: 對於每一個硬碟(IDE 或 SCSI)設備,Linux 分配了一個 1 到 16 的序列號碼,這就代表了這塊硬碟上面的分區號碼。例如,第一個 IDE 硬碟的第一個分區,在 Linux 下面映射的就是 hda1,第二個分區就稱作是 hda2。對於 SCSI 硬碟則是 sda1、sdb1 等
『貳』 Linux的設備和設備號是指什麼
Linux中I/O設備分為兩類:字元設備和塊設備。兩種設備本身沒有嚴格限制,但是,基於不同的功能進行了分類。 (1)字元設備:提供連續的數據流,應用程序可以順序讀取,通常不支持隨機存取。相反,此類設備支持按位元組/字元來讀寫數據。舉例來說,鍵盤、串口、數據機都是典型的字元設備。 (2)塊設備:應用程序可以隨機訪問設備數據,程序可自行確定讀取數據的位置。硬碟、軟盤、CD-ROM驅動器和快閃記憶體都是典型的塊設備,應用程序可以定址磁碟上的任何位置,並由此讀取數據。此外,數據的讀寫只能以塊(通常是512B)的倍數進行。與字元設備不同,塊設備並不支持基於字元的定址。 總結一下,這兩種類型的設備的根本區別在於它們是否可以被隨機訪問。字元設備只能順序讀取,塊設備可以隨機讀取。
『叄』 為什麼linux在/dev目錄中使用ls -l命令看到有的設備沒有主設備號
在Linux中只有字元設備才有設備號,設備號分為主設備號和次設備號,主設備號是為了區分不同類型的設備,次設備號是為了區分同一類型的不同設備。
說明:注意看c字元開頭的文件是字元設備,所以都有主設備號(紅框)以及次設備號(綠框)。
『肆』 Linux的設備和設備號是指什麼可否簡單的解釋一下
Linux中I/O設備分為兩類:字元設備和塊設備。兩種設備本身沒有嚴格限制,但是,基於不同的功能進行了分類。
(1)字元設備:提供連續的數據流,應用程序可以順序讀取,通常不支持隨機存取。相反,此類設備支持按位元組/字元來讀寫數據。舉例來說,鍵盤、串口、數據機都是典型的字元設備。
(2)塊設備:應用程序可以隨機訪問設備數據,程序可自行確定讀取數據的位置。硬碟、軟盤、CD-ROM驅動器和快閃記憶體都是典型的塊設備,應用程序可以定址磁碟上的任何位置,並由此讀取數據。此外,數據的讀寫只能以塊(通常是512B)的倍數進行。與字元設備不同,塊設備並不支持基於字元的定址。
總結一下,這兩種類型的設備的根本區別在於它們是否可以被隨機訪問。字元設備只能順序讀取,塊設備可以隨機讀取。
『伍』 Linux 查看硬碟序列號 命令
linux下怎樣查看硬碟型號和硬碟序列號
hdparm
-i
/dev/hda
這個命令更多的參數
解釋
如下
(以下內容來自互聯網)
-a
獲取/設置硬碟每個簇的大小,默認值是8(即每個簇大小為4kb)。
-a
禁用/開啟ide驅動器的
read-lookahead(不懂)
特性(默認是打開的)。
-b
獲取/設置
bus
state(不懂)。
-b
設置高級電源管理特性(apm),如果驅動器支持。一個較小的值意味著更省電?一個較大的值意味著更好的性能,將它設置為255將在指定驅動器上關閉apm。
-c
查詢/開啟
(e)ide
32位
i/o
支持。加上一個數值可以開啟或關閉它。一般設置為0,即禁用32位數據傳輸,為1則開啟32位數據傳輸,為3則開啟32位數據傳輸和一個特別傳輸序列,但會消耗一些系統資源。
-c
檢查當前ide電源模式,可以使用-s/-y/-y/-z等參數控制ide電源模式。
-d
禁用/開啟dma。這個參加目前只能在並行ide和pci界面上,適當使用-x和-d1參數是個好主意,打開dma可以獲得最好的磁碟性能和降低cpu佔用率。
-d
禁用/開啟壞扇區管理特性。
-e
設置光碟機速度,這不是必需的,因為光碟機會自動調速,但是你如果想用它,可以設置一個數值,通常設置為2或4。
-f
為設備退出時同步和填滿緩沖區,這個參數也會做-t和-t所做的事。
-g
顯示驅動器幾何值(柱面,磁頭,扇區)和開始扇區。
-h
簡要顯示此命令的幫助信息。
-i
顯示驅動器的基本信息。
-i
顯示驅動器的詳細信息。
-k
獲取/設置「在重啟後保持設置」,使用這個參數將使驅動器在軟重啟後保持-dmu選項(後面還有一大堆,不懂)
-k
獲取/設置「在重啟後保持設置」,使用這個參數將使驅動器在軟重啟後保持-apswxz選項,不是所有驅動器都支持這樣做。
-l
鎖住驅動器?(不懂)
-m
獲取/設置在驅動器上為多扇區i/o計算扇區,開啟這個參數將減少cpu開支30-50%,在大多數系統上它也能增加數據生產量?5-50%,使用這個參數會使某些型號的驅動器(如wd魚子醬系列)減慢速度,大多數驅動器支持的最小數值可以是2,4,8,或16,更大也可以,視情況而定,大多數系統設置為16或32比較理想,wd的硬碟推薦設置為4到8,用-i參數可以看到當前硬碟的設置,某些驅動器要求支持復合模式,但在某些設置下會丟失數據。
-m
獲取/設置自動噪音管理。很多驅動器支持使用磁碟降速的方法降噪,這個數值可以設置為從0至254,設置為128最為靜音(速度最低),設置為254速度最快(噪音最大),某些驅動器自己規定兩個級別(靜音/快速),雖然你使用128至254之間的數值。
-n
獲取或設置「忽略寫錯誤」,最好不要使用在...(不懂)
-p
嘗試重新調整ide界面晶元指定的pio模式,或自動設置為驅動器支持的最佳pio模式,這個特性在內核中僅支持少數晶元,某些ide晶元在單驅動器時不允許調整pio模式,大多數ide晶元或多或少地支持0到5的pio模式。
-p
為驅動器的內部預讀裝置設置最大扇區,不是所有的驅動器都支持。
-q
(不懂)。在使用-i
或-v或-t或-t時無效。
-q
設置標記隊列深度(1或更大),或關閉標記隊列深度。這只能在2.5.xx或更新的內核中使用,目前還只有很少的驅動器支持它。
-r
獲取/設置設備為只讀模式,設置之後設備將不能允許寫入。
-r
注冊一個ide界面,危險。要獲得更多信息,看一下-u選項。
-s
設置驅動器等待超時,這個參數決定硬碟在多久未響應之後關閉主軸電機以省電,這個數值設置為0則關閉這個功能,設置為1至240時,時間將為5秒的倍數,即5秒至20分鍾,設置為241至251時,時間將為30分鍾的1-11倍,即30分鍾到5.5小時,設置為252象徵著21分鍾,253為?(不懂),255即為21分15秒。
-t
測試讀緩存的速度。
-t
也是測速度的。
-u
獲取/設置???(不懂,暈)
-u
注銷一個ide界面,危險!
-v
顯示使用-i未顯示出的所有設置。
-w
執行設備重啟(危險),一般不要用這個參數。
-w
禁用/開啟ide驅動器的寫緩沖特性,默認設置為設備製造商指定的值。
-x
(看不懂,危險)。
-x
為較新的(e)ide/ata驅動器設置ide傳輸模式,與-d1參數一起使用,使用-x
mdma2將開啟多字dma模式2傳輸,使用-x
sdma1將開啟單字dma模式1傳輸,使用-x
udma2將開啟ultradma模式傳輸(需要晶元組支持)。現在很多ide設備在啟動時就已經自動調整到最佳的pio模式,要使用此參數應該調整好-p參數,嚴重警告!這個數據是pio模式值+8,即設置為09代表傳輸模式為pio模式1,10即pio模式2,11即pio模式3,設置為00則恢復默認pio模式,01代表禁用iordy(什麼是iordy啊,暈),要開啟mdma,這個數值是mdma模式值+32,要開啟udma,這個數值是udma模式值+64,即66為udma2(ata33),68為udma4(ata66),69為udma5(ata100,那麼70應該是udma6即ata133了?我猜測的)
-y
使ide驅動器立即進入低耗電等待模式,用-c參數可以檢查當前的耗電模式。
-y
使ide驅動器立即進入低耗電睡眠模式,用-c參數可以檢查當前的耗電模式。
-z
讓內核重新讀取指定設備上的分區表。
-z
禁用segate驅動器的自動省電功能(st3xxx型號),防止它們在一定時間後閑置。
『陸』 linux怎麼知道安裝的是什麼設備系統怎麼知道安裝的是什麼設備
udev 是Linux kernel 2.6系列的設備管理器。它主要的功能是管理/dev目錄底下的設備節點。它同時也是用來接替devfs及hotplug的功能,這意味著它要在添加/刪除硬體時處理/dev目錄以及所有用戶空間的行為,包括載入firmware時。udev的最新版本依賴於升級後的Linux kernel 2.6.13的uevent介面的最新版本。使用新版本udev的系統不能在2.6.13以下版本啟動,除非使用noudev參數來禁用udev並使用傳統的/dev來進行設備讀取。
inux 傳統上使用靜態設備創建方法,因此大量設備節點在 /dev 下創建(有時上千個),而不管相應的硬體設備是否真正存在。通常這由一個MAKEDEV腳本實現,這個腳本包含了許多通過世界上(有幽默意味,注)每一個可能存在的設備相關的主設備號和次設備號對mknod程序的調用。採用udev的方法,只有被內核檢測到的設備才會獲取為它們創建的設備節點。因為這些設備節點在每次系統啟動時被創建,他們會被貯存在ramfs(一個內存中的文件系統,不佔用任何磁碟空間).設備節點不需要大量磁碟空間,因此它使用的內存可以忽略。
udev 執行sysfs怎樣知道設備出現 在系統?應該使用什麼設備號?對於被編進kernel的driver,當被kernel監測到時,直接注冊目標with sysfs。使用模塊方式編譯的,當模塊被load時,如前。once sysfs文件系統被mounted (on /sys),the data which the built-in drivers registered with sysfs are available to userspace process and to udev for device node creation.
udev初始化腳本創建這些 設備節點當linux boot時;這個腳本starts with 注冊/sbin/udev/ 作為一個 hotplug事件管理者。熱插拔事件不應該發生在這個過程中,然而udev is registered just in case they do occur.然後udevstart program walk through the /sys filesystem and 創建符合描述的設備在/dev。例如:/sys/class/tty/vcs/dev/包括string "7:0".這個字元串被udevstart使用來創建/dev/vcs,主設備號7and此設備號0。每一個udevstart創建的設備的許可權設置來 自/etc/udev.d/permission.d/目錄。這些numbered(有限的) 基本相似LFS bootscripts.如果找不到創建的設備許可權文件,默認perissions to 600 and ownership to root:root./dev目錄下創建的節點根據 /etc/udev/rules.d/目錄下的文件來configured.
當一個新設備連 接被kernel監測到,kernel會產生一個hotplug event 並查找/proc/sys/kernel/hotplug去找出管理設備連接的用戶空間程序。udev初始化腳本注冊udev as this hander.當hotplug events發生時,kernel通知udev 去檢測/sys 文件系統附屬於這個新設備的信息並create 它的/dev/入口。
這帶給我們一個問題:exists with udev,and likewise with devfs before it.?就像先有雞還是先有蛋。大部分linux distrubtions
管理載入模塊通過/etc/moles.conf.access to 設備節點引起相應的kernel模塊來載入。然而對於udev,這種方法不能正常工作,因為模塊沒有載入時,設備節點不存在。為了解決這個問題,模塊腳本 加到了lfs-bootscripts包中,和/etc/sysconfig/moles在一起。通過添加mole names到mole file中,這些模塊在計算機啟動時被載入。這樣,udev就可以去檢測設備並創建相應的設備節點。