¼¡¤Î¥Ú¡¼¥¸ Á°¤Î¥Ú¡¼¥¸ Ìܼ¡¤Ø

2. PnP ¤Î»Å»ö: ¡Ö¥Ð¥¹¥ê¥½¡¼¥¹¡×¤Î³ä¤êÅö¤Æ

2.1 ¥×¥é¥°&¥×¥ì¥¤(PnP)¤È¤Ï²¿¤«?

¤´¤¯´Êñ¤ËÀâÌÀ¤¹¤ë¤È¡¤¥×¥é¥°&¥×¥ì¥¤¤Ï¥â¥Ç¥à¤ä¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼ ¥É¡¤¥µ¥¦¥ó¥É¥«¡¼¥ÉÅù¤Î³Æ¼ï¥Ï¡¼¥É¥¦¥§¥¢(¥Ç¥Ð¥¤¥¹)¤ò¸«¤Ä¤±¤é¤ì¤ë¾ì½ê¤ò¼« ưŪ¤Ë¥½¥Õ¥È¥¦¥§¥¢¤Ë¶µ¤¨¤Þ¤¹¡¥¥×¥é¥°&¥×¥ì¥¤¤Î»Å»ö¤Ï¡¤ÊªÍý¥Ç¥Ð¥¤¥¹ ¤È¤³¤ì¤òÁàºî¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢(¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð)¤È°ìÃפµ¤»¡¤¥Ç¥Ð¥¤¥¹¤È¥É ¥é¥¤¥Ð¤Î´Ö¤ËÄÌ¿®¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤òºî¤ë¤³¤È¤Ç¤¹¡¥¤³¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¡¤ PnP ¤Ï°Ê²¼¤Î¡Ö¥Ð¥¹¥ê¥½¡¼¥¹¡×¤ò¥É¥é¥¤¥Ð¤È¥Ï¡¼¥É¥¦¥§¥¢¤ÎξÊý¤Ë³ä¤êÅö¤Æ¤Þ¤¹: I/O ¥¢¥É¥ì¥¹¡¤IRQ, DMA ¥Á¥ã¥ó¥Í¥ë(ISA ¥Ð¥¹¤Î¾ì¹ç¤Î¤ß)¡¤¥á¥â¥êÎΰ补 ¤³¤ì¤é 4 ¤Ä¤Î¥ê¥½¡¼¥¹¤¬²¿¤Î¤³¤È¤«Ê¬¤«¤é¤Ê¤±¤ì¤Ð¡¤°Ê¹ß¤ÎÀá¤òÆÉ¤ó¤Ç¤¯¤À ¤µ¤¤¡¥°ìÅÙ¤³¤ì¤é¤Î¥Ð¥¹¥ê¥½¡¼¥¹¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¤È(¤½¤·¤ÆÀµ¤·¤¤¥É¥é¥¤¥Ð¤¬¥¤ ¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤È)¡¤/dev ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Ç¥Ð¥¤¥¹¤Î¥Õ¥¡¥¤¥ë¤¬»È¤¨¤ë ¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥

¤³¤Î¤è¤¦¤Ê¥Ð¥¹¥ê¥½¡¼¥¹¤Î PnP ³ä¤êÅö¤Æ¤¬¡ÖÀßÄê(configuring)¡×¤È¸Æ¤Ð¤ì ¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¤¤³¤ì¤ÏÄã¥ì¥Ù¥ë¤Ê¼ïÎà¤ÎÀßÄê¤Ë²á¤®¤Þ¤»¤ó¡¥¤Ä¤Þ¤ê¡¤ PnP ¤òºÇÂç¸ÂÍøÍѤ·¤¿¾ì¹ç¤Ç¤â¥Ç¥Ð¥¤¥¹¤ÎÀßÄê¤Î¿¤¯¤Ï PnP °Ê³°¤Ç¹Ô¤ï¤ì¤Þ ¤¹¡¥Î㤨¤Ð¥â¥Ç¥à¤ÎÀßÄê¤Ç¤¢¤ì¤Ð¡¤¡Ö½é´ü²½Ê¸»úÎó¡×¤¬ I/O ¥¢¥É¥ì¥¹¤Î ¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤ò»È¤Ã¤Æ¥â¥Ç¥à¤ËÁ÷¤é¤ì¤Þ¤¹¡¥¥â¥Ç¥à¤Ëʸ»úÎó¤òÁ÷¤ë¤¿¤á¤Ë»È ¤ï¤ì¤ë¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤Ï PnP ¤¬³ä¤êÅö¤Æ¤¿¤â¤Î¤Ç¤¹¤¬¡¤¡Ö½é´ü²½Ê¸»úÎó¡×¤½ ¤Î¤â¤Î¤Ï PnP ¤È¤Ï̵´Ø·¸¤Ç¤¹¡¥¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Î®ÅÙ(¤ª¤è¤Ó¾¤Î¥Ñ¥é¥á¡¼ ¥¿¤Î¿¤¯)¤ÎÀßÄê¤Ï¡¤¥æ¡¼¥¶¤¬¼Â¹Ô¤·¤¿(µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤ë¤³¤È¤â¤è ¤¯¤¢¤ê¤Þ¤¹)¥×¥í¥°¥é¥à¤«¤é¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤³¤È¤Ë¤è¤Ã ¤Æ¹Ô¤¤¤Þ¤¹¡¥¤³¤ÎÀßÄê¤â¤ä¤Ï¤ê PnP ¤È¤Ï´Ø·¸¤¢¤ê¤Þ¤»¤ó¡¥¤³¤Î¤è¤¦¤Ë¡¤PnP ¤ÎÏÃÂê¤Ë¤ª¤¤¤Æ¤Ï¡ÖÀßÄê¡×¤ÏÆÃÄê¤Î¼ïÎà¤ÎÀßÄê¤Ë²á¤®¤Þ¤»¤ó¡¥Â¾¤Îʸ½ñ (MS Windows ¸þ¤±¤Îʸ½ñ¤Ê¤É)¤Ç¤Ï¥Ð¥¹¥ê¥½¡¼¥¹¤ò¡Ö¥ê¥½¡¼¥¹¡×¤ÈÆÉ¤ó¤Ç¤¤¤ë ¤³¤È¤¬¤¢¤ê¤Þ¤¹¤¬¡¤¤³¤Îʸ½ñ¤Ç¤Ï¾¤Ë¤â¤¿¤¯¤µ¤ó¤¢¤ë¥ê¥½¡¼¥¹¤È¶èÊ̤¹¤ë¤¿¤á ¤Ë¡¤¡Ö¥Ð¥¹¥ê¥½¡¼¥¹¡×¤È¤¤¤¦ÍѸì¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡¥

2.2 ¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤è¤ë¥Ç¥Ð¥¤¥¹¤Î¸«¤Ä¤±Êý(¤Þ¤¿¤Ï¤½¤ÎµÕ)

¥³¥ó¥Ô¥å¡¼¥¿¤Ï·×»»¤ò¹Ô¤¦ CPU ¤È¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¥á¥â¥ê¤Ç ¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤Ë²Ã¤¨¤Æ¡¤³Æ¼ï¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤ä¥Ó¥Ç¥ª¥«¡¼¥É¡¤¥­¡¼ ¥Ü¡¼¥É¡¤¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¡¤¥â¥Ç¥à¥«¡¼¥É¡¤¥µ¥¦¥ó¥É¥«¡¼¥É¡¤¥·¥ê¥¢¥ë¥Ý¡¼ ¥È¡¤¥Ñ¥é¥ì¥ë¥Ý¡¼¥ÈÅù¤¬¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡¤ÅÅÎϤò¶¡µë¤¹¤ëÅŸ»¥æ¥Ë¥Ã¥È¡¤¥Ç¥Ð ¥¤¥¹¤ò CPU ¤ËÀܳ¤¹¤ë¥Þ¥¶¡¼¥Ü¡¼¥É¾å¤Î¥Ð¥¹¡¤¤½¤·¤Æ¤³¤ì¤éÁ´¤Æ¤ò³ÊǼ¤¹¤ë ¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡¥

ÀΤϤۤȤó¤ÉÁ´¤Æ¤Î¥Ç¥Ð¥¤¥¹¤Ë¤ÏÀìÍѤΥץ饰¥¤¥ó¥«¡¼¥É(¥×¥ê¥ó¥È²óÏ©´ðÈÄ) ¤¬¤¢¤ê¤Þ¤·¤¿¡¥ºÇ¶á¤Î¿¤¯¤Î¡Ö¥Ç¥Ð¥¤¥¹¡×¤Ï¡¤º¹¤·¹þ¤à¥«¡¼¥É¤È¤·¤Æ¤À¤±¤Ç¤Ê ¤¯¡¤¡Ö¥Þ¥¶¡¼¥Ü¡¼¥É¡×¤Ë¼è¤êÉÕ¤±¤é¤ì¤¿¾®¤µ¤¤¥Á¥Ã¥×¤Î½¸¤Þ¤ê¤È¤·¤Æ¤âÄ󶡤µ ¤ì¤Æ¤¤¤Þ¤¹¡¥¥Þ¥¶¡¼¥Ü¡¼¥É¤Ëº¹¤·¹þ¤à¥«¡¼¥É¤Ë¤Ï 1 ¤Ä °Ê¾å¤Î¥Ç¥Ð¥¤¥¹¤¬Æþ¤Ã ¤Æ¤¤¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥¥á¥â¥ê¥Á¥Ã¥×¤ò¥Ç¥Ð¥¤¥¹¤È¤·¤Æ¹Í¤¨¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹ ¤¬¡¤ËÜ HOWTO ¤Ë¤ª¤±¤ë°ÕÌ£¤Ç¤Î¥×¥é¥°&¥×¥ì¥¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥

¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤òÀµ¤·¤¯Æ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¤¤½¤ì¤¾¤ì¤Î¥Ç¥Ð¥¤¥¹¤Ï ¡Ö¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¡×¤ÎÀ©¸æ²¼¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¥ª ¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç¤¢¤ê(¥â¥¸¥å¡¼¥ë¤È¤·¤Æ¥í¡¼¥É¤µ¤ì¤ë¤³¤È¤â ¤¢¤ê¤Þ¤¹)¡¤CPU ¾å¤Çưºî¤¹ ¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï /dev ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë ¡ÖÆÃ¼ì¥Õ¥¡¥¤¥ë¡×¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡¥¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë¤Ç ¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¤³¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï hda1(¥Ï¡¼¥É¥Ç¥£¥¹¥¯ a ¤ÎºÇ½é¤Î¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó)¡¤ttyS0(ºÇ½é¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È)¡¤eth1 (2ÈÖÌܤΥ¤¡¼¥µ¥Í¥Ã¥È¥«¡¼ ¥É)¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥º®¤ßÆþ¤Ã¤¿Ïäˤʤë¤Î¤Ç¤¹¤¬¡¤ÁªÂò¤µ¤ì¤ë¥Ç¥Ð¥¤ ¥¹¥É¥é¥¤¥Ð(Î㤨¤Ð eth1 ¤È¤·¤Þ¤¹)¤Ï»È¤Ã¤Æ¤¤¤ë¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤Î¼ïÎà¤Ë ¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤Á´¤Æ¤Î¥¤¡¼¥µ¥Í¥Ã¥È¥É¥é¥¤¥Ð¤¬ eth1 ¤ò³ä¤êÅö¤Æ ¤é¤ì¤ë¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¼è¤êÉÕ¤±¤¿¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤Îµ¡¼ï¤ËÂбþ¤¹¤ë¡¤ ¤¢¤ëÆÃÄê¤Î¥É¥é¥¤¥Ð¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¥Ç¥Ð¥¤¥¹¤òÀ©¸æ¤¹¤ë ¤¿¤á¤Ë¡¤(¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤òÀ©¸æ¤·¤Æ¤¤¤ë)CPU ¤Ï³Æ¼ï¥Ç¥Ð¥¤¥¹¤Ë¥³¥Þ¥ó¥É (¤ª¤è¤Ó¥Ç¡¼¥¿)¤òÁ÷¤Ã¤¿¤ê¡¤¾ðÊó¤òÆÉ¤ß½Ð¤·¤¿¤ê¤·¤Þ¤¹¡¥¤³¤Î¤è¤¦¤ÊÄÌ¿®¤ò¹Ô ¤¦¤¿¤á¡¤³Æ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÏÀ©¸æ¤¹¤ë¥Ç¥Ð¥¤¥¹¤ÎÍ£°ì¤Î¥¢¥É¥ì¥¹ÃͤòÃÎ¤Ã¤Æ ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤³¤Î¤è¤¦¤Ê¥¢¥É¥ì¥¹ÃͤòÃΤ뤳¤È¤¬¡ÖÄÌ¿®¥Á¥ã¥ó¥Í¥ë ¤òÀßÄꤹ¤ë¡×¤³¤È¤Ê¤Î¤Ç¤¹¡¥¤³¤Î¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤¬¼ÂºÝ¤Ë¤Ï PC ÆâÉô¤Î¥Ç¡¼¥¿ ¥Ð¥¹¤Ç¤¢¤ê¡¤Â¾¤Î¤Û¤È¤ó¤ÉÁ´¤Æ¤Î¤â¤Î¤Ë¶¦Í­¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤âƱ¤¸¤Ç¤¹¡¥ ¼ÂºÝ¤ÎÄÌ¿®¥Á¥ã¥ó¥Í¥ë¤Ï¤³¤³¤Ç¤ÎÀâÌÀ¤è¤ê¾¯¤·Ê£»¨¤Ç¤¹¡¥¡Ö¥¢¥É¥ì¥¹Ã͡פϼ ºÝ¤Ë¤ÏÉý¤ò»ý¤Ã¤¿¥¢¥É¥ì¥¹¤Ç¤¹¤·¡¤¥Á¥ã¥ó¥Í¥ë¤Ë¤Ï(³ä¤ê¹þ¤ß¤È¤·¤ÆÃΤé¤ì¤Æ ¤¤¤ë)µÕ¸þ¤­¤ÎÉôʬ¤¬¤¢¤ê¡¤¥Ç¥Ð¥¤¥¹¤Ï¤³¤ì¤ò»È¤Ã¤Æ¶ÛµÞ¤Î¡Ö¥Ø¥ë¥×¡×Í×µá¤ò ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ËÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥

2.3 I/O ¥¢¥É¥ì¥¹Åù

PC ¤Ë¤Ï 3 ¤Ä¤Î¥¢¥É¥ì¥¹¶õ´Ö(I/O, ¥á¥¤¥ó¥á¥â¥ê¡¤(PCI ¥Ð¥¹¤Ë¸Â¤ê)ÀßÄê) ¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤é 3 ¼ïÎà¤Î¥¢¥É¥ì¥¹¤Ï¡¤PC ÆâÉô¤Ç¤ÏƱ¤¸¥Ð¥¹¤ò¶¦Í­¤·¤Æ¤¤ ¤Þ¤¹¡¥¤·¤«¤·¡¤¤¢¤ë¥¢¥É¥ì¥¹¤¬¤É¤Î¶õ´Ö(I/O, ¥á¥¤¥ó¥á¥â¥ê¡¤ÀßÄê)¤Î¤â¤Î¤« ¤Ï¡¤PC ¤Î¥Ð¥¹¾å¤Ë¤¢¤ëÀìÍѤÎÇÛÀþ¤ÎÅ۵¤ò»È¤Ã¤ÆÅÁ¤¨¤é¤ì¤Þ¤¹¡¥¾Ü¤·¤¯¤Ï ¥¢¥É¥ì¥¹ ¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ÉáÄÌ¤Ï¥Ç ¥Ð¥¤¥¹¤Ï I/O ¥¢¥É¥ì¥¹¶õ´Ö¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¤¸½ºß¤Ï¥á¥¤¥ó¥á¥â¥êÆâ¤Î ¶õ´Ö¤ò»È¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥I/O ¥¢¥É¥ì¥¹¤Ïñ¤Ë "I/O", "IO", "i/o", "io" ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡ÖI/O ¥Ý¡¼¥È¡×¤È¤¤¤¦¸ÀÍÕ¤â»È¤ï¤ì¤Þ ¤¹¡¥I/O ¥¢¥É¥ì¥¹(¤Þ¤¿¤Ï³ä¤ê¹þ¤ßÅù¤Î¾¤Î¥Ð¥¹¥ê¥½¡¼¥¹)¤Ï°Ê²¼¤Î 2 ¤Ä¤Î¼ç¤Ê¥¹¥Æ¥Ã ¥×¤Ë¤è¤ê³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹:

  1. I/O ¥¢¥É¥ì¥¹Åù¤ò¥«¡¼¥É(¤Î¥ì¥¸¥¹¥¿¤Î 1 ¤Ä)¤ËÀßÄꤹ¤ë
  2. ¤³¤Î I/O ¥¢¥É¥ì¥¹Åù¤ò¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë¶µ¤¨¤ë

ÀèÄø½Ò¤Ù¤¿ 2 ¥¹¥Æ¥Ã¥×¤Î½èÍý¤Ï¡¤Æ»¤Ç狼¤Î²È¤ÎÈÖÃϤò¸«¤Ä¤±¤ëÌäÂê¤ò 2 ¤Ä ¤Ëʬ¤±¤¿¤â¤Î¤È»÷¤Æ¤¤¤Þ¤¹¡¥¤¢¤Ê¤¿¤ÏÈÖÃϤò¸«¤Ä¤±¤Ê¤±¤ì¤Ð(¤½¤·¤Æ½ñ¤­Î±¤á ¤Ê¤±¤ì¤Ð)¤Ê¤ê¤Þ¤»¤ó¤·¡¤¤³¤Î²È¤Î»ý¤Á¼ç¤Ï¡¤¸«¤Ä¤±¤Æ¤â¤é¤¨¤ë¤è¤¦¤Ë²È¤ÎÁ°¤Ë ÈÖÃϤòɽ¼¨¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¥³¥ó¥Ô¥å¡¼¥¿¤Î¾ì¹ç¤Ë¤Ï¡¤¥Ç¥Ð¥¤¥¹¥É ¥é¥¤¥Ð¤Ï¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¤¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ÏƱ¤¸¥¢ ¥É¥ì¥¹¤òÆÃÄê¤Î¥ì¥¸¥¹¥¿¤ËÀßÄꤷ¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤³¤Îºî¶È¤ÏξÊý¤È ¤â¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¤ÊÒÊý¤·¤«ÀßÄꤷ¤Ê¤¤¤è¤¦¤Ê¥ß¥¹¤ò¥æ¡¼¥¶¤¬ ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¥³¥ó¥Ô¥å¡¼¥¿¤Ï¥Ç¥Ð¥¤¥¹¤ò¸¡½Ð¤Ç ¤­¤º¤Ëº¤¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥Î㤨¤Ð¡¤¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ë¥¢¥É¥ì¥¹¤ò³ä ¤êÅö¤Æ¤ëÌÜŪ¤Ç "setserial" ¤ò»È¤Ã¤Æ¤â¡¤"setserial" ¤Ï¥É¥é¥¤¥Ð¤Ë¤·¤«¥¢ ¥É¥ì¥¹¤ò¶µ¤¨¤Þ¤»¤ó¡¥setserial ¤Ï¥·¥ê¥¢¥ë¥Ý¡¼¥È¼«ÂΤΥ¢¥É¥ì¥¹¤ÏÀßÄꤷ¤Þ ¤»¤ó¡¥¼ÂºÝ¤Ë¥·¥ê¥¢¥ë¥Ý¡¼¥È¤¬¤Î¥¢¥É¥ì¥¹¤¬°ã¤Ã¤Æ¤¤¤¿¤é(¤¢¤ë¤¤¤ÏÁ´¤¯ÀßÄê ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð)¡¤¸í¤Ã¤¿¥¢¥É¥ì¥¹¤ò¥É¥é¥¤¥Ð¤ËÀßÄꤷ¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¡¤ ÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡¥

¤³¤Î¾¤Ë¤âÌÀ¤é¤«¤ËɬÍפʤ³¤È¤È¤·¤Æ¡¤¤¢¤ë¥¢¥É¥ì¥¹¤ò¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬»È ¤¨¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë¤Ï¡¤¤½¤Î¥¢¥É¥ì¥¹¤¬¥«¡¼¥É¤ËÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê ¤¤¤³¤È¤¬µó¤²¤é¤ì¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¥³¥ó ¥Ô¥å¡¼¥¿¤¬µ¯Æ°¤·¤¿Ä¾¸å¤Ëưºî¤ò»Ï¤á¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¤PnP ÀßÄê¥×¥í¥°¥é¥à ¤¬¥«¡¼¥É¤Î¥¢¥É¥ì¥¹ÀßÄê¤ò¹Ô¤¦Á°¤Ë¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬(¥«¡¼¥É¤¬¤¢¤ë¤«¤É¤¦ ¤«¤òÄ´¤Ù¤ëÅù¤Î¤¿¤á¤Ë)¥«¡¼¥É¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤¹¤ë¤³¤È¤â»þ¡¹¤¢¤ê¤Þ¤¹¡¥ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¤¿¤È¤¨¥«¡¼¥É¤¬¤¢¤Ã¤Æ¤â(¤¿¤À¤·¡¤¤Þ¤À¥¢¥É¥ì¥¹¤ò»ý¤Ã ¤Æ¤¤¤Ê¤¤)¡¤¥«¡¼¥É¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡¥

Àè¤Î 2 ¤Ä¤ÎÃÊÍî¤Ç¤Î I/O ¥¢¥É¥ì¥¹¤Ë´Ø¤¹¤ëÀâÌÀ¤Ï¡¤Â¾¤Î¥ê¥½¡¼¥¹( IRQ --³µÍ×, DMA ¥Á¥ã¥ó¥Í¥ë, ¥á¥â¥êÎΰè )¤Ë¤Ä¤¤¤Æ¤âƱ¤¸¤è¤¦¤ËÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡¥¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Î 3 ¤Ä¤Î¾Ï¤Ç ÀâÌÀ¤·¤Þ¤¹¡¥

2.4 IRQ --³µÍ×

¤³¤ÎÀâÌÀ¤òÆÉ¤ó¤À¸å¤Ë¤â¤Ã¤È¾Ü¤·¤¤¤³¤È¤òÃΤꤿ¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï ³ä¤ê¹þ¤ß --¾ÜºÙ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡¥ ¤³¤³¤Ç¤ÎÀâÌÀ¤Ï¤´¤¯´Êñ¤Ë¹Ô¤¤¤Þ¤¹: ¥¢¥É¥ì¥¹¤Î¾¤Ë¤â¡¤°·¤ï¤Ê¤±¤ì¤Ð¤Ê ¤é¤Ê¤¤³ä¤ê¹þ¤ßÈÖ¹æ(IRQ 5 Åù)¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤Ï IRQ(Interrupt ReQuest, ³ä¤ê¹þ¤ßÍ×µá)ÈÖ¹æ¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬ÄÌ¿®¤ò¹Ô¤¦¤¿ ¤á¤Ë¤Ï¥«¡¼¥É¤Î¥¢¥É¥ì¥¹¤òÃΤäƤ¤¤ëɬÍפ¬¤¢¤ë¤³¤È¤Ï´û¤Ë½Ò¤Ù¤Þ¤·¤¿¡¥¤·¤« ¤·¡¤µÕÊý¸þ¤ÎÄÌ¿®¤Ë¤Ä¤¤¤Æ¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«? ¤Þ¤¿¡¤¥Ç¥Ð¥¤¥¹¤¬¥Ç¥Ð¥¤¥¹¥É¥é ¥¤¥Ð¤ËµÞ¤¤¤ÇÅÁ¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ë¤È¤·¤¿¤é? Î㤨¤Ð¥Ç¥Ð¥¤¥¹¤Ï¡¤ ¥á¥¤¥ó¥á¥â¥ê¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÂçÎ̤ΥХ¤¥ÈÎó¤ò¼õ¤±¼è¤ë¤è¤¦¤Ê¤³¤È¤¬ ¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¥Ç¥Ð¥¤¥¹¤Ï¤¹¤«¤µ¤º¥É¥é¥¤¥Ð¤ò¸Æ ¤Ó½Ð¤·¤Æ¥Ç¡¼¥¿¤ò°ìÅ٤˼õ¤±¼è¤ê¡¤¥Ð¥Ã¥Õ¥¡°ìÇդ˵ͤޤ俥ǡ¼¥¿¤òµÞ¤¤¤Ç¥á ¥¤¥ó¥á¥â¥ê¤Ë°Ü¤·¤Æ¤â¤é¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥

¥Ç¥Ð¥¤¥¹¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Æ½õ¤±¤òµá¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¥á¥¤¥ó ¥Ç¡¼¥¿¥Ð¥¹¤Ï´û¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤«¤é¡¤¤³¤ì¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¥ ¤½¤ÎÂå¤ï¤ê¤Ë¡¤¥Ç¥Ð¥¤¥¹¤ÏÀìÍѤγä¤ê¹þ¤ßÀþ(¥Ð¥¹¤Î°ìÉô¤Ç¤¹)¤ËÅ۵¤òÀßÄꤷ ¤Þ¤¹¡¥¤³¤ÎÀþ¤Ï¿¤¯¤Î¾ì¹ç¡¤¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤À¤±¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ ¤³¤Î¿®¹æ¤Ï³ä¤ê¹þ¤ß¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥³ä¤ê¹þ¤ßÀþ¤Ë¤ÏÅù²Á¤ÊÀþ¤¬ 16 ¸Ä¤¢¤ê¡¤¤³ ¤ì¤é¤Ï¤½¤ì¤¾¤ì(´ÖÀÜŪ¤Ë)ÆÃÄê¤Î¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë·Ò¤¬¤Ã¤Æ¤¤¤Þ¤¹¡¥¤½¤ì¤¾ ¤ì¤ÎÀþ¤Ë¤Ï¸ÇÍ­¤Î IRQ (Interrupt ReQuest)Èֹ椬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¤Ï ³ä¤ê¹þ¤ß¤òÀµ¤·¤¤Àþ¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÏÀµ¤·¤¤Àþ¤Ç³ä ¤ê¹þ¤ß¤òÂÔ¤¿¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤É¤ÎÀþ¤Ë³ä¤ê¹þ¤ß¤¬µ¯¤³¤ë¤«¤Ï¥Ç¥Ð¥¤¥¹¤Ë ³ÊǼ¤µ¤ì¤Æ¤¤¤ë IRQ ÈÖ¹æ¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡¥´Æ»ë¤¹¤ë IRQ ¤¬¥Ç¥Ð¥¤¥¹¥É¥é ¥¤¥Ð¤Ë¤ï¤«¤ë¤è¤¦¤Ë¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë¤Ï¤³¤ì¤ÈƱ¤¸ IRQ ÈÖ¹æ¤òÀßÄꤷ¤Ê ¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥

¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬³ä¤ê¹þ¤ß(½õ¤±¤Îµá¤á)¤ò¼õ¤±¼è¤ë¤È¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï ³ä¤ê¹þ¤ß¤¬È¯¹Ô¤µ¤ì¤¿Íýͳ¤òÄ´¤Ù¡¤³ä¤ê¹þ¤ß¤ò½èÍý¤¹¤ëŬÀÚ¤ÊÆ°ºî¤ò¹Ô¤ï¤Ê¤± ¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ISA ¥Ð¥¹¤Î¾ì¹ç¤Ë¤Ï¡¤¤½¤ì¤¾¤ì¤Ë¥Ç¥Ð¥¤¥¹¤Ë¸ÇÍ­¤Î IRQ ÈÖ ¹æ¤¬É¬ÍפǤ¹¡¥PCI ¥Ð¥¹¤Î¾ì¹ç¤ÈÊÌ¤ÎÆÃ¼ì¤Ê¾ì¹ç¤Ë¤Ï¡¤IRQ ¤ò¶¦Í­¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡¥

2.5 DMA ¥Á¥ã¥ó¥Í¥ë

DMA ¥Á¥ã¥ó¥Í¥ë¤ò»È¤¦¤Î¤Ï ISA ¥Ð¥¹¤À¤±¤Ç¤¹¡¥DMA ¤Ï ¡ÖDirect Memory Access(ľÀÜ¥á¥â¥ê¥¢¥¯¥»¥¹)¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡¥¤³¤ì¤Ï¥Ç¥Ð ¥¤¥¹¤¬ CPU ¤«¤é¥³¥ó¥Ô¥å¡¼¥¿¤Î¥á¥¤¥ó¥Ð¥¹¤ò°ú¤­·Ñ¤®¡¤¥Ð¥¤¥ÈÎó¤ò ¥á¥¤¥ó¥á¥â¥ê¤ØÄ¾ÀÜžÁ÷¤ò¤¹¤ë¤³¤È¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤Ç¤¹¡¥Ä̾ï¤Ï CPU ¤Ï¤³¤Î¤è¤¦¤ÊžÁ÷¤ò 2 ¥¹¥Æ¥Ã¥×¤Î½èÍý¤Ç¹Ô¤¤¤Þ¤¹: (1) I/O ¥Ç¥Ð¥¤¥¹¤Î¥á¥â¥ê ¶õ´Ö¤«¤éÆÉ¤ß¹þ¤ó¤À¥Ð¥¤¥ÈÎó¤ò CPU ¤½¤Î¤â¤Î¤ËÁ÷¤ë¡¥(2) ¤³¤Î¥Ð¥¤¥ÈÎó¤ò CPU ¤«¤é¥á¥¤¥ó¥á¥â¥ê¤ËÁ÷¤ë¡¥DMA ¤ò»È¤¦¤È¡¤¤³¤Î½èÍý¤Ï¥Ç¥Ð¥¤¥¹¤«¤é¥á¥â¥ê ¤ØÄ¾ÀܥХ¤¥ÈÎó¤òÁ÷¤ë¤È¤¤¤¦ 1 ¤Ä¤Î¥¹¥Æ¥Ã¥×¤Ë¤Ê¤ê¤Þ¤¹¡¥¤¿¤À¤·¡¤¥Ç¥Ð¥¤¥¹ ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤³¤Îµ¡Ç½¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¿¤á¡¤É¬¤º¤·¤â Á´¤Æ¤Î¥Ç¥Ð¥¤¥¹¤Ç DMA ¤ò»ÈÍѤǤ­¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥DMA ¤ò¹Ô¤Ã¤Æ¤¤¤ë ´Ö¤Ï CPU ¤Îưºî¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡¥¤Ê¤¼¤Ê¤é¡¤¥á¥¤¥ó¥Ð¥¹¤¬ DMA žÁ÷¤Ë»È¤ï¤ì ¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡¥

¼Â¤Ï PCI ¥Ð¥¹¤Ë¤Ï DMA ¤¬¤Ê¤¤¤Î¤Ç¤¹¤¬¡¤¤½¤ÎÂå¤ï¤ê¤Ë DMA ¤è¤ê¤â¤â¤Ã¤ÈÎÉ ¤¤µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡¥¤Ä¤Þ¤ê¥Ð¥¹¥Þ¥¹¥¿¥ê¥ó¥°¤Ç¤¹¡¥¥Ð¥¹¥Þ¥¹¥¿¥ê¥ó¥°¤Îưºî¤Ï DMA ¤È»÷¤Æ¤ª¤ê¡¤DMA ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹(Î㤨¤Ð¡¤"UltraDMA" ¤È¸Æ¤Ð ¤ì¤ë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö)¡¥¤³¤Îµ¡Ç½¤ò»È¤¦¤È¡¤¥Ç¥Ð¥¤¥¹¤Ï°ì»þŪ¤Ë¥Ð¥¹ ¤Î½êÍ­¼Ô(¥Ð¥¹¥Þ¥¹¥¿)¤Ë¤Ê¤ê¡¤¥Ð¥¹¥Þ¥¹¥¿¤¬ CPU ¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¥Ð¥¤¥ÈÎó ¤òžÁ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¥Ð¥¹¥Þ¥¹¥¿¥ê¥ó¥°¤Ï¥Á¥ã¥ó¥Í¥ëÈÖ¹æ¤òÁ´¤¯»È¤¤¤Þ ¤»¤ó¡¥¤Ê¤¼¤Ê¤é PCI ¥Ð¥¹¤Î»ÅÁȤߤǤϡ¤PCI ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ï¸½ºß¤Î¥Ð¥¹¥Þ ¥¹¥¿¤ä¥Ð¥¹¥Þ¥¹¥¿¤Ë¤Ê¤í¤¦¤È¤·¤Æ¥ê¥¯¥¨¥¹¥È¤ò½Ð¤·¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤òÃΤ뤳¤È ¤¬¤Ç¤­¤ë¤«¤é¤Ç¤¹¡¥¤·¤¿¤¬¤Ã¤Æ¡¤PCI ¥Ð¥¹¤ËÂФ¹¤ë DMA ¥Á¥ã¥ó¥Í¥ë¤Î³ä¤êÅö ¤Æ¤Ï¤¢¤ê¤Þ¤»¤ó¡¥

ISA ¥Ð¥¹¾å¤Î¥Ç¥Ð¥¤¥¹¤¬ DMA ¤ò¹Ô¤ª¤¦¤È¤¹¤ëºÝ¡¤¤³¤Î¥Ç¥Ð¥¤¥¹¤Ï³ä¤ê¹þ¤ßÍ× µá¤Ë¤è¤¯»÷¤¿ DMA Í×µá¤òÀìÍѤÎÍ×µáÀþ¤ò»È¤Ã¤ÆÈ¯¹Ô¤·¤Þ¤¹¡¥¼ÂºÝ¤Ë¤Ï DMA ¤Ï ³ä¤ê¹þ¤ß¤ò»È¤Ã¤Æ½èÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤Ï¤º¤Ê¤Î¤Ç¤¹¤¬¡¤¤½¤¦¤¹¤ë¤ÈÃٱ䤬µ¯ ¤³¤ë¤¿¤á¡¤DMA Í×µá¤È¸Æ¤Ð¤ì¤ëÆÃÊ̤ʥ¿¥¤¥×¤Î³ä¤ê¹þ¤ß¤ò»È¤¦Êý¤¬Â®¤¤¤Î¤Ç¤¹¡¥ ³ä¤ê¹þ¤ß¤ÈƱÍͤˡ¤DMA Í×µá¤Ë¤ÏÈֹ椬ÉÕ¤±¤é¤ì¤Æ¤ª¤ê¡¤Í×µá¤ò¹Ô¤Ã¤¿¥Ç¥Ð¥¤ ¥¹¤ò¼±Ê̤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¤³¤ÎÈÖ¹æ¤Ï DMA ¥Á¥ã¥ó¥Í¥ë¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥DMA ¥Á¥ã¥ó¥Í¥ë¤Ï¥á¥¤¥ó¥Ð¥¹¤òÁ´¤Æ»È¤¦(¤Þ¤¿Æ±»þ¤Ë 1 ¤Ä¤·¤«Æ°ºî¤Ç¤­¤Ê¤¤)¤Î¤Ç¡¤ ¼ÂºÝ¤Ë¤Ï¤³¤ì¤é¤¹¤Ù¤Æ¤¬Æ±¤¸¥Á¥ã¥ó¥Í¥ë¤ò»È¤¦¤Î¤Ç¤¹¤¬¡¤¡ÖDMA ¥Á¥ã¥ó¥Í¥ë¡× ÈÖ¹æ¤ò»È¤¦¤È¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤ò»È¤Ã¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤ò¼±Ê̤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ³Æ¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤Î¸½ºß¤Î¾õÂÖ¤ò³ÊǼ¤·¤Æ¤¤¤ë¥Ï¡¼¥É¥¦¥§¥¢¥ì¥¸¥¹¥¿¤¬¥Þ¥¶¡¼ ¥Ü¡¼¥É¾å¤Ë¤¢¤ê¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ë¡¤DMA Í×µá¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¤¥Ç¥Ð¥¤¥¹¤ÏʪÍý ¥Ç¥Ð¥¤¥¹¤Î¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë DMA ¥Á¥ã¥ó¥Í¥ëÈÖ¹æ¤òÃΤäƤ¤¤Ê¤±¤ì ¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥

2.6 ¥á¥â¥êÎΰè

°ìÉô¤Î¥Ç¥Ð¥¤¥¹¤Ë¤Ï¥á¥¤¥ó¥á¥â¥êÆâ¤Î¥¢¥É¥ì¥¹¶õ´Ö¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ ¤¹¡¥¤³¤ì¤Ï¿¤¯¤Î¾ì¹ç¡Ö¶¦Í­¥á¥â¥ê(shared memory)¡×¤Þ¤¿¤Ï ¡Ö¥á¥â¥ê¥Þ¥Ã¥×¥È I/O(memory mapped I/O)¡×¤Ç¤¹¡¥¥Ç¥Ð¥¤¥¹¾å¤Î ROM ¤Ç¤¢¤ë ¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥¥Ð¥¹¥ê¥½¡¼¥¹¤ÎµÄÏÀ¤ò¤¹¤ë»þ¤Ë¤Ï¡¤¤³¤ì¤Ïñ¤Ë¡Ö¥á¥â¥ê¡×¤È ¸Æ¤Ð¤ì¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¥Ç¥Ð¥¤¥¹¤â I/O ¥¢¥É¥ì¥¹¶õ´Ö¤ò»ÈÍѤ·¤Þ¤¹¡¥

¤³¤Î¤è¤¦¤Ê¥«¡¼¥É¤òÁÞ¤·¤¿»þ¤Ï¡¤¼ÂºÝ¤Ë¤Ï(I/O ¥á¥â¥ê¤Ç¤Ê¤¯)¥á¥¤¥ó¥á¥â¥ê¤Ë ÂФ¹¤ë¥á¥â¥ê¥â¥¸¥å¡¼¥ë¤òÁÞ¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥¤³¤ì¤Ï ROM(Read Only Memory)¤È¶¦Í­¥á¥â¥ê¤Î¤É¤Á¤é¤Ç¤â¹½¤¤¤Þ¤»¤ó¡¥¤³¤Î¥á¥â¥ê¤Ï ¥Ç¥Ð¥¤¥¹¤È¥á¥¤¥ó¥á¥â¥ê´Ö¤ÎľÀܥǡ¼¥¿u¥¤³¤Î¤è¤¦¤ÊÄÌ¿®¤ò¹Ô ¤¦¤¿¤á¡¤³Æ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÏÀ©¸æ¤¹¤ë¥Ç¥Ð¥¤¥¹¤ÎÍ£°ì¤Î¥¢¥É¥ì¥¹ÃͤòÃÎ¤Ã¤Æ ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤³¤Î¤è¤¦¤Ê¥¢¥É¥ì¥¹ÃͤòÃΤ뤳¤È¤¬¡ÖÄÌ¿®¥Á¥ã¥ó¥Í¥ë ¤òÀßÄꤹ¤ë¡×¤³¤È¤Ê¤Î¤Ç¤¹¡¥¤³¤Î¡Ö¥Á¥ã¥ó¥Í¥ë¡×¤¬¼ÂºÝ¤Ë¤Ï PC ÆâÉô¤Î¥Ç¡¼¥¿ ¥Ð¥¹¤Ç¤¢¤ê¡¤Â¾¤Î¤Û¤È¤ó¤ÉÁ´¤Æ¤Î¤â¤Î¤Ë¶¦Í­¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤âƱ¤¸¤Ç¤¹¡¥ ¼ÂºÝ¤ÎÄÌ¿®¥Á¥ã¥ó¥Í¥ë¤Ï¤³¤³¤Ç¤ÎÀâÌÀ¤è¤ê¾¯¤·Ê£»¨¤Ç¤¹¡¥¡Ö¥¢¥É¥ì¥¹Ã͡פϼ ºÝ¤Ë¤ÏÉý¤ò»ý¤Ã¤¿¥¢¥É¥ì¥¹¤Ç¤¹¤·¡¤¥Á¥ã¥ó¥Í¥ë¤Ë¤Ï(³ä¤ê¹þ¤ß¤È¤·¤ÆÃΤé¤ì¤Æ ¤¤¤ë)µÕ¸þ¤­¤ÎÉôʬ¤¬¤¢¤ê¡¤¥Ç¥Ð¥¤¥¹¤Ï¤³¤ì¤ò»È¤Ã¤Æ¶ÛµÞ¤Î¡Ö¥Ø¥ë¥×¡×Í×µá¤ò ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ËÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥

2.3 I/O ¥¢¥É¥ì¥¹Åù

PC ¤Ë¤Ï 3 ¤Ä¤Î¥¢¥É¥ì¥¹¶õ´Ö(I/O, ¥á¥¤¥ó¥á¥â¥ê¡¤(PCI ¥Ð¥¹¤Ë¸Â¤ê)ÀßÄê) ¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤é 3 ¼ïÎà¤Î¥¢¥É¥ì¥¹¤Ï¡¤PC ÆâÉô¤Ç¤ÏƱ¤¸¥Ð¥¹¤ò¶¦Í­¤·¤Æ¤¤ ¤Þ¤¹¡¥¤·¤«¤·¡¤¤¢¤ë¥¢¥É¥ì¥¹¤¬¤É¤Î¶õ´Ö(I/O, ¥á¥¤¥ó¥á¥â¥ê¡¤ÀßÄê)¤Î¤â¤Î¤« ¤Ï¡¤PC ¤Î¥Ð¥¹¾å¤Ë¤¢¤ëÀìÍѤÎÇÛÀþ¤ÎÅ۵¤ò»È¤Ã¤ÆÅÁ¤¨¤é¤ì¤Þ¤¹¡¥¾Ü¤·¤¯¤Ï ¥¢¥É¥ì¥¹ ¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ÉáÄÌ¤Ï¥Ç ¥Ð¥¤¥¹¤Ï I/O ¥¢¥É¥ì¥¹¶õ´Ö¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¤¸½ºß¤Ï¥á¥¤¥ó¥á¥â¥êÆâ¤Î ¶õ´Ö¤ò»È¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥I/O ¥¢¥É¥ì¥¹¤Ïñ¤Ë "I/O", "IO", "i/o", "io" ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡ÖI/O ¥Ý¡¼¥È¡×¤È¤¤¤¦¸ÀÍÕ¤â»È¤ï¤ì¤Þ ¤¹¡¥I/O ¥¢¥É¥ì¥¹(¤Þ¤¿¤Ï³ä¤ê¹þ¤ßÅù¤Î¾¤Î¥Ð¥¹¥ê¥½¡¼¥¹)¤Ï°Ê²¼¤Î 2 ¤Ä¤Î¼ç¤Ê¥¹¥Æ¥Ã ¥×¤Ë¤è¤ê³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹:

  1. I/O ¥¢¥É¥ì¥¹Åù¤ò¥«¡¼¥É(¤Î¥ì¥¸¥¹¥¿¤Î 1 ¤Ä)¤ËÀßÄꤹ¤ë
  2. ¤³¤Î I/O ¥¢¥É¥ì¥¹Åù¤ò¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë¶µ¤¨¤ë

ÀèÄø½Ò¤Ù¤¿ 2 ¥¹¥Æ¥Ã¥×¤Î½èÍý¤Ï¡¤Æ»¤Ç狼¤Î²È¤ÎÈÖÃϤò¸«¤Ä¤±¤ëÌäÂê¤ò 2 ¤Ä ¤Ëʬ¤±¤¿¤â¤Î¤È»÷¤Æ¤¤¤Þ¤¹¡¥¤¢¤Ê¤¿¤ÏÈÖÃϤò¸«¤Ä¤±¤Ê¤±¤ì¤Ð(¤½¤·¤Æ½ñ¤­Î±¤á ¤Ê¤±¤ì¤Ð)¤Ê¤ê¤Þ¤»¤ó¤·¡¤¤³¤Î²È¤Î»ý¤Á¼ç¤Ï¡¤¸«¤Ä¤±¤Æ¤â¤é¤¨¤ë¤è¤¦¤Ë²È¤ÎÁ°¤Ë ÈÖÃϤòɽ¼¨¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¥³¥ó¥Ô¥å¡¼¥¿¤Î¾ì¹ç¤Ë¤Ï¡¤¥Ç¥Ð¥¤¥¹¥É ¥é¥¤¥Ð¤Ï¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¤¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ÏƱ¤¸¥¢ ¥É¥ì¥¹¤òÆÃÄê¤Î¥ì¥¸¥¹¥¿¤ËÀßÄꤷ¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤³¤Îºî¶È¤ÏξÊý¤È ¤â¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¤ÊÒÊý¤·¤«ÀßÄꤷ¤Ê¤¤¤è¤¦¤Ê¥ß¥¹¤ò¥æ¡¼¥¶¤¬ ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¥³¥ó¥Ô¥å¡¼¥¿¤Ï¥Ç¥Ð¥¤¥¹¤ò¸¡½Ð¤Ç ¤­¤º¤Ëº¤¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥Î㤨¤Ð¡¤¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ë¥¢¥É¥ì¥¹¤ò³ä ¤êÅö¤Æ¤ëÌÜŪ¤Ç "setserial" ¤ò»È¤Ã¤Æ¤â¡¤"setserial" ¤Ï¥É¥é¥¤¥Ð¤Ë¤·¤«¥¢ ¥É¥ì¥¹¤ò¶µ¤¨¤Þ¤»¤ó¡¥setserial ¤Ï¥·¥ê¥¢¥ë¥Ý¡¼¥È¼«ÂΤΥ¢¥É¥ì¥¹¤ÏÀßÄꤷ¤Þ ¤»¤ó¡¥¼ÂºÝ¤Ë¥·¥ê¥¢¥ë¥Ý¡¼¥È¤¬¤Î¥¢¥É¥ì¥¹¤¬°ã¤Ã¤Æ¤¤¤¿¤é(¤¢¤ë¤¤¤ÏÁ´¤¯ÀßÄê ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð)¡¤¸í¤Ã¤¿¥¢¥É¥ì¥¹¤ò¥É¥é¥¤¥Ð¤ËÀßÄꤷ¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¡¤ ÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡¥

¤³¤Î¾¤Ë¤âÌÀ¤é¤«¤ËɬÍפʤ³¤È¤È¤·¤Æ¡¤¤¢¤ë¥¢¥É¥ì¥¹¤ò¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬»È ¤¨¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë¤Ï¡¤¤½¤Î¥¢¥É¥ì¥¹¤¬¥«¡¼¥É¤ËÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê ¤¤¤³¤È¤¬µó¤²¤é¤ì¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¥³¥ó ¥Ô¥å¡¼¥¿¤¬µ¯Æ°¤·¤¿Ä¾¸å¤Ëưºî¤ò»Ï¤á¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¤PnP ÀßÄê¥×¥í¥°¥é¥à ¤¬¥«¡¼¥É¤Î¥¢¥É¥ì¥¹ÀßÄê¤ò¹Ô¤¦Á°¤Ë¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬(¥«¡¼¥É¤¬¤¢¤ë¤«¤É¤¦ ¤«¤òÄ´¤Ù¤ëÅù¤Î¤¿¤á¤Ë)¥«¡¼¥É¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤¹¤ë¤³¤È¤â»þ¡¹¤¢¤ê¤Þ¤¹¡¥ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¤¿¤È¤¨¥«¡¼¥É¤¬¤¢¤Ã¤Æ¤â(¤¿¤À¤·¡¤¤Þ¤À¥¢¥É¥ì¥¹¤ò»ý¤Ã ¤Æ¤¤¤Ê¤¤)¡¤¥«¡¼¥É¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡¥

Àè¤Î 2 ¤Ä¤ÎÃÊÍî¤Ç¤Î I/O ¥¢¥É¥ì¥¹¤Ë´Ø¤¹¤ëÀâÌÀ¤Ï¡¤Â¾¤Î¥ê¥½¡¼¥¹( IRQ --³µÍ×, DMA ¥Á¥ã¥ó¥Í¥ë, ¥á¥â¥êÎΰè )¤Ë¤Ä¤¤¤Æ¤âƱ¤¸¤è¤¦¤ËÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡¥¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Î 3 ¤Ä¤Î¾Ï¤Ç ÀâÌÀ¤·¤Þ¤¹¡¥

2.4 IRQ --³µÍ×

¤³¤ÎÀâÌÀ¤òÆÉ¤ó¤À¸å¤Ë¤â¤Ã¤È¾Ü¤·¤¤¤³¤È¤òÃΤꤿ¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï ³ä¤ê¹þ¤ß --¾ÜºÙ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡¥ ¤³¤³¤Ç¤ÎÀâÌÀ¤Ï¤´¤¯´Êñ¤Ë¹Ô¤¤¤Þ¤¹: ¥¢¥É¥ì¥¹¤Î¾¤Ë¤â¡¤°·¤ï¤Ê¤±¤ì¤Ð¤Ê ¤é¤Ê¤¤³ä¤ê¹þ¤ßÈÖ¹æ(IRQ 5 Åù)¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤Ï IRQ(Interrupt ReQuest, ³ä¤ê¹þ¤ßÍ×µá)ÈÖ¹æ¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬ÄÌ¿®¤ò¹Ô¤¦¤¿ ¤á¤Ë¤Ï¥«¡¼¥É¤Î¥¢¥É¥ì¥¹¤òÃΤäƤ¤¤ëɬÍפ¬¤¢¤ë¤³¤È¤Ï´û¤Ë½Ò¤Ù¤Þ¤·¤¿¡¥¤·¤« ¤·¡¤µÕÊý¸þ¤ÎÄÌ¿®¤Ë¤Ä¤¤¤Æ¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«? ¤Þ¤¿¡¤¥Ç¥Ð¥¤¥¹¤¬¥Ç¥Ð¥¤¥¹¥É¥é ¥¤¥Ð¤ËµÞ¤¤¤ÇÅÁ¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ë¤È¤·¤¿¤é? Î㤨¤Ð¥Ç¥Ð¥¤¥¹¤Ï¡¤ ¥á¥¤¥ó¥á¥â¥ê¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÂçÎ̤ΥХ¤¥ÈÎó¤ò¼õ¤±¼è¤ë¤è¤¦¤Ê¤³¤È¤¬ ¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤¥Ç¥Ð¥¤¥¹¤Ï¤¹¤«¤µ¤º¥É¥é¥¤¥Ð¤ò¸Æ ¤Ó½Ð¤·¤Æ¥Ç¡¼¥¿¤ò°ìÅ٤˼õ¤±¼è¤ê¡¤¥Ð¥Ã¥Õ¥¡°ìÇդ˵ͤޤ俥ǡ¼¥¿¤òµÞ¤¤¤Ç¥á ¥¤¥ó¥á¥â¥ê¤Ë°Ü¤·¤Æ¤â¤é¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥

¥Ç¥Ð¥¤¥¹¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Æ½õ¤±¤òµá¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¥á¥¤¥ó ¥Ç¡¼¥¿¥Ð¥¹¤Ï´û¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤«¤é¡¤¤³¤ì¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¥ ¤½¤ÎÂå¤ï¤ê¤Ë¡¤¥Ç¥Ð¥¤¥¹¤ÏÀìÍѤγä¤ê¹þ¤ßÀþ(¥Ð¥¹¤Î°ìÉô¤Ç¤¹)¤ËÅ۵¤òÀßÄꤷ ¤Þ¤¹¡¥¤³¤ÎÀþ¤Ï¿¤¯¤Î¾ì¹ç¡¤¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤À¤±¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ ¤³¤Î¿®¹æ¤Ï³ä¤ê¹þ¤ß¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥³ä¤ê¹þ¤ßÀþ¤Ë¤ÏÅù²Á¤ÊÀþ¤¬ 16 ¸Ä¤¢¤ê¡¤¤³ ¤ì¤é¤Ï¤½¤ì¤¾¤ì(´ÖÀÜŪ¤Ë)ÆÃÄê¤Î¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë·Ò¤¬¤Ã¤Æ¤¤¤Þ¤¹¡¥¤½¤ì¤¾ ¤ì¤ÎÀþ¤Ë¤Ï¸ÇÍ­¤Î IRQ (Interrupt ReQuest)Èֹ椬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡¥¥Ç¥Ð¥¤¥¹¤Ï ³ä¤ê¹þ¤ß¤òÀµ¤·¤¤Àþ¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÏÀµ¤·¤¤Àþ¤Ç³ä ¤ê¹þ¤ß¤òÂÔ¤¿¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤É¤ÎÀþ¤Ë³ä¤ê¹þ¤ß¤¬µ¯¤³¤ë¤«¤Ï¥Ç¥Ð¥¤¥¹¤Ë ³ÊǼ¤µ¤ì¤Æ¤¤¤ë IRQ ÈÖ¹æ¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡¥´Æ»ë¤¹¤ë IRQ ¤¬¥Ç¥Ð¥¤¥¹¥É¥é ¥¤¥Ð¤Ë¤ï¤«¤ë¤è¤¦¤Ë¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë¤Ï¤³¤ì¤ÈƱ¤¸ IRQ ÈÖ¹æ¤òÀßÄꤷ¤Ê ¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥

¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤¬³ä¤ê¹þ¤ß(½õ¤±¤Îµá¤á)¤ò¼õ¤±¼è¤ë¤È¡¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï ³ä¤ê¹þ¤ß¤¬È¯¹Ô¤µ¤ì¤¿Íýͳ¤òÄ´¤Ù¡¤³ä¤ê¹þ¤ß¤ò½èÍý¤¹¤ëŬÀÚ