Linux Kernel Module programming (Kernel 2.4, ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð)

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

¡û ¤Ï¤¸¤á¤Ë

ËÜʸ½ñ¤Ç¤Ï¡¢É®¼Ô¤¬ Linux® ¤Ç¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤òºîÀ®¤·¤è¤¦¤È¤·¤¿ºÝ¤Ë¡¢¥«¡¼¥Í¥ë¤ËưŪ¤ËÄɲõ¡Ç½¤òÁȤ߹þ¤à¤³¤È¤¬½ÐÍè¤ë¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î½ñ¤­Êý¤Ë¤Ä¤¤¤ÆÊÙ¶¯¤·¤¿¤³¤È¤òÀâÌÀ¤·¤Æ¤¤¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

É®¼Ô¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ç¥Ï¡¼¥É¥¦¥§¥¢¤òÀ©¸æ¤¹¤ë¥×¥í¥°¥é¥à¤òºî¤ê¤¿¤¤¤È»×¤¤¤Ê¤¬¤é¼Ò²ñ¿Í¤Ë¤Ê¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢²ñ¼Ò¤Ç¤½¤¦¤¤¤¦»Å»ö¤¬¤É¤ó¤É¤ó¸º¤Ã¤Æ¤·¤Þ¤Ã¤ÆÁ´Á³µ¡²ñ¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·¡¢»¨»ïÅù¤Ç¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤òºîÀ®¤·¤Æ¼«ºî¤Î¥Ï¡¼¥É¥¦¥§¥¢¤òÀ©¸æ¤¹¤ëµ­»ö¤òÆɤàÅ٤ˡ¢¼«Ê¬¤â¤ä¤ê¤¿¤¤¤È¤¤¤¦µ¤»ý¤Á¤¬Â礭¤¯¤Ê¤Ã¤Æ¤¤¤­¤Þ¤·¤¿¡£

¤½¤·¤Æ¤¢¤ëÆü¡¢¡ÖÅŻҹ©ºî¤òÊÙ¶¯¤·¤Æ¼«Ê¬¤Î¥Ï¡¼¥É¥¦¥§¥¢¤òºî¤ê¡¢¤½¤ì¤òÆ°¤«¤¹¤¿¤á¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò½ñ¤³¤¦¡ª¡×¤È·è°Õ¤·¤Þ¤·¤¿¡£Linux ¤Ç¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¥«¡¼¥Í¥ë¤ËºÇ½é¤«¤éÁȤ߹þ¤ó¤Ç¤·¤Þ¤¦ÊýË¡¤È¡¢Æ°Åª¤ËÄɲõ¡Ç½¤òÁȤ߹þ¤à¤³¤È¤¬½ÐÍè¤ë¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤È¤¤¤¦·Á¼°¤ÇºîÀ®¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤ÆÃΤäƤª¤±¤Ð¡¢¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Î¤ß¤Ê¤é¤º¥«¡¼¥Í¥ë¤ËÂФ¹¤ëÆȼ«¤Î³ÈÄ¥µ¡Ç½¤ò´Êñ¤ËÁȤ߹þ¤à¤³¤È¤â½ÐÍè¤ë¤¿¤á¡¢¤È¤Æ¤âÊØÍø¤Ç¤¹¡£

ºÇ½é¤Ë»×¤¤Î©¤Ã¤Æ¤«¤é¤¤¤Ä¤Î´Ö¤Ë¤« 3 ǯÄø¤¿¤Ã¤Æ¤·¤Þ¤¤ Linux ¥«¡¼¥Í¥ë¤â 2.6 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¤¬¡¢2.4 ÍѤÎÃ챤¬Á´¤¯ÌµÂ̤ˤʤäƤ·¤Þ¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¡Ê¤Ï¤º¡Ë¤Ê¤Î¤Ç»²¹Í¤Ë¤Ê¤ì¤Ð¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£

ËÜʸ½ñ¤Ø¤Î¥ê¥ó¥¯¤Ï¸æ¼«Í³¤Ë¤É¤¦¤¾¡£ËÜ¥µ¥¤¥ÈÆâ¤Îʸ¾Ï¤Ë´Ø¤·¤Æ²¿¤«¤´°Õ¸«¤Ê¤É¤¬¤¢¤ê¤Þ¤·¤¿¤é¡¢¥Ú¡¼¥¸ºÇ²¼Éô¤Ë¤¢¤ë¥¢¥É¥ì¥¹¤Þ¤Ç¡¢¤¢¤ë¤¤¤Ï¤³¤³¤«¤é¤ª´ê¤¤¤·¤Þ¤¹¡£¤Ê¤ª¡¢ËÜʸ½ñ¤Ë¤ª¤¤¤Æ»ÈÍѤ·¤Æ¤¤¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤ò tar ·Á¼°¤Ç°µ½Ì¤·¤¿¤â¤Î¤òsrc.tar.gz ¤È¤·¤ÆÃÖ¤¤¤Æ¤Þ¤¹¡£Å¸³«¤·¤ÆÆÀ¤é¤ì¤ë³Æ¥½¡¼¥¹¥³¡¼¥É¤Ï EUC ¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£³Æ¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤½¤Î¥³¡¼¥É¤ò»ÈÍѤ·¤¿ Lecture ¤ÎÈֹ椬Éղ䵤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¥³¡¼¥É¤Î»ÈÍѤ˴ؤ·¤Æ¤Ï¡¢ÌÈÀÕ»ö¹à¤Îµ­½Ò¤òλ¾µ¤·¤Æ¤¤¤¿¤À¤±¤ì¤Ð¼«Í³¤Ë»È¤Ã¤Æ¤¤¤¿¤À¤¤¤Æ¹½¤¤¤Þ¤»¤ó¡£

¤Þ¤¿¡¢¥½¡¼¥¹¥³¡¼¥É¤ò´Þ¤á¤¿Ê¸½ñÁ´ÂΤΥ¢¡¼¥«¥¤¥Ö( tar ·Á¼° )¤ò driver24_doc.tar.gz¤È¤·¤ÆÃÖ¤¤¤Æ¤Þ¤¹¡£¤³¤Á¤é¤â EUC ¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£

¡û Á°Äé´Ä¶­

Linux kernel 2.4.x ¤ÇÆ°ºî¤¹¤ë¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤òºîÀ®¤·¤Þ¤¹¤Î¤Ç¡¢Linux kernel 2.4.x ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£¤Þ¤¿¡¢ÅÓÃæ¥Ï¡¼¥É¥¦¥§¥¢À©¸æ¤ÎÎý½¬¤ò¤¹¤ë¤Ä¤â¤ê¤Ç¤¹¤¬¡¢¤½¤ÎºÝ¤Ï¥×¥ê¥ó¥¿¥Ý¡¼¥È ( ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È ) ¤ò»ÈÍѤ¹¤ëͽÄê¤Ç¤¹¡£¤Ç¤¹¤Î¤Ç¡¢¥×¥ê¥ó¥¿¥Ý¡¼¥È¤¬ÅëºÜ¤µ¤ì¤Æ¤¤¤ë PC ¤Ç¤¢¤ëÊý¤¬ÅԹ礬Îɤ¤¤Ç¤¹¡£

¡û ÌÈÀÕ»ö¹à

ËÜ¥µ¥¤¥È¤Ç¸ø³«¤·¤Æ¤¤¤ëÆâÍƤˤĤ¤¤Æ¤Ï²Äǽ¤Ê¸Â¤êÀµ³Î¤ò´ü¤¹¤ëÍͤ˿´³Ý¤±¤Æ¤¤¤Þ¤¹¤¬¡¢Ãø¼Ô¤ÎÃμ±ÉÔ­¤«¤éµ»½ÑŪ¤Ê¸í¤ê¤â¤·¤¯¤ÏÉÔŬÀÚ¤Êɽ¸½¤ä¸í¿¢¤ò´Þ¤à²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÆâÍƤò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀ¸ ¤¸¤ë²ÄǽÀ­¤Î¤¢¤ë¤¤¤«¤Ê¤ëÈï³²/»³²¤ËÂФ·¤Æ¡¢Ãø¼Ô¤Ï°ìÀÚ¤ÎÀÕǤ¤òÉ館¤Þ¤»¤ó¡£¤è¤Ã¤Æ¡¢¤´ÍøÍѤˤʤé¤ì¤ëºÝ¤Ï¤ß¤Ê¤µ¤ó³Æ¼«¤ÎÀÕǤ¤ÇÆâÍƳÎǧ/Æ°ºî³Îǧ¤ò¹Ô¤Ã¤Æ²¼¤µ¤¤¡£

¤Ê¤ª¡¢ËÜ¥µ¥¤¥È ( Linux Kernel Module programming ( Kernel 2.4 ) ) ¤Ë·ÇºÜ¤·¤Æ¤¤¤ë¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Ï GNU General Public License version 2 (GPL v2) ¤Ë½¾¤¦¤³¤È¤È¤·¤Þ¤¹¡£GPL ¤Î¸ø¼°¥µ¥¤¥È¤Ï http://www.gnu.org/licenses/gpl.html¤Ç¤¹¡£

¡û ¾¦É¸

  • Linux ¤Ï Linus Torvalds »á¤ÎÆüËܵڤӤ½¤Î¾¤Î¹ñ¤Ë¤ª¤±¤ëÅÐÏ¿¾¦É¸¤Þ¤¿¤Ï¾¦É¸¤Ç¤¹¡£
  • UNIX ¤Ï The Open Group ¤ÎÊƹñµÚ¤Ó¤½¤Î¾¤Î¹ñ¤Ë¤ª¤±¤ëÅÐÏ¿¾¦É¸¤Ç¤¹¡£
  • ¤½¤Î¾¡¢ËÜ¥µ¥¤¥È¤Îʸ½ñÃæ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë²ñ¼Ò̾¤äÀ½ÉÊ̾¤Ï¡¢°ìÈ̤˳ƼҤξ¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£
  • ¤Ê¤ª¡¢ËÜ¥µ¥¤¥È¤Îʸ½ñÃæ¤Ç¤Ï TM ¤ª¤è¤Ó R ¥Þ¡¼¥¯¤òÌÀµ­¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¸¢Íø¤ò¿¯³²¤¹¤ë°Õ»×¤äÌÜŪÅù¤Ï°ìÀÚ¤¢¤ê¤Þ¤»¤ó¡£

¡û »²¹Í¾ðÊó(ʸ¸¥¡¢¥ê¥ó¥¯)

  • LINUX ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð Âè 2 ÈÇ Linux 2.4 Âбþ, O'REILLY, 2002, ISBN-4-87311-081-5

    Linux ¤Ç¤Î¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥ÐºîÀ®¤Ë¤Ä¤¤¤Æ¡¢¤È¤Æ¤â¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥ÐºîÀ®»þ¤Ë¤Ï¡¢°ìºý¼ê¸µ¤ËÃÖ¤¤¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ ¤¿¤À¡¢ÌÖÍ夷¤Æ¤¤¤ë¤¬¤¿¤á¤Ë½é¿´¼Ô¤Ë¤Ïή¤ì¤¬Ê¬¤«¤ê¤Ë¤¯¤¤µ¤¤¬¤·¤Þ¤¹¤Î¤Ç¡¢ Åö¥µ¥¤¥È¤äÊ̤Υڡ¼¥¸Åù¤Ç´ðËܤòÊÙ¶¯¤·¤¿¸å¤ËºÆÆɤ¹¤ëÊý¤¬Îɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ Linux Device Drivers,2nd Edition: Online Book¤Ç PDF ¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

  • Linux ¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É (ÇÛÉÛ¥µ¥¤¥È: The Linux Kernel Archives)

    ¸À¤¦¤Þ¤Ç¤â¤Ê¤¯¡¢¸½Êª¤ò¸«¤ë¤³¤È¤¬°ìÈÖ¤ÎÊÙ¶¯¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ drivers ¥Ç¥£¥ì¥¯¥È¥êÆâÉô¤Î¥³¡¼¥É¤ò»²¾È¤¹¤ì¤Ð¡¢¤É¤ÎÍͤ˥ǥХ¤¥¹¥É¥é¥¤¥Ð¤ò ¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤«¤¬Îɤ¯Ê¬¤«¤ê¤Þ¤¹¤·¡¢¥«¡¼¥Í¥ëÆâÉô¤Ç¤É¤ÎÍͤʻÅÁÈ¤ß¤Ç ¼ÂºÝ¤ËÆ°ºî¤·¤Æ¤¤¤ë¤Î¤«¡¢Ä´¤Ù¤ì¤ÐÄ´¤Ù¤ëÄøʬ¤«¤Ã¤ÆÍè¤Þ¤¹¡£

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