奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

操作系統

linux主次設備號介紹

時間:2024-09-15 17:40:59 操作系統 我要投稿
  • 相關推薦

linux主次設備號介紹

  linux主次設備號有哪些呢?下面是小編給大家介紹一下linux主次設備號,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。

  1、主設備號與次設備號的功能

  在Linux內核中,主設備號標識設備對應的驅動程序,告訴Linux內核使用哪一個驅動程序為該設備(也就是/dev下的設備文件)服務;而次設備號則用來標識具體且唯一的某個設備。

  比如說在linux的終端打入命令:

  **@ubuntu:/dev$ ls –l

  crw-rw—-  1 root   root      4,   0 2010-05-25 06:50 tty0

  crw——-  1 root   root      4,   1 2010-05-25 06:51 tty1

  會出現很多的文件列表,這里舉例字符串設備文件【字符串設備的開頭表示為c,當然塊設備表示為b】,這些文件可以稱為文件系統書的節點,都是位于/dev目錄下。另外上面2行中的數字,4【紫紅表示】,0,1【藍色表示】分別表示的是該設備的主設備號,次設備號。一個主設備號和一個次設備號就組成了該設備的唯一標識符。雖然現在的linux內核允許多個驅動程序共享主設備號,但是現在大多數的設備仍然按照“一個主設備號對應一個驅動程序”的原則組織。次設備號用來指向驅動程序所實現的設備,內核本身基本上不會去關心關于次設備號的任何其他信息。

  查看系統已經分配的主設備有哪些:

  #cat /proc/devices

  2、設備編號的內部表達

  設備號的類型是dev_t類型(2.4內核為kdev_t),在<linux/coda.h>中定義。

  typedef  unsigned  long        dev_t ;

  其中dev_t是一個32位的數,12位表示主設備號,另外20位表示次設備號。

  2.6內核把主設備號由8位擴展到12位,而次設備號由8位擴展到20位。

  獲取主設備號和次設備號的方法如下:

  MAJOR(dev_t dev):根據設備號dev獲得主設備號;

  MINOR(dev_t dev):根據設備號dev獲得次設備號;

  在<linux/kdev_t.h> 中以上宏的定義如下:

  #define MAJOR(dev)    ((unsigned int) ((dev) >> MINORBITS))

  #define MINOR(dev)    ((unsigned int) ((dev) & MINORMASK))

  根據主設備號major和次設備號minor構建設備號(轉換成dev_t的類型),可以使用

  MKDEV(int major, int minor);

  在<linux/kdev_t.h> 中以上宏的定義如下:

  #define MKDEV(ma,mi)    (((ma) << MINORBITS) | (mi))

  3、雜項設備的介紹

  misc設備,主設備號為10,函數注冊的方式也不一樣。使用如下:

  misc_register(&XXX_miscdev);

  misc_deregister(&XXX_miscdev);

  上面的函數需指定miscdevice結構體,

  在#include <linux/miscdevice.h>中定義:

  C++代碼

  struct miscdevice

  {

  int minor;                        //次設備號

  const char *name;          //設備驅動程序的名稱

  struct file_operations *fops;    //file_operation

  struct   miscdevice  *next,  *prev;     //用于內部管理

  devfs_handle_t devfs_handle;        //用于內部管理

  }

  開發人員必須定義的filed包括:minor ,name 及fops如下:

  C++代碼

  static struct miscdevice mymisc_dev = {

  .minor = MISC_DYNAMIC_MINOR,

  .name = "mymisc",

  .fops = &mymisc_fops,

  };

  可以通過#cat /proc/misc來查看misc設備的注冊情況。

【linux主次設備號介紹】相關文章:

Linux系統調用設備的ioctl函數10-20

Linux系統中怎么掛載外界設備06-14

常見的Linux操作系統介紹08-26

linux下卸載apache方法介紹09-12

Linux的主要特點及功能介紹08-12

Linux系統下動態庫的生成介紹09-20

Linux安裝和使用Glances的方法介紹10-28

Linux開機啟動過程步驟介紹07-17

Linux Shell腳本系列教程詳細介紹08-05

Linux 系統下光驅軟開關與限速介紹05-26

主站蜘蛛池模板: 延川县| 巴青县| 康马县| 扶余县| 祁门县| 星子县| 莒南县| 花莲市| 合山市| 瑞金市| 邵东县| 廉江市| 沐川县| 韩城市| 滦平县| 乌兰察布市| 台州市| 阜新市| 舟山市| 银川市| 阿克苏市| 同心县| 婺源县| 盈江县| 崇明县| 噶尔县| 兴仁县| 清苑县| 浮梁县| 霸州市| 武山县| 抚顺市| 乌鲁木齐县| 保靖县| 从江县| 富顺县| 乃东县| 华容县| 平顺县| 北川| 岗巴县|