為了實現裝置的無關性,當應用程式請求使用i/o裝置時,應當用邏輯裝置名。
但系統值識別物理裝置名,所以應在系統中需要配置一張邏輯裝置表,用於將邏輯裝置名對映到物理裝置名。
在邏輯裝置表中,每個表目包含了三項,邏輯裝置名、物理裝置名、驅動程式的入口位址。
當程序用邏輯裝置名請求分配i/o裝置時,系統為它分配一台相應的物理裝置。與此同時,在邏輯裝置表上,建立一張表項,填上應用程式中使用的邏輯裝置名和物理裝置名,以及該裝置驅動程式的入口位址。
當以後程序再利用該邏輯裝置名請求i/o操作時,系統通過查詢lut,便可找到該邏輯裝置所對應的物理裝置和該裝置的驅動程式。
整個系統只設定一張lut,不允許在lut中具有相同的邏輯裝置名,這就要求所有使用者都不能使用相同的邏輯裝置名,多使用者環境下很難做到,所以適用於單使用者系統。
為每個使用者設定一張lut,常用於多使用者系統。
lut->sdt->dct->coct->chct
判斷當前裝置的型別 名
1。新增標頭檔案 import import import 2。新增 struct utsname systeminfo uname systeminfo nsstring machinename nsstring stringwithcstring systeminfo.machine encod...
linux USB虛擬串列埠裝置名的修改
在linux的usb轉串列埠的驅動中,定義了乙個serial table的指標陣列,這個陣列儲存每乙個註冊的usb串列埠裝置。當usb插上時,usb serial probe會被執行,這個函式會呼叫get free serial。在get free serial中,會遍歷整個陣列,尋找第乙個沒有被賦...
裝置在Linux中的檔名
裝置 檔名scsi sata usb硬碟驅動器 dev sd a p u盤 dev sd a p virtio介面 dev vd a p 軟盤驅動器 dev fd 0 7 印表機 dev lp 0 2 25針介面 dev usb lp 0 15 usb介面 滑鼠 dev input mouse 0 ...