²Ù×÷ϵͳµÄÄ¿µÄÖ®Ò»¾ÍÊǽ«ÏµÍ³Ó²¼þÉ豸ϸ½Ú´ÓÓû§ÊÓÏßÖÐÒþ²ØÆðÀ´¡£ÀýÈçÐéÄâÎļþϵͳ¶Ô¸÷ÖÖÀàÐÍÒѰ²×°µÄÎļþϵͳÌṩÁËͳһµÄÊÓͼ¶øÆÁ±ÎÁ˾ßÌåµ×²ãϸ½Ú¡£±¾Õ½«ÃèÐð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ºËÐÄÖÐËä´æÔÚÐí¶à²»Í¬µÄÉ豸Çý¶¯µ«ËüÃǾßÓÐһЩ¹²ÐÔ£º
- ºËÐÄ´úÂë
- É豸Çý¶¯ÊǺËÐĵÄÒ»²¿·Ö£¬ÏóºËÐÄÖÐÆäËü´úÂëÒ»Ñù£¬³ö´í½«µ¼ÖÂϵͳµÄÑÏÖØËðÉË¡£Ò»¸ö±àÐ´Ææ²îµÄÉ豸Çý¶¯ÉõÖÁÄÜʹϵͳ±ÀÀ£²¢µ¼ÖÂÎļþϵͳµÄÆÆ»µºÍÊý¾Ý¶ªÊ§¡£
- ºËÐĽӿÚ
- É豸Çý¶¯±ØÐëΪLinuxºËÐÄ»òÕ߯ä´ÓÊô×ÓϵͳÌṩһ¸ö±ê×¼½Ó¿Ú¡£ÀýÈçÖÕ¶ËÇý¶¯ÎªLinuxºËÐÄÌṩÁËÒ»¸öÎļþI/O½Ó¿Ú¶øSCSIÉ豸Çý¶¯ÎªSCSI×ÓϵͳÌṩÁËÒ»¸öSCSIÉ豸½Ó¿Ú£¬Í¬Ê±´Ë×ÓϵͳΪºËÐÄÌṩÁËÎļþI/OºÍbuffer cache½Ó¿Ú¡£
- ºËÐÄ»úÖÆÓë·þÎñ
É豸Çý¶¯¿ÉÒÔʹÓñê×¼µÄºËÐÄ·þÎñÈçÄÚ´æ·ÖÅä¡¢ÖжϷ¢Ëͺ͵ȴý¶ÓÁеȵȡ£
- ¶¯Ì¬¿É¼ÓÔØ
- ¶àÊýLinuxÉ豸Çý¶¯¿ÉÒÔÔÚºËÐÄÄ£¿é·¢³ö¼ÓÔØÇëÇóʱ¼ÓÔØ£¬Í¬Ê±ÔÚ²»ÔÙʹÓÃÊ±Ð¶ÔØ¡£ÕâÑùºËÐÄÄÜÓÐЧµØÀûÓÃϵͳ×ÊÔ´¡£
- ¿ÉÅäÖÃ
- LinuxÉ豸Çý¶¯¿ÉÒÔÁ¬½Óµ½ºËÐÄÖС£µ±ºËÐı»±àÒëʱ£¬ÄÄЩºËÐı»Á¬ÈëºËÐÄÊÇ¿ÉÅäÖõġ£
- ¶¯Ì¬ÐÔ
- µ±ÏµÍ³Æô¶¯¼°É豸Çý¶¯³õʼ»¯Ê±½«²éÕÒËüËù¿ØÖƵÄÓ²¼þÉ豸¡£Èç¹ûij¸öÉ豸µÄÇý¶¯ÎªÒ»¸ö¿Õ¹ý³Ì²¢²»»áÓÐʲôÎÊÌâ¡£´Ëʱ´ËÉ豸Çý¶¯½ö½öÊÇÒ»¸öÈßÓàµÄ³ÌÐò£¬Ëü³ýÁË»áÕ¼ÓÃÉÙÁ¿ÏµÍ³ÄÚ´æÍâ²»»á¶ÔϵͳÔì³ÉʲôΣº¦¡£
8.1 ÂÖѯÓëÖжÏ
É豸±»Ö´ÐÐij¸öÃüÁîʱ£¬Èç¡°½«¶ÁÈ¡´ÅÍ·ÒÆ¶¯µ½ÈíÅ̵ĵÚ42ÉÈÇøÉÏ¡±£¬É豸Çý¶¯¿ÉÒÔ´ÓÂÖѯ·½Ê½ºÍÖжϷ½Ê½ÖÐÑ¡ÔñÒ»ÖÖÒÔÅжÏÉ豸ÊÇ·ñÒѾÍê³É´ËÃüÁî¡£ ÂÖѯ·½Ê½Òâζ×ÅÐèÒª¾³£¶ÁÈ¡É豸µÄ״̬£¬Ò»Ö±µ½É豸״̬±íÃ÷ÇëÇóÒѾÍê³ÉΪֹ¡£Èç¹ûÉ豸Çý¶¯±»Á¬½Ó½øÈëºËÐÄ£¬ÕâʱʹÓÃÂÖѯ·½Ê½½«»á´øÀ´ÔÖÄÑÐÔºó¹û£ººËÐĽ«Ôڴ˹ý³ÌÖÐÎÞËùÊÂÊ£¬Ö±µ½É豸Íê³É´ËÇëÇó¡£µ«ÊÇÂÖѯÉ豸Çý¶¯¿ÉÒÔͨ¹ýʹÓÃϵͳ¶¨Ê±Æ÷£¬Ê¹ºËÐÄÖÜÆÚÐÔµ÷ÓÃÉ豸Çý¶¯ÖеÄ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ºËÐĽ«ÄܺܿìµÄ´¦ÀíÍêÖжϲ¢·µ»ØÖжÏǰµÄ״̬ÖС£ÎªÁËÔÚ½ÓÊÕÖжÏʱÍê³É´óÁ¿¹¤×÷£¬É豸Çý¶¯±ØÐëÄܹ»Ê¹ÓúËÐĵĵײ㴦ÀíÀý³Ì»òÕßÈÎÎñ¶ÓÁÐÀ´¶ÔÒÔºóÐèÒªµ÷ÓõÄÄÇЩÀý³Ì½øÐÐÅŶӡ£
8.2 Ö±½ÓÄÚ´æ·ÃÎÊ (DMA)
Êý¾ÝÁ¿±È½ÏÉÙʱ£¬Ê¹ÓÃÖжÏÇý¶¯É豸Çý¶¯³ÌÐòÄÜ˳ÀûµØÔÚÓ²¼þÉ豸ºÍÄÚ´æÖ®¼ä½»»»Êý¾Ý¡£ÀýÈç²¨ÌØÂÊΪ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ʹÄÜÄÚ´æµÄÔÒò¡£
8.4 É豸Çý¶¯ÓëºËÐĵĽӿÚ
LinuxºËÐÄÓëÉ豸Çý¶¯Ö®¼ä±ØÐëÓÐÒ»¸öÒÔ±ê×¼·½Ê½½øÐл¥²Ù×÷µÄ½Ó¿Ú¡£Ã¿Ò»ÀàÉ豸Çý¶¯£º×Ö·ûÉ豸¡¢¿éÉ豸 ¼°ÍøÂçÉ豸¶¼ÌṩÁËͨÓýӿÚÒÔ±ãÔÚÐèҪʱΪºËÐÄÌṩ·þÎñ¡£ÕâÖÖͨÓýӿÚʹµÃºËÐÄ¿ÉÒÔÒÔÏàͬµÄ·½Ê½À´¶Ô´ý²»Í¬µÄÉ豸¼°É豸Çý¶¯¡£ÈçSCSIºÍIDEÓ²Å̵ÄÇø±ðºÜ´óµ«Linux¶ÔËüÃÇʹÓÃÏàͬµÄ½Ó¿Ú¡£ Linux¶¯Ì¬ÐÔºÜÇ¿¡£Ã¿´ÎLinuxºËÐÄÆô¶¯Ê±ÈçÓöµ½²»Í¬µÄÎïÀíÉ豸½«ÐèÒª²»Í¬µÄÎïÀíÉ豸Çý¶¯¡£LinuxÔÊÐíͨ¹ýÅäÖýű¾ÔÚºËÐÄÖØ½¨Ê±½«É豸Çý¶¯°üº¬ÔÚÄÚ¡£É豸Çý¶¯ÔÚÆô¶¯³õʼ»¯Ê±¿ÉÄܻᷢÏÖϵͳÖиù±¾Ã»ÓÐÈκÎÓ²¼þÐèÒª¿ØÖÆ¡£ÆäËüÉ豸Çý¶¯¿ÉÒÔÔÚ±ØÒªÊ±×÷ΪºËÐÄÄ£¿é¶¯Ì¬¼ÓÔØµ½¡£ÎªÁË´¦ÀíÉ豸Çý¶¯µÄ¶¯Ì¬ÊôÐÔ£¬É豸Çý¶¯ÔÚ³õʼ»¯Ê±½«Æä×¢²áµ½ºËÐÄÖÐÈ¥¡£Linuxά»¤×ÅÒÑ×¢²áÉ豸Çý¶¯±í×÷ΪºÍÉ豸Çý¶¯µÄ½Ó¿Ú¡£ÕâЩ±íÖаüº¬Ö§³Ö´ËÀàÉ豸Àý³ÌµÄÖ¸ÕëºÍÏà¹ØÐÅÏ¢¡£