²Ù×÷ϵͳµÄÄ¿µÄÖ®Ò»¾ÍÊǽ«ÏµÍ³Ó²¼þÉ豸ϸ½Ú´ÓÓû§ÊÓÏßÖÐÒþ²ØÆðÀ´¡£ÀýÈçÐéÄâÎļþϵͳ¶Ô¸÷ÖÖÀàÐÍÒѰ²×°µÄÎļþϵͳÌṩÁËͳһµÄÊÓͼ¶øÆÁ±ÎÁ˾ßÌåµ×²ãϸ½Ú¡£±¾Õ½«ÃèÐðLinuxºËÐĶÔϵͳÖÐÎïÀíÉ豸µÄ¹ÜÀí¡£
CPU²¢²»ÊÇϵͳÖÐΨһµÄÖÇÄÜÉ豸£¬Ã¿¸öÎïÀíÉ豸¶¼ÓµÓÐ×Ô¼ºµÄ¿ØÖÆÆ÷¡£¼üÅÌ¡¢Êó±êºÍ´®ÐпÚÓÉÒ»¸ö¸ß¼¶I/OоƬͳһ¹ÜÀí£¬IDE¿ØÖÆÆ÷¿ØÖÆIDEÓ²Å̶øSCSI¿ØÖÆÆ÷¿ØÖÆSCSIÓ²Å̵ȵȡ£Ã¿¸öÓ²¼þ¿ØÖÆÆ÷¶¼Óи÷×ԵĿØÖƺÍ״̬¼Ä´æÆ÷£¨CSR£©²¢ÇÒ¸÷²»Ïàͬ¡£ÀýÈçAdaptec 2940 SCSI¿ØÖÆÆ÷µÄCSRÓëNCR 810 SCSI¿ØÖÆÆ÷ÍêÈ«²»Ò»Ñù¡£ÕâЩCSR±»ÓÃÀ´Æô¶¯ºÍÍ£Ö¹£¬³õʼ»¯É豸¼°¶ÔÉ豸½øÐÐÕï¶Ï¡£ÔÚLinuxÖйÜÀíÓ²¼þÉ豸¿ØÖÆÆ÷µÄ´úÂ벢ûÓзÅÖÃÔÚÿ¸öÓ¦ÓóÌÐòÖжøÊÇÓÉÄÚºËͳһ¹ÜÀí¡£ÕâЩ´¦ÀíºÍ¹ÜÀíÓ²¼þ¿ØÖÆÆ÷µÄÈí¼þ¾ÍÊÇÉ豸Çý¶¯¡£LinuxºËÐÄÉ豸Çý¶¯ÊÇÒ»×éÔËÐÐÔÚÌØÈ¨¼¶ÉϵÄÄÚ´æ×¤Áôµ×²ãÓ²¼þ´¦Àí¹²Ïí¿â¡£ÕýÊÇËüÃǸºÔð¹ÜÀí¸÷¸öÉ豸¡£
É豸Çý¶¯µÄÒ»¸ö»ù±¾ÌØÕ÷ÊÇÉ豸´¦ÀíµÄ³éÏó¸ÅÄî¡£ËùÓÐÓ²¼þÉ豸¶¼±»¿´³ÉÆÕͨÎļþ£»¿ÉÒÔͨ¹ýºÍ²Ù×ÝÆÕͨÎļþÏàͬµÄ±ê׼ϵͳµ÷ÓÃÀ´´ò¿ª¡¢¹Ø±Õ¡¢¶ÁÈ¡ºÍдÈëÉ豸¡£ÏµÍ³ÖÐÿ¸öÉ豸¶¼ÓÃÒ»ÖÖÌØÊâµÄÉ豸Ïà¹ØÎļþÀ´±íʾ(device special file)£¬ÀýÈçϵͳÖеÚÒ»¸öIDEÓ²Å̱»±íʾ³É/dev/hda¡£¿é£¨´ÅÅÌ£©É豸ºÍ×Ö·ûÉ豸µÄÉ豸Ïà¹ØÎļþ¿ÉÒÔͨ¹ýmknodÃüÁîÀ´´´½¨£¬²¢Ê¹ÓÃÖ÷´ÓÉ豸ºÅÀ´ÃèÐð´ËÉ豸¡£ÍøÂçÉ豸ҲÓÃÉ豸Ïà¹ØÎļþÀ´±íʾ£¬µ«LinuxѰÕҺͳõʼ»¯ÍøÂçÉ豸ʱ²Å½¨Á¢ÕâÖÖÎļþ¡£ÓÉͬһ¸öÉ豸Çý¶¯¿ØÖƵÄËùÓÐÉ豸¾ßÓÐÏàͬµÄÖ÷É豸ºÅ¡£´ÓÉ豸ºÅÔò±»ÓÃÀ´Çø·Ö¾ßÓÐÏàͬÖ÷É豸ºÅÇÒÓÉÏàͬÉ豸Çý¶¯¿ØÖƵIJ»Í¬É豸¡£ ÀýÈçÖ÷IDEÓ²Å̵Äÿ¸ö·ÖÇøµÄ´ÓÉ豸ºÅ¶¼²»Ïàͬ¡£Èç/dev/hda2±íʾÖ÷IDEÓ²Å̵ÄÖ÷É豸ºÅΪ3¶ø´ÓÉ豸ºÅΪ2¡£Linuxͨ¹ýʹÓÃÖ÷´ÓÉ豸ºÅ½«°üº¬ÔÚϵͳµ÷ÓÃÖеģ¨È罫һ¸öÎļþϵͳmountµ½Ò»¸ö¿éÉ豸£©É豸Ïà¹ØÎļþÓ³Éäµ½É豸µÄÉ豸Çý¶¯ÒÔ¼°´óÁ¿ÏµÍ³±í¸ñÖУ¬Èç×Ö·ûÉ豸±í£¬chrdevs¡£
LinuxÖ§³ÖÈýÀàÓ²¼þÉ豸£º×Ö·û¡¢¿é¼°ÍøÂçÉ豸¡£×Ö·ûÉ豸ָÄÇЩÎÞÐ軺³åÖ±½Ó¶ÁдµÄÉ豸£¬ÈçϵͳµÄ´®¿ÚÉ豸/dev/cua0ºÍ/dev/cua1¡£¿éÉ豸Ôò½öÄÜÒÔ¿éΪµ¥Î»¶Áд£¬µäÐ͵Ŀé´óСΪ512»ò1024×Ö½Ú¡£¿éÉ豸µÄ´æÈ¡ÊÇͨ¹ýbuffer cacheÀ´½øÐв¢ÇÒ¿ÉÒÔ½øÐÐËæ»ú·ÃÎÊ£¬¼´²»¹Ü¿éλÓÚÉ豸Öк䦶¼¿ÉÒÔ¶ÔÆä½øÐжÁд¡£¿éÉ豸¿ÉÒÔͨ¹ýÆäÉ豸Ïà¹ØÎļþ½øÐзÃÎÊ£¬µ«¸üΪƽ³£µÄ·ÃÎÊ·½·¨ÊÇͨ¹ýÎļþϵͳ¡£Ö»ÓпéÉ豸²ÅÄÜÖ§³Ö¿É°²×°Îļþϵͳ¡£ÍøÂçÉ豸¿ÉÒÔͨ¹ýBSDÌ×½Ó¿Ú·ÃÎÊ£¬ÎÒÃǽ«ÔÚÍøÂçÒ»ÕÂÖÐÌÖÂÛÍøÂç×Óϵͳ¡£
LinuxºËÐÄÖÐËä´æÔÚÐí¶à²»Í¬µÄÉ豸Çý¶¯µ«ËüÃǾßÓÐһЩ¹²ÐÔ£º
É豸Çý¶¯¿ÉÒÔʹÓñê×¼µÄºËÐÄ·þÎñÈçÄÚ´æ·ÖÅä¡¢ÖжϷ¢Ëͺ͵ȴý¶ÓÁеȵȡ£
ÂÖѯ·½Ê½Òâζ×ÅÐèÒª¾³£¶ÁÈ¡É豸µÄ״̬£¬Ò»Ö±µ½É豸״̬±íÃ÷ÇëÇóÒѾÍê³ÉΪֹ¡£Èç¹ûÉ豸Çý¶¯±»Á¬½Ó½øÈëºËÐÄ£¬ÕâʱʹÓÃÂÖѯ·½Ê½½«»á´øÀ´ÔÖÄÑÐÔºó¹û£ººËÐĽ«Ôڴ˹ý³ÌÖÐÎÞËùÊÂÊ£¬Ö±µ½É豸Íê³É´ËÇëÇó¡£µ«ÊÇÂÖѯÉ豸Çý¶¯¿ÉÒÔͨ¹ýʹÓÃϵͳ¶¨Ê±Æ÷£¬Ê¹ºËÐÄÖÜÆÚÐÔµ÷ÓÃÉ豸Çý¶¯ÖеÄij¸öÀý³ÌÀ´¼ì²éÉ豸״̬¡£ ¶¨Ê±Æ÷¹ý³Ì¿ÉÒÔ¼ì²éÃüÁî״̬¼°LinuxÈíÅÌÇý¶¯µÄ¹¤×÷Çé¿ö¡£Ê¹Óö¨Ê±Æ÷ÊÇÂÖѯ·½Ê½ÖÐ×îºÃµÄÒ»ÖÖ£¬µ«¸üÓÐЧµÄ·½·¨ÊÇʹÓÃÖжϡ£
»ùÓÚÖжϵÄÉ豸Çý¶¯»áÔÚËüËù¿ØÖƵÄÓ²¼þÉ豸ÐèÒª·þÎñʱÒý·¢Ò»¸öÓ²¼þÖжϡ£ÈçÒÔÌ«ÍøÉ豸Çý¶¯´ÓÍøÂçÉϽÓÊÕµ½Ò»¸öÒÔÌ«Êý¾Ý±¨Ê±¶¼½«ÒýÆðÖжϡ£LinuxºËÐÄÐèÒª½«À´×ÔÓ²¼þÉ豸µÄÖжϴ«µÝµ½ÏàÓ¦µÄÉ豸Çý¶¯¡£Õâ¸ö¹ý³ÌÓÉÉ豸Çý¶¯ÏòºËÐÄ×¢²áÆäʹÓõÄÖжÏÀ´ÐÖúÍê³É¡£´ËÖжϴ¦ÀíÀý³ÌµÄµØÖ·ºÍÖжϺŶ¼½«±»¼Ç¼ÏÂÀ´¡£ÔÚ/proc/interruptsÎļþÖÐÄã¿ÉÒÔ¿´µ½É豸Çý¶¯Ëù¶ÔÓ¦µÄÖжϺż°ÀàÐÍ£º
0: 727432 timer 1: 20534 keyboard 2: 0 cascade 3: 79691 + serial 4: 28258 + serial 5: 1 sound blaster 11: 20868 + aic7xxx 13: 1 math error 14: 247 + ide0 15: 170 + ide1
¶ÔÖжÏ×ÊÔ´µÄÇëÇóÔÚÇý¶¯³õʼ»¯Ê±¾ÍÒѾÍê³É¡£×÷ΪIBM PCÌåϵ½á¹¹µÄÒŲú£¬ÏµÍ³ÖÐÓÐЩÖжÏÒѾ¹Ì¶¨¡£ÀýÈçÈíÅÌ¿ØÖÆÆ÷×ÜÊÇʹÓÃÖжÏ6¡£ÆäËüÖжϣ¬ÈçPCIÉ豸Öжϣ¬ÔÚÆô¶¯Ê±½øÐж¯Ì¬·ÖÅä¡£É豸Çý¶¯±ØÐëÔÚÈ¡µÃ¶Ô´ËÖжϵÄËùÓÐȨ֮ǰÕÒµ½ËüËù¿ØÖÆÉ豸µÄÖжϺţ¨IRQ£©¡£Linuxͨ¹ýÖ§³Ö±ê×¼µÄPCI BIOS»Øµ÷º¯ÊýÀ´È·¶¨ÏµÍ³ÖÐPCIÉ豸µÄÖжÏÐÅÏ¢£¬°üÀ¨ÆäIRQºÅ¡£
ÈçºÎ½«ÖжϷ¢Ë͸øCPU±¾ÉíÈ¡¾öÓÚÌåϵ½á¹¹£¬µ«ÊÇÔÚ¶àÊýÌåϵ½á¹¹ÖУ¬ÖжÏÒÔÒ»ÖÖÌØÊâģʽ·¢ËÍͬʱ»¹½«×èֹϵͳÖÐÆäËüÖжϵIJúÉú¡£É豸Çý¶¯ÔÚÆäÖжϴ¦Àí¹ý³ÌÖÐ×÷µÄÔ½ÉÙÔ½ºÃ£¬ÕâÑùLinuxºËÐĽ«ÄܺܿìµÄ´¦ÀíÍêÖжϲ¢·µ»ØÖжÏǰµÄ״̬ÖС£ÎªÁËÔÚ½ÓÊÕÖжÏʱÍê³É´óÁ¿¹¤×÷£¬É豸Çý¶¯±ØÐëÄܹ»Ê¹ÓúËÐĵĵײ㴦ÀíÀý³Ì»òÕßÈÎÎñ¶ÓÁÐÀ´¶ÔÒÔºóÐèÒªµ÷ÓõÄÄÇЩÀý³Ì½øÐÐÅŶӡ£
Êý¾ÝÁ¿±È½ÏÉÙʱ£¬Ê¹ÓÃÖжÏÇý¶¯É豸Çý¶¯³ÌÐòÄÜ˳ÀûµØÔÚÓ²¼þÉ豸ºÍÄÚ´æÖ®¼ä½»»»Êý¾Ý¡£ÀýÈç²¨ÌØÂÊΪ9600µÄmodem¿ÉÒÔÿºÁÃë´«ÊäÒ»¸ö×Ö·û¡£Èç¹ûÓ²¼þÉ豸ÒýÆðÖжϺ͵÷ÓÃÉ豸Çý¶¯ÖжÏËùÏûºÄµÄÖжÏʱÑӱȽϴó£¨Èç2ºÁÃ룩ÔòϵͳµÄ×ÛºÏÊý¾Ý´«ÊäÂÊ»áºÜµÍ¡£Ôò9600²¨ÌØÂÊmodemµÄÊý¾Ý´«ÊäÖ»ÄÜÀûÓÃ0.002%µÄCPU´¦Àíʱ¼ä¡£¸ßËÙÉ豸ÈçÓ²ÅÌ¿ØÖÆÆ÷»òÕßÒÔÌ«ÍøÉ豸Êý¾Ý´«ÊäÂʽ«¸ü¸ß¡£SCSIÉ豸µÄÊý¾Ý´«ÊäÂʿɴﵽÿÃë40M×Ö½Ú¡£
Ö±½ÓÄÚ´æ´æÈ¡£¨DMA£©Êǽâ¾ö´ËÀàÎÊÌâµÄÓÐЧ·½·¨¡£DMA¿ØÖÆÆ÷¿ÉÒÔÔÚ²»ÊÜ´¦ÀíÆ÷¸ÉÔ¤µÄÇé¿öÏÂÔÚÉ豸ºÍϵͳÄÚ´æÖ®¼ä¸ßËÙ´«ÊäÊý¾Ý¡£PC»úµÄISA DMA¿ØÖÆÆ÷ÓÐ8¸öDMAͨµÀ£¬ÆäÖÐÆß¸ö¿ÉÒÔÓÉÉ豸Çý¶¯Ê¹Óá£Ã¿¸öDMAͨµÀ¾ßÓÐÒ»¸ö16λµÄµØÖ·¼Ä´æÆ÷ºÍÒ»¸ö16λµÄ¼ÇÊý¼Ä´æÆ÷¡£ÎªÁ˳õʼ»¯Êý¾Ý´«Ê䣬É豸Çý¶¯½«ÉèÖÃDMAͨµÀµØÖ·ºÍ¼ÇÊý¼Ä´æÆ÷ÒÔÃèÐðÊý¾Ý´«Êä·½ÏòÒÔ¼°¶ÁдÀàÐÍ¡£È»ºó֪ͨÉ豸¿ÉÒÔÔÚÈκÎʱºòÆô¶¯DMA²Ù×÷¡£´«Êä½áÊøÊ±É豸½«ÖжÏPC¡£ÔÚ´«Êä¹ý³ÌÖÐCPU¿ÉÒÔתȥִÐÐÆäËûÈÎÎñ¡£
É豸Çý¶¯Ê¹ÓÃDMAʱ±ØÐëÊ®·ÖСÐÄ¡£Ê×ÏÈDMA¿ØÖÆÆ÷ûÓÐÈκÎÐéÄâÄÚ´æµÄ¸ÅÄËüÖ»´æÈ¡ÏµÍ³ÖеÄÎïÀíÄڴ档ͬʱÓÃ×÷DMA´«Ê仺³åµÄÄÚ´æ¿Õ¼ä±ØÐëÊÇÁ¬ÐøÎïÀíÄÚ´æ¿é¡£ÕâÒâζ×Ų»ÄÜÔÚ½ø³ÌÐéÄâµØÖ·¿Õ¼äÄÚÖ±½ÓʹÓÃDMA¡£µ«ÊÇÄã¿ÉÒÔ½«½ø³ÌµÄÎïÀíÒ³Ãæ¼ÓËøÒÔ·ÀÖ¹ÔÚDMA²Ù×÷¹ý³ÌÖб»½»»»µ½½»»»É豸ÉÏÈ¥¡£ÁíÍâDMA¿ØÖÆÆ÷Ëù´æÈ¡ÎïÀíÄÚ´æÓÐÏÞ¡£DMAͨµÀµØÖ·¼Ä´æÆ÷´ú±íDMAµØÖ·µÄ¸ß16λ¶øÒ³Ãæ¼Ä´æÆ÷¼Ç¼µÄÊÇÆäÓà8λ¡£ËùÒÔDMAÇëÇó±»ÏÞÖÆµ½ÄÚ´æ×îµÍ16M×Ö½ÚÖС£
DMAͨµÀÊǷdz£Õä¹óµÄ×ÊÔ´£¬Ò»¹²²ÅÓÐ7¸ö²¢ÇÒ»¹²»Äܹ»ÔÚÉ豸Çý¶¯¼ä¹²Ïí¡£ÓëÖжÏÒ»Ñù£¬É豸Çý¶¯±ØÐëÕÒµ½ËüÓ¦¸ÃʹÓÃÄǸöDMAͨµÀ¡£ÓÐЩÉ豸ʹÓù̶¨µÄDMAͨµÀ¡£ÀýÈçÈíÅÌÉ豸×ÜʹÓÃDMAͨµÀ2¡£ÓÐʱÉ豸µÄDMAͨµÀ¿ÉÒÔÓÉÌøÏßÀ´ÉèÖã¬Ðí¶àÒÔÌ«ÍøÉ豸ʹÓÃÕâÖÖ¼¼Êõ¡£Éè¼ÆÁé»îµÄÉ豸½«¸æËßϵͳËü½«Ê¹ÓÃÄĸöDMAͨµÀ£¬´ËʱÉ豸Çý¶¯½öÐèÒª´ÓDMAͨµÀÖÐѡȡ¼´¿É¡£
Linuxͨ¹ýdma_chan£¨Ã¿¸öDMAͨµÀÒ»¸ö£©Êý×éÀ´¸ú×ÙDMAͨµÀµÄʹÓÃÇé¿ö¡£dma_chan½á¹¹Öаüº¬ÓÐÁ½¸öÓò£¬Ò»¸öÊÇÖ¸Ïò´ËDMAͨµÀÓµÓÐÕßµÄÖ¸Õ룬ÁíÒ»¸öָʾDMAͨµÀÊÇ·ñÒѾ±»·ÖÅä³öÈ¥¡£µ±ÇÃÈëcat /proc/dma´òÓ¡³öÀ´µÄ½á¹û¾ÍÊÇdma_chan½á¹¹Êý×é¡£
LinuxΪÉ豸Çý¶¯ÌṩÁËÒ»×éºËÐÄÄÚ´æ·ÖÅäÓë»ØÊÕ¹ý³Ì¡£ºËÐÄÄÚ´æÒÔ2µÄ´ÎÃÝ´óСµÄ¿éÀ´·ÖÅä¡£Èç512»ò128×Ö½Ú£¬´Ëʱ¼´Ê¹É豸Çý¶¯µÄÐèÇóСÓÚÕâ¸öÊýÁ¿Ò²»á·ÖÅäÕâô¶à¡£ËùÒÔÉ豸Çý¶¯µÄÄÚ´æ·ÖÅäÇëÇó¿ÉµÃµ½ÒÔ¿é´óСΪ±ß½çµÄÄÚ´æ¡£ÕâÑùºËÐĽøÐпÕÏпé×éºÏ¸ü¼ÓÈÝÒס£
ÇëÇó·ÖÅäºËÐÄÄÚ´æÊ±LinuxÐèÒªÍê³ÉÐí¶à¶îÍâµÄ¹¤×÷¡£Èç¹ûϵͳÖпÕÏÐÄÚ´æÊýÁ¿½ÏÉÙ£¬Ôò¿ÉÄÜÐèÒª¶ªÆúЩÎïÀíÒ³Ãæ»ò½«ÆäдÈë½»»»É豸¡£Ò»°ãÇé¿öÏÂLinux½«¹ÒÆðÇëÇóÕß²¢½«´Ë½ø³Ì·ÅÖõ½µÈ´ý¶ÓÁÐÖÐÖ±µ½ÏµÍ³ÖÐÓÐ×ã¹»µÄÎïÀíÄÚ´æÎªÖ¹¡£²»ÊÇËùÓеÄÉ豸Çý¶¯£¨»òÕßÕæÕýµÄLinuxºËÐÄ´úÂ룩¶¼»á¾ÀúÕâ¸ö¹ý³Ì£¬ËùÒÔÈç·ÖÅäºËÐÄÄÚ´æµÄÇëÇó²»ÄÜÁ¢¿ÌµÃµ½Âú×ã,Ôò´ËÇëÇó¿ÉÄÜ»áʧ°Ü¡£Èç¹ûÉ豸Çý¶¯Ï£ÍûÔÚ´ËÄÚ´æÖнøÐÐDMA£¬ÄÇôËü±ØÐ뽫´ËÄÚ´æÉèÖÃΪDMAʹÄܵġ£ÕâÒ²ÊÇΪʲôÊÇLinuxºËÐĶø²»ÊÇÉ豸Çý¶¯ÐèÒªÁ˽âϵͳÖеÄDMAʹÄÜÄÚ´æµÄÔÒò¡£
Linux¶¯Ì¬ÐÔºÜÇ¿¡£Ã¿´ÎLinuxºËÐÄÆô¶¯Ê±ÈçÓöµ½²»Í¬µÄÎïÀíÉ豸½«ÐèÒª²»Í¬µÄÎïÀíÉ豸Çý¶¯¡£LinuxÔÊÐíͨ¹ýÅäÖýű¾ÔÚºËÐÄÖØ½¨Ê±½«É豸Çý¶¯°üº¬ÔÚÄÚ¡£É豸Çý¶¯ÔÚÆô¶¯³õʼ»¯Ê±¿ÉÄܻᷢÏÖϵͳÖиù±¾Ã»ÓÐÈκÎÓ²¼þÐèÒª¿ØÖÆ¡£ÆäËüÉ豸Çý¶¯¿ÉÒÔÔÚ±ØÒªÊ±×÷ΪºËÐÄÄ£¿é¶¯Ì¬¼ÓÔØµ½¡£ÎªÁË´¦ÀíÉ豸Çý¶¯µÄ¶¯Ì¬ÊôÐÔ£¬É豸Çý¶¯ÔÚ³õʼ»¯Ê±½«Æä×¢²áµ½ºËÐÄÖÐÈ¥¡£Linuxά»¤×ÅÒÑ×¢²áÉ豸Çý¶¯±í×÷ΪºÍÉ豸Çý¶¯µÄ½Ó¿Ú¡£ÕâЩ±íÖаüº¬Ö§³Ö´ËÀàÉ豸Àý³ÌµÄÖ¸ÕëºÍÏà¹ØÐÅÏ¢¡£
×Ö·ûÉ豸ÊÇLinuxÉ豸ÖÐ×î¼òµ¥µÄÒ»ÖÖ¡£Ó¦ÓóÌÐò¿ÉÒԺʹæÈ¡ÎļþÏàͬµÄϵͳµ÷ÓÃÀ´´ò¿ª¡¢¶Áд¼°¹Ø±ÕËü¡£¼´Ê¹´ËÉ豸Êǽ«LinuxϵͳÁ¬½Óµ½ÍøÂçÖеÄPPPºǫ́½ø³ÌµÄmodemÒ²ÊÇÈç´Ë¡£×Ö·ûÉ豸³õʼ»¯Ê±£¬ËüµÄÉ豸Çý¶¯Í¨¹ýÔÚdevice_struct½á¹¹µÄchrdevsÊý×éÖÐÌí¼ÓÒ»¸öÈë¿ÚÀ´½«Æä×¢²áµ½LinuxºË ÐÄÉÏ¡£É豸µÄÖ÷É豸±êÖ¾·ûÓÃÀ´¶Ô´ËÊý×é½øÐÐË÷Òý£¨Èç¶ÔttyÉ豸µÄË÷Òý4£©¡£É豸µÄÖ÷É豸±êÖ¾·ûÊǹ̶¨µÄ¡£
chrdevsÊý×éÿ¸öÈë¿ÚÖеÄdevice_structÊý¾Ý½á¹¹°üº¬Á½¸öÔªËØ£»Ò»¸öÖ¸ÏòÒÑ×¢²áµÄÉ豸Çý¶¯Ãû³Æ£¬ÁíÒ»¸öÔòÊÇÖ¸ÏòÒ»×éÎļþ²Ù×÷Ö¸Õë¡£ËüÃÇÊÇλÓÚ´Ë×Ö·ûÉ豸Çý¶¯ÄÚ²¿µÄÎļþ²Ù×÷Àý³ÌµÄµØÖ·Ö¸Õ룬ÓÃÀ´´¦ÀíÏà¹ØµÄÎļþ²Ù×÷Èç´ò¿ª¡¢¶ÁдÓë¹Ø±Õ¡£/proc/devicesÖÐ×Ö·ûÉ豸µÄÄÚÈÝÀ´×ÔchrdevsÊý×é¡£
µ±´ò¿ª´ú±í×Ö·ûÉ豸µÄ×Ö·ûÌØÊâÎļþʱ£¨Èç/dev/cua0£©£¬ºËÐıØÐë×÷ºÃ×¼±¸ÒÔ±ãµ÷ÓÃÏàÓ¦×Ö·ûÉ豸Çý¶¯µÄÎļþ²Ù×÷Àý³Ì¡£ÓëÆÕͨµÄĿ¼ºÍÎļþÒ»Ñù£¬Ã¿¸ö×Ö·ûÌØÊâÎļþÓÃÒ»¸öVFS½Úµã±íʾ¡£Ã¿¸ö×Ö·ûÌØÊâÎļþʹÓõÄVFS inodeºÍËùÓÐÉè±¸ÌØÊâÎļþÒ»Ñù£¬°üº¬×ÅÉ豸µÄÖ÷´Ó±êÖ¾·û¡£Õâ¸öVFS inodeÓɵײãµÄÎļþϵͳÀ´½¨Á¢£¨±ÈÈçEXT2£©£¬ÆäÐÅÏ¢À´Ô´ÓÚÉ豸Ïà¹ØÎļþÃû³ÆËùÔÚÎļþϵͳ¡£
ÿ¸öVFS inodeºÍÒ»×éÎļþ²Ù×÷Ïà¹ØÁª,ËüÃǸù¾Ýinode´ú±íµÄÎļþϵͳ¶ÔÏó±ä»¯¶ø²»Í¬¡£µ±´´½¨Ò»¸ö´ú±í×Ö·ûÏà¹ØÎļþµÄVFS inodeʱ£¬ÆäÎļþ²Ù×÷±»ÉèÖÃΪȱʡµÄ×Ö·ûÉ豸²Ù×÷¡£
×Ö·ûÉ豸ֻÓÐÒ»¸öÎļþ²Ù×÷:´ò¿ªÎļþ²Ù×÷¡£µ±Ó¦Óôò¿ª×Ö·ûÌØÊâÎļþʱ£¬Í¨ÓÃÎļþ´ò¿ª²Ù×÷ʹÓÃÉ豸µÄÖ÷±êÖ¾·ûÀ´Ë÷Òý´ËchrdevsÊý×飬ÒÔ±ãµÃµ½ÄÇЩÎļþ²Ù×÷º¯ÊýÖ¸Õ롣ͬʱ½¨Á¢ÆðÃèÐð´Ë×Ö·ûÌØÊâÎļþµÄfile½á¹¹,ʹÆäÎļþ²Ù×÷Ö¸ÕëÖ¸Ïò´ËÉ豸Çý¶¯ÖеÄÎļþ²Ù×÷Ö¸Õ뼯ºÏ¡£ÕâÑùËùÓÐÓ¦ÓöÔËü½øÐеÄÎļþ²Ù×÷¶¼±»Ó³Éäµ½´Ë×Ö·ûÉ豸µÄÎļþ²Ù×÷¼¯ºÏÉÏ¡£
ºÍÆÕͨÎļþ²Ù×÷½Ó¿ÚÒ»Ñù, ÿ¸ö¿éÉ豸Çý¶¯±ØÐëΪbuffer cacheÌṩ½Ó¿Ú¡£Ã¿¸ö¿éÉ豸Çý¶¯½«Ìî³äÆäÔÚblk_devÊý×éÖеÄblk_dev_struct½á¹¹Èë¿Ú¡£Êý×éµÄË÷ÒýÖµ»¹ÊÇ´ËÉ豸µÄÖ÷É豸ºÅ¡£Õâ¸öblk_dev_struct½á¹¹°üº¬ÇëÇó¹ý³ÌµÄµØÖ·ÒÔ¼°Ö¸ÏòÇëÇóÊý¾Ý½á¹¹Á´±íµÄÖ¸Õ룬ÿ¸ö´ú±íÒ»¸ö´Óbuffer cacheÖÐÀ´ÈÃÉ豸½øÐÐÊý¾Ý¶ÁдµÄÇëÇó¡£
ÿµ±buffer cacheÏ£Íû´ÓÒ»¸öÒÑ×¢²áÉ豸ÖжÁдÊý¾Ý¿éʱ,Ëü»á½«request½á¹¹Ìí¼Óµ½Æäblk_dev_structÖС£Í¼8.2±íʾÿ¸öÇëÇóÓÐÖ¸ÏòÒ»¸ö»ò¶à¸öbuffer_hear½á¹¹µÄÖ¸Õ룬ÿ¸öÇëÇó¶Áдһ¿éÊý¾Ý¡£Èçbuffer cache¶Ôbuffer_head½á¹¹ÉÏËø, Ôò½ø³Ì»áµÈ´ýµ½¶Ô´Ë»º³åµÄ¿é²Ù×÷Íê³É¡£Ã¿¸örequest½á¹¹¶¼´Ó¾²Ì¬Á´±íall_requestsÖзÖÅä¡£Èç¹û´ËÇëÇó±»¼ÓÈëµ½¿ÕÇëÇóÁ´±íÖÐ,Ôò½«µ÷ÓÃÇý¶¯ÇëÇóº¯ÊýÒÔÆô¶¯´ËÇëÇó¶ÓÁеĴ¦Àí,·ñÔò¸ÃÉ豸Çý¶¯½«¼òµ¥µØ´¦ÀíÇëÇóÁ´±íÉϵÄrequest ¡£
Ò»µ©É豸Çý¶¯Íê³ÉÁËÇëÇóÔòËü±ØÐ뽫ÿ¸öbuffer_heard½á¹¹´Órequest½á¹¹ÖÐÇå³ý£¬½«ËüÃDZê¼Ç³ÉÒѸüÐÂ״̬²¢½âËøÖ®¡£¶Ôbuffer_headµÄ½âËø½«»½ÐÑËùÓеȴý´Ë¿é²Ù×÷Íê³ÉµÄ˯Ãß½ø³Ì¡£Èç½âÎöÎļþÃû³ÆÊ±,EXT2Îļþϵͳ±ØÐë´Ó°üº¬´ËÎļþϵͳµÄÉ豸ÖжÁÈ¡°üº¬Ï¸öEXT2Ŀ¼Èë¿ÚµÄÊý¾Ý¿é¡£ÔÚbuffer_headÉÏ˯ÃߵĽø³ÌÔÚÉ豸Çý¶¯±»»½ÐѺ󽫰üº¬´ËĿ¼Èë¿Ú¡£requestÊý¾Ý½á¹¹±»±ê¼Ç³É¿ÕÏÐÒԱ㱻ÆäËü¿éÇëÇóʹÓá£
´ÅÅÌÇý¶¯Æ÷ÌṩÁËÒ»¸öÓÀ¾ÃÐÔ´æ´¢Êý¾ÝµÄ·½Ê½£¬½«Êý¾Ý±£´æÔÚÐýתµÄÅÌÆ¬ÉÏ¡£Ð´ÈëÊý¾Ýʱ´ÅÍ·½«´Å»¯ÅÌÆ¬ÉϵÄÒ»¸öС΢Á£¡£ÕâЩÅÌÆ¬±»Á¬½Óµ½Ò»¸öÖÐÖáÉϲ¢ÒÔ3000µ½10£¬000RPM£¨Ã¿·ÖÖÓ¶àÉÙת£©µÄºã¶¨ËÙ¶ÈÐýת¡£¶øÈíÅ̵ÄתËÙ½öΪ360RPM¡£´ÅÅ̵ĶÁ/д´ÅÍ·¸ºÔð¶ÁдÊý¾Ý£¬Ã¿¸öÅÌÆ¬µÄÁ½²à¸÷ÓÐÒ»¸ö´ÅÍ·¡£´ÅÍ·¶Áдʱ²¢²»½Ó´¥ÅÌÆ¬±íÃæ¶øÊǸ¡ÔÚ¾à±íÃæ·Ç³£½üµÄ¿ÕÆøµæÖУ¨°ÙÍò·ÖÖ®Ò»Ó¢´ç£©¡£´ÅÍ·ÓÉÒ»¸öÂí´ïÇý¶¯ÔÚÅÌÆ¬±íÃæÒÆ¶¯¡£ËùÓеĴÅÍ·±»Á¬ÔÚÒ»Æð£¬ËüÃÇͬʱ´©¹ýÅÌÆ¬µÄ±íÃæ¡£
ÅÌÆ¬µÄÿ¸ö±íÃæ¶¼±»»®·Ö³ÉΪ½Ð×ö´ÅµÀµÄÏÁÕͬÐÄÔ²¡£0´ÅµÀλÓÚ×îÍâÃæ¶ø×î´ó´ÅµÀλÓÚ×î¿¿½üÖÐÑëÖ÷Öá¡£ÖùÃæÖ¸Ò»×éÏàͬ´ÅµÀºÅµÄ´ÅµÀ¡£ËùÒÔÿ¸öÅÌÆ¬ÉϵĵÚÎå´ÅµÀ×é³ÉÁË´ÅÅ̵ĵÚÎåÖùÃæ¡£ÓÉÓÚÖùÃæºÅÓë´ÅµÀºÅÏàµÈËùÒÔÎÒÃǾ³£¿ÉÒÔ¿´µ½ÒÔÖùÃæÃèÐðµÄ´ÅÅ̲¼¾Ö¡£Ã¿¸ö´ÅµÀ¿É½øÒ»²½»®·Ö³ÉÉÈÇø¡£ËüÊÇÓ²ÅÌÊý¾Ý¶ÁдµÄ×îСµ¥ÔªÍ¬Ê±Ò²ÊÇ´ÅÅ̵Ŀé´óС¡£Ò»°ãµÄÉÈÇø´óСΪ512×Ö½Ú²¢ÇÒÕâ¸ö´óС¿ÉÒÔ´ÅÅÌÖÆÔì³öÀ´ºó¸ñʽ»¯Ê±ÉèÖá£
Ò»¸ö´ÅÅ̾³£±»Ãè»æ³ÉÓжàÉÙ¸÷ÖùÃæ¡¢´ÅÍ·ÒÔ¼°ÉÈÇø¡£ÀýÈçϵͳÆô¶¯Ê±Linux½«ÕâÑùÃèÐðÒ»¸öIDEÓ²ÅÌ£º
hdb: Conner Peripherals 540MB - CFS540A, 516MB w/64kB Cache, CHS=1050/16/63
Õâ±íʾ´Ë´ÅÅÌÓÐ1050¸÷ÖùÃæ£¨´ÅµÀ£©£¬16¸ö´ÅÍ·£¨8¸öÅÌÆ¬£©ÇÒÿ´ÅµÀ°üº¬63¸öÉÈÇø¡£ÕâÑùÎÒÃÇ¿ÉÒÔͨ¹ýÉÈÇøÊý¡¢¿éÊýÒÔ¼°512×Ö½ÚÉÈÇø´óС¼ÆËã³ö´ÅÅ̵Ĵ洢ÈÝÁ¿Îª529200×Ö½Ú¡£Õâ¸öÈÝÁ¿ºÍ´ÅÅÌ×ÔÉíÉù³ÆµÄ516M×Ö½Ú²¢²»Ïàͬ£¬ÕâÊÇÒòΪÓÐЩÉÈÇø±»ÓÃÀ´´æ·Å´ÅÅÌ·ÖÇøÐÅÏ¢¡£ÓÐЩ´ÅÅÌ»¹ÄÜ×Ô¶¯Ñ°ÕÒ»µÉÈÇø²¢ÖØÐÂË÷Òý´ÅÅÌÒÔÕý³£Ê¹Óá£
ÎïÀíÓ²Å̿ɽøÒ»²½»®·Ö³É·ÖÇø¡£Ò»¸ö·ÖÇøÊÇÒ»´ó×éÎªÌØÊâÄ¿µÄ¶ø·ÖÅäµÄÉÈÇø¡£¶Ô´ÅÅ̽øÐзÖÇøÊ¹µÃ´ÅÅÌ¿ÉÒÔͬʱ±»¼¸¸ö²Ù×÷ϵͳ»ò²»Í¬Ä¿µÄʹÓá£Ðí¶àLinuxϵͳ¾ßÓÐÈý¸ö·ÖÇø£ºDOSÎļþϵͳ·ÖÇø£¬EXT2Îļþϵͳ·ÖÇøºÍ½»»»·ÖÇø¡£Ó²ÅÌ·ÖÇøÓ÷ÖÇø±íÀ´ÃèÐ𣻱íÖÐÿ¸öÈë¿ÚÓôÅÍ·¡¢ÉÈÇø¼°ÖùÃæºÅÀ´±íʾ·ÖÇøµÄÆðʼÓë½áÊø¡£¶ÔÓÚÓÃDOS¸ñʽ»¯µÄÓ²ÅÌÓÐ4¸öÖ÷·ÖÇø±í¡£µ«²»Ò»¶¨ËùÓеÄËĸöÈë¿Ú¶¼±»Ê¹Óá£fdisk Ö§³Ö3ÖзÖÇøÀàÐÍ£ºÖ÷·ÖÇø¡¢À©Õ¹·ÖÇø¼°Âß¼·ÖÇø¡£À©Õ¹·ÖÇø²¢²»ÊÇÕæÕýµÄ·ÖÇø£¬ËüÖ»²»¹ý°üº¬Á˼¸¸öÂß¼·ÖÇø¡£À©Õ¹ºÍÂß¼·ÖÇøÓÃÀ´´òÆÆËĸöÖ÷·ÖÇøµÄÏÞÖÆ¡£ÒÔÏÂÊÇÒ»¸ö°üº¬Á½¸öÖ÷·ÖÇøµÄfdiskÃüÁîµÄÊä³ö£º
Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders Units = cylinders of 2048 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 478 489456 83 Linux native /dev/sda2 479 479 510 32768 82 Linux swap Expert command (m for help): p Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID 1 00 1 1 0 63 32 477 32 978912 83 2 00 0 1 478 63 32 509 978944 65536 82 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
ÕâЩÄÚÈݱíÃ÷µÚÒ»¸ö·ÖÇø´ÓÖùÃæ£¨»òÕߴŵÀ£©0£¬Í·1ºÍÉÈÇø1¿ªÊ¼Ò»Ö±µ½ÖùÃæ477£¬ÉÈÇø22ºÍÍ·63½áÊø¡£ ÓÉÓÚÿ´ÅµÀÓÐ32¸öÉÈÇøÇÒÓÐ64¸ö¶Áд´ÅÍ·Ôò´Ë·ÖÇøÔÚ´óСÉϵÈÓÚÖùÃæÊý¡£fdiskʹ·ÖÇøÔÚÖùÃæ±ß½çÉÏ¶ÔÆë¡£ Ëü´Ó×îÍâÃæµÄÖùÃæ0¿ªÊ¼²¢ÏòÖмäÀ©Õ¹478¸öÖùÃæ¡£µÚ¶þ¸ö·ÖÇø£º½»»»·ÖÇø´Ó478ºÅÖùÃæ¿ªÊ¼²¢À©Õ¹µ½´ÅÅ̵Ä×îÄÚȦ¡£
ÔÚ³õʼ»¯¹ý³ÌÖÐLinuxÈ¡µÃϵͳÖÐÓ²Å̵ÄÍØÆË½á¹¹Ó³Éä¡£ËüÕÒ³öÓжàÉÙÖÐÓ²ÅÌÒÔ¼°ÊÇʲôÀàÐÍ¡£ÁíÍâLinux »¹ÒªÕÒµ½Ã¿¸öÓ²Å̵ķÖÇø·½Ê½¡£ËùÓÐÕâЩ¶¼ÓÃÓÉgendisk_headÁ´Ö¸ÕëÖ¸ÏòµÄgendisk½á¹¹Á´±íÀ´±íʾ¡£Ã¿¸ö´ÅÅÌ×ÓϵͳÈçIDEÔÚ³õʼ»¯Ê±²úÉú±íʾ´ÅÅ̽ṹµÄgendisk½á¹¹¡£Í¬Ê±Ëü½«×¢²áÆäÎļþ²Ù×÷Àý³Ì²¢½«´ËÈë¿ÚÌí¼Óµ½blk_devÊý¾Ý½á¹¹ÖС£Ã¿¸ögendisk½á¹¹°üº¬Î¨Ò»µÄÖ÷É豸ºÅ£¬ËüÓë¿éÏà¹ØÉ豸µÄÖ÷É豸ºÅÏàͬ¡£ÀýÈçSCSI´ÅÅÌ×Óϵͳ´´½¨ÁËÒ»¸öÖ÷É豸ºÅΪ8µÄgendiskÈë¿Ú£¨"sd"£©£¬ÕâÒ²ÊÇËùÓÐSCSIÓ²ÅÌÉ豸µÄÖ÷É豸ºÅ¡£Í¼8.3¸ø³öÁËÁ½¸ögendiskÈë¿Ú£¬Ò»¸ö±íʾSCSI´ÅÅÌ×Óϵͳ¶øÁíÒ»¸ö±íʾIDE´ÅÅÌ¿ØÖÆÆ÷¡£ide0±íʾÖ÷IDE¿ØÖÆÆ÷¡£
¾¡¹Ü´ÅÅÌ×ÓϵͳÔÚÆä³õʼ»¯¹ý³ÌÖоͽ¨Á¢ÁËgendiskÈë¿Ú, µ«ÊÇÖ»ÓÐLinux×÷·ÖÇø¼ì²éʱ²ÅʹÓá£Ã¿¸ö´ÅÅÌ×Óϵͳͨ¹ýά»¤Ò»×éÊý¾Ý½á¹¹½«ÎïÀíÓ²ÅÌÉϵķÖÇøÓëij¸öÌØÊâÖ÷´ÓÌØÊâÉ豸»¥ÏàÓ³Éä¡£ÎÞÂÛºÎʱͨ¹ý buffer cache»òÎļþ²Ù×÷¶Ô¿éÉ豸µÄ¶Áд¶¼½«±»ºËÐ͍Ïòµ½¶Ô¾ßÓÐij¸öÌØ¶¨Ö÷É豸ºÅµÄÉ豸ÎļþÉÏ£¨Èç /dev/sda2£©¡£¶ø´ÓÉ豸ºÅµÄ¶¨Î»Óɸ÷×ÔÉ豸Çý¶¯»ò×ÓϵͳÀ´Ó³Éä¡£
LinuxϵͳÉÏʹÓõÃ×î¹ã·ºµÄÓ²ÅÌÊǼ¯³Éµç×Ó´ÅÅÌ»òÕßIDEÓ²ÅÌ¡£IDEÊÇÒ»¸öÓ²Å̽ӿڶø²»ÊÇÀàËÆSCSIµÄI/O×ÜÏß½Ó¿Ú¡£Ã¿¸öIDE¿ØÖÆÆ÷Ö§³ÖÁ½¸öÓ²ÅÌ£¬Ò»¸öΪÖ÷ÁíÒ»¸öΪ´Ó¡£Ö÷´ÓÓ²ÅÌ¿ÉÒÔͨ¹ýÅÌÉϵÄÌøÏßÀ´ÉèÖá£ÏµÍ³ÖеĵÚÒ»¸öIDE¿ØÖÆÆ÷³ÉΪÖ÷IDE¿ØÖÆÆ÷¶øÁíÒ»¸öΪ´ÓÊô¿ØÖÆÆ÷¡£IDE¿ÉÒÔÒÔÿÃë3.3M×ֽڵĴ«ÊäÂÊ´«ÊäÊý¾ÝÇÒ×î´óÈÝÁ¿Îª538M×Ö½Ú¡£EIDE»òÔöǿʽIDE¿ÉÒÔ½«´ÅÅÌÈÝÁ¿À©Õ¹µ½8.6G×Ö½Ú¶øÊý¾Ý´«ÊäÂÊΪ16.6M×Ö½Ú/Ãë¡£ÓÉÓÚIDEºÍEIDE¶¼±ÈSCSIÓ²Å̱ãÒË, ËùÒÔ´ó¶àÏÖ´úPC»úÔÚ°üº¬Ò»¸ö»ò¼¸¸ö°åÉÏIDE¿ØÖÆÆ÷¡£
LinuxÒÔÆä·¢ÏÖ¿ØÖÆÆ÷µÄ˳ÐòÀ´¶ÔIDEÓ²Å̽øÐÐÃüÃû¡£ÔÚÖ÷¿ØÖÆÆ÷ÖеÄÖ÷ÅÌΪ/dev/hda¶ø´ÓÅÌΪ/dev/hdb¡£/dev/hdcÓÃÀ´±íʾ´ÓÊôIDE¿ØÖÆÆ÷ÖеÄÖ÷ÅÌ¡£IDE×Óϵͳ½«ÏòLinuxºËÐÄ×¢²áIDE¿ØÖÆÆ÷¶ø²»ÊÇIDEÓ²ÅÌ¡£Ö÷IDE¿ØÖÆÆ÷µÄÖ÷±êÖ¾·ûΪ3¶ø´ÓÊôIDE¿ØÖÆÆ÷µÄÖ÷±êÖ¾·ûΪ22¡£Èç¹ûϵͳÖаüº¬Á½¸öIDE¿ØÖÆÆ÷ÔòIDE×ÓϵͳµÄÈë¿ÚÔÚblk_devºÍblkdevsÊý×éµÄµÚ2ºÍµÚ22´¦¡£IDEµÄ¿éÉ豸Îļþ·´Ó¦ÁËÕâÖÖ±àºÅ·½Ê½£¬Ó²ÅÌ /dev/hdaºÍ/dev/hdb¶¼Á¬½Óµ½Ö÷IDE¿ØÖÆÆ÷ÉÏ£¬ÆäÖ÷±êÖ¾·ûΪ3¡£¶ÔIDE×ÓϵͳÉÏÕâЩ¿éÏà¹ØÎļþµÄÎļþ»òÕßbuffer cacheµÄ²Ù×÷¶¼Í¨¹ýºËÐÄʹÓÃÖ÷É豸±êÖ¾·û×÷ΪË÷Òý¶¨Ïòµ½IDE×ÓϵͳÉÏ¡£µ±·¢³öÇëÇóʱ£¬´ËÇëÇóÓÉÄĸöIDEÓ²ÅÌÀ´Íê³ÉÈ¡¾öÓÚIDE×Óϵͳ¡£ÎªÁË×÷µ½ÕâÒ»µãIDE×ÓϵͳʹÓôÓÉ豸±àºÅ¶ÔÓ¦µÄÉè±¸ÌØÊâ±êÖ¾·û£¬ÓÉËü°üº¬µÄÐÅÏ¢À´½«ÇëÇó·¢Ë͵½ÕýÈ·µÄÓ²ÅÌÉÏ¡£Î»ÓÚÖ÷IDE¿ØÖÆÆ÷ÉϵÄIDE´ÓÅÌ/dev/hdbµÄÉ豸±êÖ¾·ûΪ£¨3£¬64£©¡£¶ø´ËÅÌÖеÚÒ»¸ö·ÖÇø£¨/dev/hdb1£©µÄÉ豸±êÖ¾·ûΪ(3£¬65)¡£
IDE´ÅÅÌÓëIBM PC¹ØÏµ·Ç³£ÃÜÇС£ÔÚÕâô¶àÄêÖÐÕâЩÉ豸µÄ½Ó¿Ú·¢ÉúÁ˱仯¡£ÕâʹµÃIDE×ÓϵͳµÄ³õʼ»¯¹ý³Ì±È¿´ÉÏÈ¥Òª¸´Ôӵöࡣ
Linux¿ÉÒÔÖ§³ÖµÄ×î¶àIDE¿ØÖÆÆ÷¸öÊýΪ4¡£Ã¿¸ö¿ØÖÆÆ÷ÓÃide_hwifsÊý×éÖеÄide_hwif_t½á¹¹À´±íʾ¡£Ã¿¸öide_hwif_t½á¹¹°üº¬Á½¸öide_drive_t½á¹¹ÒÔÖ§³ÖÖ÷´ÓIDEÇý¶¯Æ÷¡£ÔÚIDE×ÓϵͳµÄ³õʼ»¯¹ý³ÌÖÐLinuxͨ¹ý·ÃÎÊϵͳCMOSÀ´ÅжÏÊÇ·ñÓйØÓÚÓ²Å̵ÄÐÅÏ¢¡£ÕâÖÖCMOSÓÉµç³Ø¹©µçËùÒÔϵͳ¶ÏµçʱҲ²»»áÒÅʧÆäÖеÄÄÚÈÝ¡£Ëü λÓÚÓÀ²»Í£Ö¹µÄϵͳʵʱʱÖÓÉ豸ÖС£´ËCMOSÄÚ´æµÄλÖÃÓÉϵͳBIOSÀ´ÉèÖã¬Ëü½«Í¨ÖªLinuxϵͳÖÐÓжàÉÙ¸öIDE¿ØÖÆÆ÷ÓëÇý¶¯Æ÷¡£LinuxʹÓÃÕâЩ´ÓBIOSÖз¢ÏֵĴÅÅÌÊý¾ÝÀ´½¨Á¢¶ÔÓ¦´ËÇý¶¯Æ÷µÄide_hwif_t½á¹¹¡£ Ðí¶àÏÖ´úPCϵͳʹÓÃPCIоƬ×éÈçIntel 82430 VXоƬ×齫PCI EIDE¿ØÖÆÆ÷·â×°ÔÚÄÚ¡£IDE×ÓϵͳʹÓÃPCI BIOS»Øµ÷º¯ÊýÀ´¶¨Î»ÏµÍ³ÖÐPCI £¨E£©IDE¿ØÖÆÆ÷¡£È»ºó¶ÔÕâЩоƬ×éµ÷ÓÃPCIÌØ¶¨²éѯÀý³Ì¡£
ÿ´ÎÕÒµ½Ò»¸öIDE½Ó¿Ú»ò¿ØÖÆÆ÷¾ÍÓн¨Á¢Ò»¸öide_hwif_t½á¹¹À´±íʾ¿ØÖÆÆ÷ºÍÓëÖ®ÏàÁ¬µÄÓ²ÅÌ¡£ÔÚ²Ù×÷¹ý³ÌÖÐIDEÇý¶¯Æ÷¶ÔI/OÄÚ´æ¿Õ¼äÖеÄIDEÃüÁî¼Ä´æÆ÷дÈëÃüÁî¡£Ö÷IDE¿ØÖÆÆ÷µÄȱʡ¿ØÖƺÍ״̬¼Ä´æÆ÷ÊÇ0x1F0 - 0x1F7¡£Õâ¸öµØÖ·ÓÉÔçÆÚµÄIBM PC¹æ·¶É趨¡£IDEÇý¶¯Æ÷Ϊÿ¸ö¿ØÖÆÆ÷ÏòLinux×¢²á¿é»º³åcacheºÍVFS½Úµã²¢½«Æä¼ÓÈëµ½blk_devºÍblkdevsÊý×éÖС£IDEÇý¶¯Æ÷ÐèÒªÉêÇëij¸öÖжϡ£Ò»°ãÖ÷IDE¿ØÖÆÆ÷ÖжϺÅΪ14¶ø´ÓÊôIDE¿ØÖÆÆ÷Ϊ15¡£È»¶øÕâЩ¶¼¿ÉÒÔͨ¹ýÃüÁîÐÐÑ¡ÏîÓɺËÐÄÀ´ÖØÔØ¡£IDEÇý¶¯Æ÷ͬʱ»¹½«gendiskÈë¿Ú¼ÓÈëµ½Æô¶¯Ê±·¢ÏÖµÄÿ¸öIDE¿ØÖÆÆ÷µÄgendiskÁ´±íÖÐÈ¥¡£·ÖÇø¼ì²é´úÂëÖªµÀÿ¸öIDE¿ØÖÆÆ÷¿ÉÄܰüº¬Á½¸öIDEÓ²ÅÌ¡£
SCSI£¨Ð¡ÐͼÆËã»úϵͳ½Ó¿Ú£©×ÜÏßÊÇÒ»ÖÖ¸ßЧµÄµã¶ÔµãÊý¾Ý×ÜÏߣ¬Ëü×î¶à¿ÉÒÔÖ§³Ö8¸öÉ豸£¬ÆäÖаüÀ¨¶à¸öÖ÷É豸¡£Ã¿¸öÉ豸ÓÐΨһµÄ±êÖ¾·û²¢¿ÉÒÔͨ¹ýÅÌÉϵÄÌøÏßÀ´ÉèÖá£ÔÚ×ÜÏßÉϵÄÁ½¸öÉ豸¼äÊý¾Ý¿ÉÒÔÒÔͬ²½»òÒì²½·½Ê½£¬ÔÚ32λÊý¾Ý¿í¶ÈÏ´«ÊäÂÊΪ40M×Ö½ÚÀ´½»»»Êý¾Ý¡£SCSI×ÜÏßÉÏ¿ÉÒÔÔÚÉ豸¼äͬʱ´«ÊäÊý¾ÝÓë״̬ÐÅÏ¢¡£initiatorÉ豸ºÍtargetÉ豸¼äµÄÖ´Ðв½Öè×î¶à¿ÉÒÔ°üÀ¨8¸ö²»Í¬µÄ½×¶Î¡£Äã¿ÉÒÔ´Ó×ÜÏßÉÏ5¸öÐźÅÀ´·Ö±æSCSI×ÜÏߵĵ±Ç°½×¶Î¡£Õâ8¸ö½×¶ÎÊÇ£º
Linux SCSI×ÓϵͳÓÉÁ½¸ö»ù±¾²¿·Ö×é³É£¬Ã¿¸öÓÉÒ»¸öÊý¾Ý½á¹¹À´±íʾ¡£
SCSI×ÓϵͳµÄ³õʼ»¯·Ç³£¸´ÔÓ£¬Ëü±ØÐë·´Ó³´¦SCSI×ÜÏß¼°ÆäÉ豸µÄ¶¯Ì¬ÐÔ¡£LinuxÔÚÆô¶¯Ê±³õʼ»¯SCSI×Óϵͳ¡£ Èç¹ûËüÕÒµ½Ò»¸öSCSI¿ØÖÆÆ÷£¨¼´SCSI hosts£©Ôò»áɨÃè´ËSCSI×ÜÏßÀ´ÕÒ³ö×ÜÏßÉϵÄËùÓÐÉ豸¡£È»ºó³õʼ»¯ÕâЩÉ豸²¢Í¨¹ýÆÕͨÎļþºÍbuffer cache¿éÉ豸²Ù×÷ʹLinuxºËÐĵįäËü²¿·ÖÄÜʹÓÃÕâЩÉ豸¡£³õʼ»¯¹ý³Ì·Ö³ÉËĸö½×¶Î£º
Ê×ÏÈLinux½«ÕÒ³öÔÚϵͳºËÐÄÁ¬½Óʱ±»Á¬ÈëºËÐĵÄÄÄÖÖÀàÐ͵ÄSCSIÖ÷»úÊÊÅäÆ÷»ò¿ØÖÆÆ÷ÓÐÓ²¼þÐèÒª¿ØÖÆ¡£Ã¿¸ö ºËÐÄÖеÄSCSI hostÔÚbuiltin_scsi_hostsÊý×éÖÐÓÐÒ»¸öScsi_Host_TemplateÈë¿Ú¡£¶øScsi_Host_Template½á¹¹Öаüº¬Ö´ÐÐÌØ¶¨SCSI host²Ù×÷, Èç¼ì²âÁ¬µ½´ËSCSI hostµÄSCSIÉ豸µÄÀý³ÌµÄÈë¿ÚÖ¸Õë¡£ÕâЩÀý³ÌÔÚSCSI ×Óϵͳ½øÐÐ×ÔÎÒÅäÖÃʱʹÓÃͬʱËüÃÇ»¹ÊÇÖ§³Ö´ËhostÀàÐ͵ÄSCSIÉ豸Çý¶¯µÄÒ»²¿·Ö¡£Ã¿¸ö±»¼ì²âµÄSCSI host£¬ ¼´ÓëÕæÕýSCSIÉ豸Á¬½ÓµÄhost½«Æä×ÔÉíµÄScsi_Host_Template½á¹¹Ìí¼Óµ½»î¶¯SCSI hostsµÄscsi_hosts½á¹¹Á´±íÖÐÈ¥¡£Ã¿¸ö±»¼ì²âhostÀàÐ͵ÄʵÀýÓÃÒ»¸öscsi_hostlistÁ´±íÖеÄScsi_Host½á¹¹À´±íʾ¡£ÀýÈçÒ»¸ö°üº¬Á½¸öNCR810 PCI SCSI¿ØÖÆÆ÷µÄϵͳµÄÁ´±íÖн«ÓÐÁ½¸öScsi_HostÈë¿Ú£¬Ã¿¸ö¿ØÖÆÆ÷¶ÔÓ¦Ò»¸ö¡£Ã¿¸öScsi_Host Ö¸ÏòÒ»¸ö´ú±íÆ÷É豸Çý¶¯µÄScsi_Host_Template¡£
ÏÖÔÚÿ¸öSCSI hostÒѾÕÒµ½£¬SCSI×Óϵͳ±ØÐëÕÒ³öÄÄЩSCSIÉ豸Á¬½ÓÄĸöhostµÄ×ÜÏß¡£SCSIÉ豸µÄ±àºÅÊÇ ´Ó0µ½7£¬¶ÔÓÚÒ»ÌõSCSI×ÜÏßÉÏÁ¬½ÓµÄ¸÷¸öÉ豸£¬ÆäÉ豸±àºÅ»òSCSI±êÖ¾·ûÊÇΨһµÄ¡£SCSI±êÖ¾·û¿ÉÒÔͨ¹ýÉè ±¸ÉϵÄÌøÏßÀ´ÉèÖá£SCSI³õʼ»¯´úÂëͨ¹ýÔÚSCSI×ÜÏßÉÏ·¢ËÍÒ»¸öTEST_UNIT_READYÃüÁîÀ´ÕÒ³öÿ¸öSCSIÉ豸¡£ µ±É豸×÷³öÏàӦʱÆä±êÖ¾·ûͨ¹ýÒ»¸öENQUIRYÃüÁîÀ´¶ÁÈ¡¡£Linux½«´ÓÖеõ½Éú²ú³§É̵ÄÃû³ÆºÍÉ豸ģʽÒÔ¼° ÐÞ¶©°æ±¾ºÅ¡£SCSIÃüÁîÓÉÒ»¸öScsi_Cmnd½á¹¹À´±íʾͬʱÕâЩÃüÁîͨ¹ýµ÷ÓÃScsi_Host_Template½á¹¹ÖеÄÉ豸 Çý¶¯Àý³Ì´«µÝµ½´ËSCSI hostµÄÉ豸Çý¶¯ÖС£±»ÕÒµ½µÄÿ¸öSCSIÉ豸ÓÃÒ»¸öScsi_Device½á¹¹À´±íʾ£¬Ã¿¸öÖ¸Ïò Æä¸¸Scsi_Host½á¹¹¡£ËùÓÐÕâЩScsi_Device½á¹¹±»Ìí¼Óµ½scsi_deviceÁ´±íÖС£Í¼8.4¸ø³öÁËÕâЩÖ÷ÒªÊý¾Ý½á¹¹ ¼äµÄ¹ØÏµ¡£
Ò»¹²ÓÐËÄÖÖSCSIÉ豸ÀàÐÍ£º´ÅÅÌ£¬´Å´ø»ú£¬CD-ROMºÍÆÕͨSCSIÉ豸¡£Ã¿ÖÖÀàÐ͵ÄSCSIÉ豸ÒÔ²»Í¬µÄÖ÷¿éÉ豸 ÀàÐ͵¥¶ÀµÇ¼Çµ½ºËÐÄÖС£Èç¹ûÓжà¸öÀàÐ͵ÄSCSIÉ豸´æÔÚÔòËüÃÇÖ»µÇ¼Ç×ÔÉí¡£Ã¿¸öSCSIÉ豸ÀàÐÍ£¬ÈçSCSI´ÅÅÌ Î¬»¤×ÅÆä×ÔÉíµÄÉ豸ÁÐ±í¡£ËüʹÓÃÕâЩ±í½«ºËÐÄ¿é²Ù×÷£¨file»òÕßbuffer cache£©¶¨Ïòµ½ÕýÈ·µÄÉ豸Çý¶¯»ò SCSI hostÉÏ¡£Ã¿ÖÖSCSIÉ豸ÀàÐÍÓÃÒ»¸öScsi_Device_Template½á¹¹À´±íʾ¡£´Ë½á¹¹Öаüº¬´ËÀàÐÍSCSIÉ豸µÄ ÐÅÏ¢ÒÔ¼°Ö´Ðи÷ÖÖÈÎÎñµÄÀý³ÌµÄÈë¿ÚµØÖ·¡£»»¾ä»°Ëµ£¬Èç¹ûSCSI×ÓϵͳϣÍûÁ¬½ÓÒ»¸öSCSI´ÅÅÌÉ豸Ëü½«µ÷Óà SCSI´ÅÅÌÀàÐÍÁ¬½ÓÀý³Ì¡£Èç¹ûÓжà¸ö¸ÃÖÖÀàÐ͵ÄSCSIÉ豸±»¼ì²âµ½Ôò´ËScsi_Type_Template½á¹¹½«±»Ìí¼Óµ½ scsi_devicelistÁ´±íÖС£
SCSI×ÓϵͳµÄ×îºóÒ»¸ö½×¶ÎÊÇΪÿ¸öÒѵǼǵÄScsi_Device_Template½á¹¹µ÷ÓÃfinishº¯Êý¡£¶ÔÓÚSCSI´ÅÅÌÀàÐÍ É豸Ëü½«Çý¶¯ËùÓÐSCSI´ÅÅ̲¢¼Ç¼Æä´ÅÅ̲¼¾Ö¡£Í¬Ê±»¹½«Ìí¼ÓÒ»¸ö±íʾËùÓÐÁ¬½ÓÔÚÒ»ÆðµÄSCSI´ÅÅ̵Ägendisk ½á¹¹£¬Èçͼ8.3¡£
Ò»µ©SCSI×Óϵͳ³õʼ»¯Íê³ÉÕâЩSCSIÉ豸¾Í¿ÉÒÔʹÓÃÁË¡£Ã¿¸ö»î¶¯µÄSCSIÉ豸ÀàÐͽ«Æä×ÔÉíµÇ¼Çµ½ºËÐÄÒÔ±ã LinuxÕýÈ·¶¨Ïò¿éÉ豸ÇëÇó¡£ÕâЩÇëÇó¿ÉÒÔÊÇͨ¹ýblk_devµÄbuffer cacheÇëÇóÒ²¿ÉÒÔÊÇͨ¹ýblkdevsµÄÎļþ ²Ù×÷¡£ÒÔÒ»¸ö°üº¬¶à¸öEXT2Îļþϵͳ·ÖÇøµÄSCSI´ÅÅÌÇý¶¯Æ÷ΪÀý£¬µ±°²×°ÆäÖÐÒ»¸öEXT2·ÖÇøÊ±ÏµÍ³ÊÇÔõÑù½« ºËÐÄ»º³åÇëÇó¶¨Ïòµ½ÕýÈ·µÄSCSI´ÅÅ̵ÄÄØ£¿
ÿ¸ö¶ÔSCSI´ÅÅÌ·ÖÇøµÄ¿é¶ÁдÇëÇ󽫵¼ÖÂÒ»¸öеÄrequest½á¹¹±»Ìí¼Óµ½¶ÔÓ¦´ËSCSI´ÅÅ̵Äblk_devÊý×éÖÐµÄ current_requestÁ´±íÖС£Èç¹û´ËrequestÕýÔÚ±»´¦ÀíÔòbuffer cacheÎÞÐè×÷Èκι¤×÷£»·ñÔòËü±ØÐë֪ͨSCSI ´ÅÅÌ×Óϵͳȥ´¦ÀíËüµÄÇëÇó¶ÓÁС£ÏµÍ³ÖÐÿ¸öSCSI´ÅÅÌÓÃÒ»¸öScsi_Disk½á¹¹À´±íʾ¡£ÀýÈç/dev/sdb1µÄÖ÷É豸 ºÅΪ8¶ø´ÓÉ豸ºÅΪ17£»ÕâÑù²úÉúÒ»¸öË÷ÒýÖµ1¡£Ã¿¸öScsi_Disk½á¹¹°üº¬Ò»¸öÖ¸Ïò±íʾ´ËÉ豸µÄScsi_Device ½á¹¹¡£ÕâÑù·´¹ýÀ´ÓÖÖ¸ÏòÓµÓÐËüµÄScsi_Host½á¹û¡£Õâ¸öÀ´×Ôbuffer cacheµÄrequest½á¹¹½«±»×ª»»³ÉÒ»¸öÃè ÐðSCSIÃüÁîµÄScsi_Cmd½á¹¹£¬Õâ¸öSCSIÃüÁ·¢Ë͵½´ËSCSIÉ豸ͬʱ±»ÅÅÈë±íʾ´ËÉ豸µÄScsi_Host½á¹¹¡£Ò» µ©ÓÐÊʵ±µÄÊý¾Ý¿éÐèÒª¶Áд£¬ÕâЩÇëÇ󽫱»¶ÀÁ¢µÄSCSIÉ豸Çý¶¯À´´¦Àí¡£
ÍøÂçÉ豸£¬¼´LinuxµÄÍøÂç×Óϵͳ£¬ÊÇÒ»¸ö·¢ËÍÓë½ÓÊÕÊý¾Ý°üµÄʵÌå¡£ËüÒ»°ãÊÇÒ»¸öÏóÒÔÌ«Íø¿¨µÄÎïÀíÉ豸¡£ ÓÐÐ©ÍøÂçÉ豸ÈçloopbackÉ豸½ö½öÊÇÒ»¸öÓÃÀ´Ïò×ÔÉí·¢ËÍÊý¾ÝµÄÈí¼þ¡£Ã¿¸öÍøÂçÉ豸¶¼ÓÃÒ»¸ödevice½á¹¹À´ ±íʾ¡£ÍøÂçÉ豸Çý¶¯ÔÚºËÐÄÆô¶¯³õʼ»¯ÍøÂçʱ½«ÕâЩÊÜ¿ØÉ豸µÇ¼Çµ½LinuxÖС£deviceÊý¾Ý½á¹¹Öаüº¬ÓÐÓÐ¹Ø É豸µÄÐÅÏ¢ÒÔ¼°ÓÃÀ´Ö§³Ö¸÷ÖÖÍøÂçÐÒéµÄº¯ÊýµØÖ·Ö¸Õë¡£ÕâЩº¯ÊýÖ÷ÒªÓÃÀ´Ê¹ÓÃÍøÂçÉ豸´«ÊäÊý¾Ý¡£É豸ʹÓà ±ê×¼ÍøÂçÖ§³Ö»úÖÆÀ´½«½ÓÊÕµ½µÄÊý¾Ý´«µÝµ½Êʵ±µÄÐÒé²ã¡£ËùÓд«ÊäÓë½ÓÊÕµ½µÄÍøÂçÊý¾ÝÓÃÒ»¸ösk_buff½á¹¹ À´±íʾ£¬ÕâЩÁé»îµÄÊý¾Ý½á¹¹Ê¹µÃÍøÂçÐÒéÍ·¿ÉÒÔ¸üÈÝÒ×µÄÌí¼ÓÓëɾ³ý¡£ÍøÂçÐÒé²ãÈçºÎʹÓÃÍøÂçÉ豸ÒÔ¼° ÈçºÎʹÓÃsk_buffÀ´½»»»Êý¾Ý½«ÔÚÍøÂçÒ»ÕÂÖÐÏêϸÃèÐð¡£±¾ÕÂÖ»ÌÖÂÛdeviceÊý¾Ý½á¹¹¼°ÈçºÎ·¢ÏÖÓë³õʼ»¯ÍøÂç¡£
deviceÊý¾Ý½á¹¹°üº¬ÒÔÏÂÓйØÍøÂçÉ豸µÄÐÅÏ¢£º
/dev/ethN | ÒÔÌ«ÍøÉ豸 |
/dev/slN | SLIPÉ豸 |
/dev/pppN | PPP É豸 |
/dev/lo | Loopback É豸 |
IFF_UP | ½Ó¿ÚÒѾ½¨Á¢²¢ÔËÐÐ |
IFF_BROADCAST | É豸ÖеĹ㲥µØÖ·ÓÐЧ |
IFF_DEBUG | É豸µ÷ÊÔ±»Ê¹ÄÜ |
IFF_LOOPBACK | ÕâÊÇÒ»¸öloopbackÉ豸 |
IFF_POINTTOPOINT | ÕâÊǵ㵽µãÁ¬½Ó£¨SLIPºÍPPP£© |
IFF_NOTRAILERS | ÎÞÍøÂç×·×ÙÕß |
IFF_RUNNING | ×ÊÔ´Òѱ»·ÖÅä |
IFF_NOARP | ²»Ö§³ÖARPÐÒé |
IFF_PROMISC | É豸´¦ÓÚ»ìÂҵĽÓÊÕģʽ£¬ÎÞÂÛ°üµØÖ·ÔõÑùËü¶¼½«½ÓÊÕ |
IFF_ALLMULTI | ½ÓÊÕËùÓеÄIP¶à²¥Ö¡ |
IFF_MULTICAST | ¿ÉÒÔ½ÓÊÕIP¶à²¥Ö¡ |
ÍøÂçÉ豸Çý¶¯¿ÉÒÔÏóÆäËüLinuxÉ豸Çý¶¯Ò»Ñù½¨Á¢µ½LinuxºËÐÄÖÐÀ´¡£Ã¿¸öDZÔÚµÄÍøÂçÉ豸ÓÉÒ»¸ö±»dev_base Á´±íÖ¸ÕëÖ¸ÏòµÄÍøÂçÉ豸Á´±íÄÚ²¿µÄdevice½á¹¹±íʾ¡£µ±ÍøÂç²ãÐèҪij¸öÌØ¶¨¹¤×÷Ö´ÐÐʱ¡£Ëü½«µ÷ÓôóÁ¿Íø Âç·þÎñÀý³ÌÖеÄÒ»¸ö£¬ÕâЩÀý³ÌµÄµØÖ·±»±£´æÔÚdevice½á¹¹ÄÚ²¿¡£³õʼ»¯Ê±Ã¿¸ödevice½á¹¹½ö°üº¬Ò»¸ö³õʼ »¯»òÕß¼ì²âÀý³ÌµÄµØÖ·¡£
¶ÔÓÚÍøÂçÉ豸Çý¶¯ÓÐÁ½¸öÎÊÌâÐèÒª½â¾ö¡£Ê×ÏÈÊDz»ÊÇÿ¸öÁ¬½Óµ½ºËÐÄÖеÄÍøÂçÉ豸Çý¶¯¶¼ÓÐÉ豸Ҫ¿ØÖÆ¡£Æä ´ÎËäÈ»µ×²ãµÄÉ豸Çý¶¯åÄÈ»²»Í¬£¬µ«ÏµÍ³ÖеÄÒÔÌ«ÍøÉ豸×ÜÊÇÃüÃûΪ/dev/eth0ºÍ/dev/eth1¡£»ìÏýÍøÂçÉ豸 Õâ¸öÎÊÌâºÜÈÝÒ×½â¾ö¡£µ±Ã¿¸öÍøÂçÉ豸µÄ³õʼ»¯Àý³Ì±»µ÷ÓÃʱ£¬½«µÃµ½Ò»¸öָʾÊÇ·ñ´æÔÚµ±Ç°¿ØÖÆÆ÷ʵÀýµÄ ״̬ÐÅÏ¢¡£Èç¹ûÇý¶¯ÕÒ²»µ½ÈκÎÉ豸£¬ËüÄǸöÓÉdev_baseÖ¸ÏòµÄdeviceÁ´±í½«±»É¾³ý¡£Èç¹ûÇý¶¯ÕÒµ½ÁËÉ豸 ÔòËü½«ÓÃÉ豸Ïà¹ØÐÅÏ¢ÒÔ¼°ÍøÂçÉ豸Çý¶¯ÖÐÖ§³Åº¯ÊýµÄµØÖ·Ö¸ÕëÀ´Ìî³ä´ËdeviceÊý¾Ý½á¹¹¡£
µÚ¶þ¸öÎÊÌ⣬¼´ÎªÒÔÌ«ÍøÉ豸¶¯Ì¬·ÖÅä±ê×¼Ãû³Æ/dev/ethNÉè±¸ÌØÊâÎļþµÄ¹¤×÷µÄ½â¾ö·½·¨Ê®·ÖÇÉÃî¡£ÔÚÉ豸 Á´±íÖÐÓÐ8¸ö±ê×¼Èë¿Ú£»´Óeth0µ½eth7¡£ËüÃÇʹÓÃÏàͬµÄ³õʼ»¯Àý³Ì£¬´Ë³õʼ»¯¹ý³Ì½«ÒÀ´Î³¢ÊÔÕâЩ±»½¨Á¢µ½ ºËÐÄÖеÄÒÔÌ«ÍøÉ豸Çý¶¯Ö±µ½ÕÒµ½Ò»¸öÉ豸¡£µ±Çý¶¯ÕÒµ½ÆäÒÔÌ«ÍøÉ豸ʱËü½«Ìî³ä¶ÔÓ¦µÄethNÉ豸½á¹¹¡£Í¬Ê± ´ËÍøÂçÉ豸Çý¶¯³õʼ»¯Æä¿ØÖƵÄÎïÀíÓ²¼þ²¢ÕÒ³öʹÓõÄIRQºÅÒÔ¼°DMAͨµÀµÈÐÅÏ¢¡£Èç¹ûÇý¶¯ÕÒµ½ÁË´ËÍøÂçÉ豸 µÄ¶à¸öʵÀýËü½«½¨Á¢¶à¸ö/dev/ethN deviceÊý¾Ý½á¹¹¡£Ò»µ©ËùÓÐ8¸ö±ê×¼/dev/ethN±»·ÖÅäÍê±ÏÔò²»»áÔÚ¼ì²â ÆäËüµÄÒÔÌ«ÍøÉ豸¡£