ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®
1절. ¼Ò°³À¯´Ð½º¿¡¼ »ç¿ëµÇ´Â procÆÄÀÏ ½Ã½ºÅÛÀº ¿î¿µÃ¼Á¦ÀÇ °¢Á¾ Á¤º¸¸¦ Ä¿³Î¸ðµå°¡ ¾Æ´Ñ À¯Àú¸ðµå¿¡¼ ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾î ÁÜÀ¸·Î ½Ã½ºÅÛ Á¤º¸¸¦ ÀÏ¹Ý ÇÁ·Î±×·¡¸Ó°¡ ½±°Ô Á¢±Ù ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. ƯÈ÷ ¸®´ª½º¿¡¼´Â ÇÁ·Î¼¼½º Á¤º¸»Ó¸¸ ¾Æ´Ñ ´Ù¸¥ ½Ã½ºÅÛ Á¤º¸µé±îÁö ±¤¹üÀ§ ÇÏ°Ô Á¦°øÇØ ÁØ´Ù. À̸»Àº procÆÄÀϽýºÅÛÀ» Á¦´ë·Î ÀÌÇØÇÒ °æ¿ì ¸®´ª½º ¿î¿µÃ¼Á¦¸¦ Á»´õ ±íÀÌ ÀÖ°Ô ´Ù·ê ¼ö ÀÖ´Ù´Â ¸»ÀÌ µÈ´Ù. ½ÇÁ¦ ps¿Í °°Àº ÇÁ·Î¼¼½º »óȲ°¨½Ã¿¡¼ ºÎÅÍ, CPU»ç¿ëÀ², ÀÎÅÍ·´Æ®, ³×Æ®¿öÅ© ÆÐŶÀü¼Û·®, ÀûÀçµÈ ¸ðµâ, IDE-SCSI¿Í °°Àº ÀåÄ¡Á¤º¸, CPUÁ¤º¸µîÀÇ µ¥ÀÌÅ͸¦ ¾î·ÆÁö ¾Ê°Ô ¾ò¾î ¿Ã ¼ö ÀÖ´Ù. ´Ù¸¥ ´ëºÎºÐÀÇ À¯´Ð½º¿¡¼ ÀÌ·¯ÇÑ Á¤º¸¸¦ ¾ò¾î¿Ã·Á¸é »ó´çÇÑ ¾Ö·Î»çÇ×À» °Ý°Ô µÉ°ÍÀÌ´Ù. ÀÌÁ¦ procÆÄÀϽýºÅÛ¿¡¼ µ¥ÀÌÅ͸¦ Àоî¿À´Â °ÍÀ» Áö³ª¼ procÆÄÀÏ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ ¾²´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. 2절. ¿Ö procÆÄÀϽýºÅÛÀ» ÀÌ¿ëÇϴ°¡¿ì¸®´Â ÀÌ¹Ì ÀÏ¹Ý ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÌ¿ëÇØ¼ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ ³²±â´Â ¹æ¹ýÀ» ¾Ë°í ÀÖ´Ù. read(2), open(2), write(2) ÀÌ 3°³ÀÇ ÇÔ¼ö¸¸ »ç¿ëÇÒ ÁÙ ¾È´Ù¸é, ÇÊ¿äÇÑ ¸ðµç µ¥ÀÌÅ͸¦ ÀÐ°í ¾²´Âµ¥ º° ºÎÁ·ÇÔÀÌ ¾ø´Ù. ±×·¸´Ù¸é ¿Ö ±»ÀÌ procÆÄÀϽýºÅÛÀ» ÀÌ¿ëÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڴÙ. 2.1절. ÆÄÀÏ ½Ã½ºÅÛ ¿À¹öÇìµå¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ÆÄÀÏ ½Ã½ºÅÛÀº »ó´çÇÑ ¿À¹öÇìµå¸¦ °¡Áö°í ÀÖ´Ù. °¢ ÆÄÀÏÀÇ inode¿Í superblocks¿Í °°Àº °´Ã¼¸¦ °ü¸®ÇØ¾ß Çϸç ÀÌ·¯ÇÑ Á¤º¸¸¦ ÇÊ¿äÇÒ¶§ ¸¶´Ù ¿î¿µÃ¼Á¦¿¡ ¿äÃ»ÇØ¾ß ÇÑ´Ù. ÀÌµé ÆÄÀÏ ½Ã½ºÅÛÀÇ µ¥ÀÌÅ͵éÀº ¼·Î ¾î±ß³¯¼öµµ ÀÖÀ¸¸ç, ´ÜÇöÈ Çö»óµîÀÌ ¹ß»ýÇÒ ¼öµµ ÀÖ´Ù. ¿î¿µÃ¼Á¦´Â ÀÌ·¯ÇÑ ¸ðµç °ÍÀ» °ü¸®ÇØ ÁÖ¾î¾ß Çϸç, ´ç¿¬È÷ »ó´çÇÑ ¿À¹öÇìµå°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. procÆÄÀÏ ½Ã½ºÅÛÀº ÀÌ·¯ÇÑ ÀÏ¹Ý ÆÄÀϽýºÅÛÀÇ ¹®Á¦Á¡À» ¾ø¾Ö±â À§Çؼ ¸®´ª½º Ä¿³Î¿¡¼ Á÷Á¢ ÆÄÀϽýºÅÛÀ» °ü¸®ÇÏ´Â ¹æ¹ýÀ» äÅÃÇϰí ÀÖ´Ù. Áö±Ý ¿©·¯ºÐÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼ mount¸í·ÉÀ» ³»¸®¸é ´ÙÀ½°ú °°ÀÌ proc ÆÄÀÏ ½Ã½ºÅÛÀÌ ÀÚµ¿À¸·Î ¸¶¿îÆ® µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¸Þ¸ð¸®¿¡¼ ±×°Íµµ Ä¿³ÎÀÌ Á÷Á¢°ü¸®¸¦ ÇÏ°Ô µÇ´Ï.. ´ç¿¬È÷ ºü¸¦ ¼ö ¹Û¿¡ ¾ø´Ù. 2.2절. ¹°¸®ÀûÀÎ ÆÄÀϽýºÅÛ ÀåÄ¡¸¦ ÇÊ¿ä·Î ÇÏÁö¾Ê´Â´Ù/proc´Â Ä¿³Î¸Þ¸ð¸®¿¡¼ À¯ÁöÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ´Ù. ¶§¹®¿¡ º°µµÀÇ ÀåÄ¡(Çϵåµð½ºÅ© °°Àº)À» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ Æ¯Â¡Àº ÀÓº£µðµå½Ã½ºÅÛÀ» ¼³°èÇϰíÀÚ ÇÒ¶§ Áß¿äÇÑ ¿ä¼Ò°¡ µÈ´Ù. 2.3절. ÃÖÀûÈµÈ ÆÄÀÏÀÛ¾÷ ¼öÇàÀϹÝÀûÀÎ ÆÄÀÏ ½Ã½ºÅÛ °èÃþÀº Àº ÇÁ·Î±×·¡¸Ó¸¦ À§Çؼ POSIX Çü½ÄÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. open, read, write, closeµîÀÌ À̰ÍÀÌ´Ù. µ¥ÀÌÅÍ ºí·°µéÀº ¿ëÀÌÇÑ È®ÀåÀ» À§Çؼ Ãß»óÈ µÇ¾î ÀÖÀ¸¸ç »ó¼Ó°¡´ÉÇÑ ÇüÅ·Π±¸¼ºµÈ´Ù. ÀÌ·¯ÇÑ ÀÏ¹Ý ÆÄÀÏ ½Ã½ºÅÛÀº ´ë¿ë·®ÀÇ µ¥ÀÌÅ͸¦ ´Ù·ç¾î¾ß ÇÏ´Â °æ¿ì ¸Å¿ì À¯¿ëÇÏÁö¸¸, °íÁ¤ÀûÀ̰í ó¸®ÇؾßÇÒ µ¥ÀÌÅÍÀÇ ¾çÀÌ ÀûÀº ºÐ¾ß¿¡´Â ¿ÀÈ÷·Á ºñÈ¿À²ÀûÀÌ´Ù. procÆÄÀÏ ½Ã½ºÅÛ¿¡¼ ´Ù·ç¾î¾ß ÇÒ Á¤º¸´Â ´ëºÎºÐ Á¤ÇØÁ® ÀÖÀ¸¸ç, µ¥ÀÌÅÍÀÇ ¾çµµ ±×¸® ¸¹Áö ¾Ê´Ù. °í·Î ÀÏ¹Ý ÆÄÀϽýºÅÛ¿¡¼ Á¦°øÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏÁö ¾Ê°í ÇÊ¿äÇÑ ÀÛ¾÷¿¡ ÃÖÀûÈµÈ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 3절. proc ÆÄÀϽýºÅÛÀ» ¾îµð¿¡ »ç¿ëÇÒ ¼ö ÀÖÀ»±î2절¿¡¼ proc ÆÄÀϽýºÅÛÀ» »ç¿ëÇßÀ» ¶§ ¾òÀ» ¼ö ÀÖ´Â ÀÕÁ¡¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò´Ù. ±×·³ ¾î´À ¿ëµµ¿¡ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ»Áö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÀÚ. 3.1절. Ä¿³Î ¸ðµâ ÇÁ·Î±×·¡¹ÖprocÆÄÀÏ ½Ã½ºÅÛ(ÀÌÇÏ proc) ÀÚü°¡ Ä¿³Î°ú ¹ÐÁ¢ÇÏ°Ô ¿¬°üÀÖ´Â ÀÌÀ¯·Î ÀÏ¹Ý ¾ÖÇø®ÄÉÀ̼ǿ¡¼ proc¸¦ »ç¿ëÇÏ´Â ÀÏÀº µå¹°´Ù. À§¿¡¼ ¼³¸í ÇßµíÀÌ Ä¿³Î¸Þ¸ð¸®¿¡¼ proc¸¦ À¯ÁöÇÏ°Ô µÇ¹Ç·Î ¸¹Àº ¾çÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ëµµ¿Í´Â ¸ÂÁö ¾Ê´Ù´Â Á¡µµ ÀÖ´Ù. ±×·±Á¡¿¡¼ proc´Â Ä¿³Î¸ðµâ°ú °°ÀÌ Ä¿³Î°ú ¹ÐÁ¢ÇÏ°Ô °ü°èÀÖ´Â ÇÁ·Î±×·¥¿¡¼ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ä¿³Î ¸ðµâ ÇÁ·Î±×·¥Àº ÁÖ·Î ÀåÄ¡¸¦ ¿Ã¸®±â À§ÇÑ ¿ëµµ·Î »ç¿ëµÇ´Âµ¥, Ä¿³Î ·¹º§¿¡¼ ÀÛµ¿ÇÏ´Ù º¸´Ï ¸ðµâÀÇ ÀÛµ¿»óȲÀ̳ª ¼º´ÉµîÀ» ¾Ë¾Æ¿À±â°¡ ±×¸® ½±Áö ¾Ê´Ù. ±×·¸´Ù°í ÇØ¼ ÀÏ¹Ý ÆÄÀÏ ½Ã½ºÅÛÀ» IPC¸¦ »ç¿ëÇÏ´Â °Í ¿ª½Ã ±×¸® ÁÁÀº »ý°¢Àº ¾Æ´Ï´Ù. ÀÌ·² ¶§ proc¸¦ ÀÌ¿ëÇÏ¸é ¹®Á¦¸¦ ±ò²ûÇÏ°Ô ÇØ°á ÇÒ ¼ö ÀÖ´Ù. 3.2절. ÀÓº£µðµå ÇÁ·Î±×·¡¹ÖÀÓº£µðµå ½Ã½ºÅÛÀº ÆÄÀÏ ½Ã½ºÅÛÀ» °¡ÁöÁö ¾Ê´Â °æ¿ì°¡ ¸¹°Å³ª °¡Áö°í ÀÖ´Ù°í ÇÏ´õ¶óµµ ¸Å¿ì Á¦ÇÑÀûÀÎ °æ¿ì°¡ ¸¹´Ù. ÀÌ·² ¶§ proc¸¦ ÀÌ¿ëÇØ¼ °ü¸®ÀÚ È¯°æÀ̶óµçÁö µ¥ÀÌÅÍ ÀÔÃâ·Â ȯ°æÀ» ¸¸µé ¼ö ÀÖ´Ù. ¹°·Ð À̰æ¿ì´Â ¸®´ª½ºÄ¿³ÎÀ» ±â¹ÝÀÇ ÀÓº£µðµå ȯ°æ¿¡ ÇØ´çµÈ´Ù. 4절. proc ÇÁ·Î±×·¡¹ÖÀ̹øÀå¿¡¼´Â Ä¿³Î¿¡¼ Á¦°øÇÏ´Â proc APIµé¿¡ ´ëÇØ¼ »ìÆìº¼ °ÍÀÌ´Ù. ´Ù·ç¾î Áö´Â ³»¿ëµéÀº Ä¿³Î 2.4.x¸¦ ±âÁØÀ¸·Î Çϰí ÀÖ´Ù. 4.1절. proc ±¸Á¶Ã¼ ¹× API4.1.1절. proc_dir_entry ±¸Á¶Ã¼proc¿¡ ÀÖ¾î¼ °¡Àå Áß¿äÇÑ ±¸Á¶Ã¼·Î½á ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù.
struct proc_dir_entry *next ...´Â procÆÄÀÏÀÌ À§Ä¡ÇÏ´Â µð·ºÅ丮·Î ÀÏ¹Ý ÆÄÀÏ¿¡¼ÀÇ µð·ºÅ丮 ±ÇÇѰú µ¿ÀÏÇÏ°Ô »ç¿ëµÇ¸ç, ¸µÅ©µå ¸®½ºÆ®·Î °ü¸®µÈ´Ù. data proc¿¡¼ ÀÐÀº µ¥ÀÌÅ͸¦ ¸®ÅÏÇϱâ À§Çؼ »ç¿ëµÈ´Ù. read_proc, write_proc À¯Àú¿µ¿ªÀÇ ÇÁ·Î¼¼½º´Â Á÷Á¢ Ä¿³Î¿µ¿ª¿¡ µ¥ÀÌÅ͸¦ Àаųª ¾µ¼ö ¾ø´Ù. ¶§¹®¿¡ ¸ðµâ ÇÁ·Î±×·¥µîÀÌ Áß°£¿¡¼ Ä¿³Î°ú À¯Àú¿µ¿ª »çÀÌÀÇ µ¥ÀÌÅÍÀü´ÞÀ» ÇØÁÖ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ µ¥ÀÌÅÍ Àü´ÞÀº callbackÇÔ¼ö¸¦ ÅëÇØ¼ ÀÌ·ç¾îÁø´Ù. read_proc´Â Ä¿³Î·Î ºÎÅÍ ÀÐÀº µ¥ÀÌÅ͸¦ À¯Àú¿µ¿ª ÇÁ·Î¼¼½º·Î µÇµ¹·ÁÁÖ±â À§Çؼ write_proc´Â À¯Àú¿ª¿ª ÇÁ·Î¼¼½º¿¡¼ ¾´µ¥ÀÌÅ͸¦ Ä¿³Î¸Þ¸ð¸® ¿µ¿ªÀ¸·Î º¹»çÇϱâ À§Çؼ »ç¿ëÇÑ´Ù. 4.2절. proc APIproc´Â »ç¿ëÇϱ⠰£´ÜÇÑ ¸î°³ÀÇ API¸¸À» Á¦°øÇϴµ¥, À̵é API´Â Ä¿³ÎÀÇ ¸ÞÀÌÀú ¹öÁ¯¿¡ µû¶ó¼ Â÷À̰¡ ÀÖÀ» ¼ö ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ 2.4.x¿ÜÀÇ ´Ù¸¥ Ä¿³Î ¹öÁ¯À» »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é ÇØ´ç Ä¿³Î¹öÁ¯ÀÇ Ä¿³Î ¹®¼¸¦ Âü°íÇØ¾ß ÇÒ °ÍÀÌ´Ù. ±×·¸´Ù°í ÇØ¼ ÀÌ ¹®¼°¡ ÀüÇô ÇÊ¿ä ¾øÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì Ä¿³ÎÀÇ ¸ÞÀÌÀú ¹öÁ¯ÀÌ ¾÷±×·¹ÀÌµå µÈ´Ù°í ÇÏ´õ¶óµµ ÇÔ¼ö API°¡ ¾ÆÁÖ Å©°Ô º¯ÇÏ´Â °æ¿ì´Â ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ ¹®¼¸¦ ÀÍÇô ³õ´Â´Ù¸é ´Ù¸¥ Ä¿³Î ¹öÁ¯¿¡µµ ½±°Ô ÀûÀÀÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. 4.2.1절. create_proc_entry
¸¶Áö¸· ÀÎÀÚÀÎ parent´Â name·Î ¸¸µé¾îÁø procÆÄÀÏÀÌ À§Ä¡ÇÒ µð·ºÅ丮´Ù. procÆÄÀÏÀº ·çÆ®µð·ºÅ丮°¡ "/"¾Æ´Ñ "/proc"¿¡¼ ºÎÅÍ ½ÃÀÛÇÏ°Ô µÈ´Ù. ¸¸¾à NULLÀ̶ó¸é /proc µð·ºÅ丮 ¹Ø¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. 4.2.2절. create_proc_read_entry
4.2.3절. create_proc_info_entry
4.2.4절. proc_mkdirprocÆÄÀÏ ½Ã½ºÅÛ¿¡ µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. ¸¸µé¾î Áö´Â µð·ºÅ丮´Â procÆÄÀÏ ½Ã½ºÅÛÀÇ ÃÖ»óÀ§ µð·ºÅ丮(/proc)¸¦ ±âÁØÀ¸·Î ÇÑ´Ù.
4.2.5절. proc_symlink½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé±â À§Çؼ »ç¿ëµÈ´Ù. ´ÜÁö ½ÇÁ¦ »ç¿ëÀÚ(real user)¸¸ÀÌ »ç¿ë°¡´ÉÇÏ´Ù.
4.2.6절. remove_proc_entryÄ¿³Î ¸ðµâ ÇÁ·Î±×·¥¹Ö½Ã celanup_module()ÇÔ¼ö¿¡¼ proc ÆÄÀÏÀ» Áö¿öÁÖÁö ¾ÊÀ» °æ¿ì ½Ã½ºÅÛ¿¡ ÁÁÁö ¾ÊÀº ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ´Ù. ÀÏ´Ü proc¸¦ »ý¼ºÇß´Ù¸é ÇÁ·Î±×·¥ Á¾·á½Ã ¹Ýµå½Ã ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ¼ procÆÄÀÏÀ» Áö¿öÁÖµµ·Ï ÇÏÀÚ.
4.3절. ±âŸ Æ÷Àå ÇÔ¼öµé¸ðµâ ÇÁ·Î±×·¡¹Ö½Ã procÆÄÀÏ ½Ã½ºÅÛÀº ¸Å¿ì ÀÚÁÖ ÀÌ¿ëµÈ´Ù. ±×·¯¹Ç·Î ÀÌ¿ÕÀÌ¸é ¾²±âÆíÇÑ ÇÔ¼öµéÀÌ ÁغñµÇ¸é ÁÁÀ» °ÍÀÌ´Ù. ¿©±â¿¡¼ ¼³¸íÇÏ´Â ÇÔ¼öµéÀº ±âÁ¸ÀÇ procÇÔ¼öµéÀ» »ç¿ëÇÏ±â ÆíÇϵµ·Ï Æ÷ÀåÇÑ ÇÔ¼öµéÀÌ´Ù. 4.3.1절. proc_net_createÀÌ ÇÔ¼ö´Â create_proc_info_entryÀÇ /proc/netÁ¤º¸¿¡ ´ëÇÑ Æ÷ÀåÇÔ¼öÀÌ´Ù. ³×Æ®¿öÅ© ¼ºê½Ã½ºÅÛ¿¡ ´ëÇØ¼ ½±°Ô Á¢±ÙÇϵµ·Ï µµ¿ÍÁØ´Ù.
4.3.2절. proc_net_remove³×Æ®¿öÅ© ¼ºê ½Ã½ºÅÛ¿¡ ´ëÇÑ remove_proc_entryÀÇ Æ÷ÀåÇÔ¼öÀÌ´Ù.
4.4절. ÀÏ¹Ý À¯Àú¿ÍÀÇ µ¥ÀÌÅÍ ±³È¯ÀÏ¹Ý ÆÄÀÏ¿¡¼ À¯Àú¿ÍÀÇ µ¥ÀÌÅÍ ±³È¯Àº ¸Å¿ì ´Ü¼øÇϸç, º°·Î ½Å°æ¾µ Çʿ䵵 ¾ø´Ù. ÇÁ·Î±×·¥ÀÌ ÆÄÀÏ¿¡ ¾´ ³»¿ë ±×´ë·Î¸¦ À¯Àú°¡ º¸¸ç, À¯Àú°¡ ÆÄÀÏ¿¡ ¾´ ³»¿ë±×´ë·Î¸¦ ´Ù½Ã ÇÁ·Î±×·¥ÀÌ ÀоîµéÀδÙ. ±×·¯³ª procÆÄÀÏ ½Ã½ºÅÛ¿¡¼ÀÇ µ¥ÀÌÅÍ´Â ½ÇÁ¦ ÆÄÀÏ¿¡ ÀúÀåµÇ´Â °Í°ú´Â ´Þ¸® Ä¿³Î¸Þ¸ð¸®¿¡ ÀúÀåµÈ´Ù. ¾Ë´Ù ½ÃÇÇ Ä¿³Î¸Þ¸ð¸®´Â À¯Àú·¹º§ ¿¡¼ Á÷Á¢ Á¢±ÙÇÒ ¼ö ¾ø´Ù. À¯Àú°¡ cat(ȤÀº readÇÔ¼ö)µîÀ» ÅëÇØ¼ ÆÄÀÏÀÇ ³»¿ëÀ» ÀÐÀ»·Á°í Çϸé Ä¿³Î¿¡¼ µ¥ÀÌÅ͸¦ À¯Àú¿¡°Ô ÀÏÁ¤ÇÑ Æ÷¸ËÀ¸·Î »Ñ·ÁÁÖ°Ô µÈ´Ù. ¸¶Âù°¡Áö·Î À¯Àú°¡ ¾î¶² ³»¿ëÀ» procÆÄÀÏ¿¡ ¾²°ÔµÇ¸é µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀÎÈÄ °¡°øÇؼ Ä¿³Î¸Þ¸ð¸®¿¡ ÀûÀçÇÏ°Ô µÈ´Ù. À̸¦ À§Çؼ Ä¿³Î°ú ÀϹÝÀ¯Àú »çÀÌ¿¡ µ¥ÀÌÅ͸¦ ¼·Î¿¡°Ô Àü´ÞÇØ ÁÖ´Â ¾î¶² ÇÔ¼ö°¡ ÇÊ¿äÇϰí ÀÌ ÇÔ¼ö°¡ ´Ù·ê ¼ö Àִ ǥÁØÀûÀÎ ÀڷᱸÁ¶°¡ ÀÖ¾î¾ß ÇÑ´Ù. À¯Àú°¡ µ¥ÀÌÅ͸¦ ÀÐ°í ¾²±â À§Çؼ´Â Àбâ¿Í ¾²±â¸¦ À§ÇÑ callbackÇÔ¼ö¸¦ µî·Ï½ÃÄѼ »ç¿ë ÇØ¾ßÇÑ´Ù.
4.4.1절. µ¥ÀÌÅÍ ÀбâÄݹéÇÔ¼ö·Î µî·ÏµÇ´Â ÀбâÇÔ¼ö´Â À¯Àú¿µ¿ª ÇÁ·Î¼¼½ºÀÇ ¿äûÀ» ¹ÞÀ¸¸é Ä¿³Î·Î ºÎÅÍ µ¥ÀÌÅ͸¦ Àоîµé¿©¼ ¾Ë¸ÂÀº Æ÷¸ËÀ¸·Î º¯°æÇÑ´ÙÀ½ À¯Àú¿µ¿ª ÇÁ·Î¼¼½º·Î µÇµ¹·ÁÁØ´Ù. ÀбâÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» °¡Áø´Ù.
4.4.2절. µ¥ÀÌÅÍ ¾²±â¾²±â ÄݹéÇÔ¼ö´Â À¯Àú¿µ¿ª ÇÁ·Î¼¼½º·Î ºÎÅÍ µ¥ÀÌÅ͸¦ ¹ÞÀº´ÙÀ½ Ä¿³ÎÀÌ Àб⿡ Àû´çÇÑ Çü½ÄÀ¸·Î º¯°æÈÄ Ä¿³Î¿¡ ³Ñ°ÜÁØ´Ù. ¾²±âÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» °¡Áø´Ù.
4.5절. ProcÆÄÀÏ ½Ã½ºÅÛÀ» ÀÌ¿ëÇÑ ¿¹Á¦±×·³ °£´ÜÇÑ ¿¹Á¦¸¦ ¸¸µé¾î º¸µµ·Ï ÇϰڴÙ. ¿¹Á¦´Â ÀÏ¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾Æ´Ñ Ä¿³Î ¸ðµâ ÇÁ·Î±×·¥ÀÌ´Ù. Ä¿³Î ¸ðµâÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ³»¿ëÀº Ä¿³Î ¸ðµâ ÇÁ·Î±×·¡¹ÖÀ» Âü°íÇϱ⠹ٶõ´Ù. ÇÁ·Î±×·¥ÀÇ À̸§Àº my_proc.c·Î ÇϰڴÙ. ÀÌ ¸ðµâÀº procÆÄÀÏ ½Ã½ºÅÛ¿¡ myproc¶ó´Â µð·ºÅ丮¸¦ ¸¸µé°í ÀÌ ¸ðµâ ¾Æ·¡¿¡ foo¿Í jiffies¶ó´Â ÆÄÀÏÀ» ¸¸µç´Ù. ¸¸¾à À¯Àú°¡ catµîÀ» ÅëÇØ¼ ÀÌµé ÆÄÀÏÀ» ¿¸é ¸ðµâÀº ¸ðµâ Á¤º¸¸¦ Àû´çÇÑ Æ÷¸ËÀ¸·Î ¸¸µé¾î¼ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ°Ô µÈ´Ù. fooÆÄÀÏÀÇ °æ¿ì¿¡´Â ÆÄÀÏ¿¡ ³»¿ëÀ» ¾µ¼öµµ ÀÖµµ·Ï µÇ¾î ÀÖ¾î¼ »ç¿ëÀÚ°¡ ³»¿ëÀ» ¹Ù²Ù¸é ÀÌ ³»¿ëÀº ¸ðµâ¿¡¼ ÀÐ¾î µéÀÌ°Ô µÈ´Ù. ¿©·¯ºÐÀÌ Ä¿³Î ¸ðµâ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÀÌÇØ°¡ ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ¼³¸íÀº ÁÖ¼®À¸·Î ´ë½ÅÇϵµ·Ï ÇϰڴÙ. ¸ðµâ¿¡¼ main()ÇÔ¼ö¿¡ ÇØ´çÇÏ´Â module_init()ÇÔ¼ö¿¡¼ Â÷±ÙÂ÷±Ù ºÐ¼®Çسª°¡¸é Á»´õ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿¹Á¦ : myproc.c
´ÙÀ½Àº À§ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ Çϱâ À§ÇÑ makeÆÄÀÏÀÌ´Ù. Makefile
insmod¸¦ ÀÌ¿ëÇØ¼ ¸ðµâÀ» ¿Ã¸°ÈÄ cat, echo µîÀ» ÅëÇØ¼ Á÷Á¢ Å×½ºÆ®°¡ °¡´ÉÇÏ´Ù.
|
|
||||||||||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|