Skip to content

Latest commit

 

History

History
96 lines (79 loc) · 3.5 KB

File metadata and controls

96 lines (79 loc) · 3.5 KB

设备分类

从工作机制角度看设备分:字符设备、块设备和网络设备

  • 字符设备以顺序的方式读写,即字节流的方式,如下图a、b、c、d有序的、不等价的。
  • 块设备以随机的方式读写,可以定位并读写任意的块单元,如下图所有的a是无序的、等价的。
  • 网络设备则是顺序和随机的结合,宏观角度以包为单位顺序的读写,微观角度以包内字节为单位随机的读写,如下图A、B、C、D有序的、不等价的,但A包内的a却是a是无序的、等价的。


                     +----+----+----+----+       
           <-        | a  | b  | c  | d  |         流/顺序      
                     +----+----+----+----+

                     +----+----+----+----+       
                     | a  | a  | a  | a  |
                     +----+----+----+----+
                     | a  | a  | a  | a  |
           *         +----+----+----+----+          随机/无序
                     | a  | a  | a  | a  |
                     +----+----+----+----+
                     | a  | a  | a  | a  |
                     +----+----+----+----+

                     +---------+    +---------+    +---------+    +---------+                      
           <-        |    A    |    |    B    |    |    C    |    |    D    |       流/顺序 
                     +----+----+    +----+----+    +----+----+    +----+----+                      
                     | a  | a  |    | b  | b  |    | c  | c  |    | d  | d  |
           *         +----+----+    +----+----+    +----+----+    +----+----+       随机/无序        
                     | a  | a  |    | b  | b  |    | c  | c  |    | d  | d  |
                     +----+----+    +----+----+    +----+----+    +----+----+



            /--------------------------------
           / 
          /-------------------------------- char dev    
         /
        /------------------------------- block dev
       /
      /----------------------------- net dev
     /
    /

从设备所依附的总线的角度设备分:platform设备、usb设备、pci设备。




            /-------/-------/-------/--------
           /       /       /       /
          /-------/-------/-------/-------- char dev    
         /       /       /       /
        /-------/-------/-------/-------- block dev
       /       /       /       /
      /-------/-------/-------/------- net dev
     /       /       /       /
    /       /       /       /
      platform    usb     pci
        dev       dev     dev

从分类的角度设备可以分成:input设备,output设备,tty设备


            z
            |
            *           tty dev      
            |
            |
            *           output dev
            |
            |
            *-------*   input dev
           /       /|
          *-------* |
          | |     | |
          | |     | |
          | *-----|-*-------*-------*-------- y
          |/      |/       /       /
          *-------*-------*-------*-------- char dev    
         /       /       /       /
        *-------*-------*-------*-------- block dev
       /       /       /       /
      *-------*-------*-------*------- net dev
     /       /       /       /
    /       /       /       /
   x   platform    usb     pci
        dev       dev     dev

综上所述,可以(x,y,z)这样的三元组来描述一个设备的不同方面。