linux中兩種主要的裝置檔案系統

2021-06-04 22:22:27 字數 1061 閱讀 7167

1.devfs裝置檔案系統

起源:linux2.4核心引入

優點:(1)可以通過程式在裝置初始化時在/dev目錄下建立裝置檔案,解除安裝時刪除

(2)裝置程式可以指定裝置名、所有者和許可權位,並且使用者空間程式可以修改它們

(3)不再需要為裝置驅動程式分配主裝置號以及處理次裝置號,程式中通過register_chrdev()傳遞0,以獲取可用的主裝置號(在2.6核心中常使用register_chrdev_region())。在devfs_register()中指定次裝置號

裝置檔案的相關函式:

/*建立裝置目錄*/

devfs_handle_t devfs_mk_dir(devfs_handle_t dir,const char *name,void *info);

/*建立裝置檔案*/

devfs_handle_t devfs_register(devfs_handle_t dir,const char *name,unsigned int flags,unsigned int major,unsigned int minor,umode_t umode_t mode,void *ops,void *info);

/*銷毀裝置檔案*/

void devfs_unregister(devfs_handle_t de);

使用範例:

static devfs_handle_t devfs_handle;

static int __init ***_init(void)

/*建立裝置檔案*/

devfs_handle = devfs_register(null,device_name,devfs_fl_default),

***_major,0,s_ifchr|s_irusr|s_iwusr,&***_fops,null);

...printk(device_name "initialized\n");

return 0;

}static void __exit ***_exit(void)

module_init(***_init);

module_exit(***_exit);

mysql的兩種主要引擎

innodb引擎 該引擎在5.5後的mysql資料庫中為預設儲存引擎。innodb引擎提供了對資料庫acid事務的支援。並且還提供了行級鎖和外來鍵的約束。它的設計的目標就是處理大資料容量的資料庫系統。它本身實際上是基於mysql後台的完整的系統。mysql執行的時候,innodb會在記憶體中建立緩衝...

mysql的兩種主要引擎

innodb引擎 該引擎在5.5後的mysql資料庫中為預設儲存引擎。innodb引擎提供了對資料庫acid事務的支援。並且還提供了行級鎖和外來鍵的約束。它的設計的目標就是處理大資料容量的資料庫系統。它本身實際上是基於mysql後台的完整的系統。mysql執行的時候,innodb會在記憶體中建立緩衝...

spring中的兩種引用檔案

util properties和context property placeholder標籤都可以用來獲取外部配置檔案中的內容 1 util properties 它是以宣告bean方式來使用,建立了乙個bean,下面使用的時候通過spel表示式 獲取bean的屬性。id config locati...