´ÙÀ½ À§·Î ÀÌÀü ¸ñÂ÷ ¸®´ª½º ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °¡À̵å

6.2.1 ±âº» °³³ä (Basic Concepts)

°£´ÜÈ÷ ¸»Çؼ­, ÆÄÀÌÇÁ(Pipe)´Â ÇÑ ÇÁ·Î¼¼½ºÀÇ Ç¥ÁØ Ãâ·Â(Standard output)À» ´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ Ç¥ÁØ ÀÔ·Â(Standard input)À¸·Î ¿¬°áÇÏ´Â ¹æ¹ýÀÌ´Ù. ÆÄÀÌÇÁ´Â IPCÅø Áß °¡Àå ¿À·¡µÈ °ÍÀ¸·Î À¯´Ð½º ¿î¿µÃ¼Á¦ÀÇ Ãʱ⠴ܰèºÎÅÍ »ç¿ëµÇ¾î ¿Ô´Ù. ÆÄÀÌÇÁ´Â ÇÁ·Î¼¼½º°£ÀÇ ´Ü¹æÇâ(¹ÝÀÌÁß,half-duplex) Åë½ÅÀÇ ÇÑ ¹æ¹ýÀ» Á¦°øÇÑ´Ù.

ÀÌ·¯ÇÑ Æ¯Â¡Àº À¯´Ð½º ¸í·É¾î ¶óÀÎ(À¯´Ð½º ½©)¿¡¼­ Á¶Â÷ Æø³Ð°Ô »ç¿ëµÈ´Ù.

ls | sort | lp
À§ÀÇ ¿¹´Â lsÀÇ Ãâ·ÂÀ» sortÀÇ ÀÔ·ÂÀ¸·Î ÇÏ°í sortÀÇ Ãâ·ÂÀ» lpÀÇ ÀÔ·ÂÀ¸·Î »ç¿ëÇϱâ À§ÇØ ÆÄÀÌÇÁ(pipe)¸¦ ÀÌ¿ëÇÏ¿´´Ù. ÀÚ·á´Â ÆÄÀÌÇÁ¶óÀÎÀ» ÅëÇØ ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î À̵¿ÇϵíÀÌ, ¹ÝÀÌÁß ÆÄÀÌÇÁ¸¦ ÅëÇØ ¿òÁ÷ÀδÙ.

¿ì¸®µéÀÌ ½© ½ºÅ©¸³Æ® ÇÁ·Î±×·¡¹Ö¿¡¼­ ÆÄÀÌÇÁ¸¦ ¾ÆÁÖ ¼¼½ÉÇÏ°Ô »ç¿ëÇÑ´ÙÇصµ, Ä¿³Î ·¹º§¿¡¼­ ÀϾ´Â ÀÏ¿¡ ´ëÇؼ­´Â »ý°¢ÇÏÁö ¾Ê°í »ç¿ëÇÑ´Ù.

ÇÁ·Î¼¼½º°¡ ÆÄÀÌÇÁ¸¦ ¸¸µé ¶§, Ä¿³ÎÀº ÆÄÀÌÇÁ¿¡ ÀÇÇØ »ç¿ëµÉ µÎ°³ÀÇ ÆÄÀÏ ½Äº°ÀÚ(descriptor)¸¦ ÁغñÇÑ´Ù. ÇÑ°³ÀÇ ½Äº°ÀÚ(descriptor)´Â ÆÄÀÌÇÁ(Write)ÀÇ ÀÔ·Â Åë·Î·Î »ç¿ëµÇ°í ´Ù¸¥ Çϳª´Â ÆÄÀÌÇÁ(Read)·Î ºÎÅÍ ÀڷḦ ¾ò´Âµ¥ »ç¿ëµÈ´Ù. ÀÌ·± Á¡¿¡¼­ »ý¼ºÇÏ´Â ÇÁ·Î¼¼½º´Â ÀÚ±âÀڽŰúÀÇ Åë½Å¿¡¸¸ ÆÄÀÌÇÁ¸¦ »ç¿ëÇÔÀ¸·Î ÆÄÀÌÇÁ´Â °ÅÀÇ ½ÇÁúÀûÀ¸·Î »ç¿ëµÇÁö ¾Ê´Â´Ù. ÆÄÀÌÇÁ°¡ ¸¸µé¾îÁø ÀÌÈÄÀÇ ÇÁ·Î¼¼½º¿Í Ä¿³ÎÀÇ °³³äÀÛ¿ë¿¡ ÁÖÀÇÇ϶ó.

- ¾Ö¼®ÇÏ°Ôµµ ¿ø¹®¿¡¼­ ´ÙÀ̾î±×·¥ ±×¸²ÀÌ ºüÁ®ÀÖÀ½
À§ÀÇ ´ÙÀ̾î±×·¥À¸·Î ºÎÅÍ ½Äº°ÀÚµéÀÌ ¼­·Î ¾î¶»°Ô ¿¬°áµÇ´ÂÁö ½±°Ô ¾Ë ¼ö ÀÖ´Ù. ÇÁ·Î¼¼½º°¡ ÆÄÀÌÇÁ(fd0)¸¦ ÅëÇØ ÀڷḦ º¸³½´Ù¸é, fd1·Î ºÎÅÍ ÀڷḦ ¾òÀ» ¼ö (ÀÐÀ» ¼ö) ÀÖ´Â ´É·ÂÀ» °¡Áö°í ÀÖ´Ù. ±×·¸Áö¸¸ À§ÀÇ ±ØÈ÷ °£´ÜÇÑ ±×¸²ÀÇ ½ÇÀç¹°Àº ¸Å¿ì Å©´Ù. ÆÄÀÌÇÁ°¡ óÀ½¿¡ ÇÁ·Î¼¼½º¿Í ÀÚ½ÅÀ» ¿¬°áÇÏ´Â µ¿¾È, ÆÄÀÌÇÁ¸¦ ÅëÇØ ¿©Çà ÁßÀÎ ÀÚ·á´Â Ä¿³ÎÀ» ÅëÇØ ¿òÁ÷ÀδÙ. ƯÈ÷ ¸®´ª½º¿¡¼­ ÆÄÀÌÇÁ´Â ½ÇÁ¦·Î ³»ºÎÀûÀ¸·Î À¯È¿ÇÑ inode¸¦ °¡Áö°í ÀÖÀ½À» ÀǹÌÇÑ´Ù. ¹°·Ð, ÀÌ inode´Â Ä¿³Î¾È¿¡ Á¸ÀçÇÏ°í ¹°¸®ÀûÀÎ ÆÄÀÏ ½Ã½ºÅÛ¿¡´Â ¾Æ¹«·± ¿µÇâÀ» ³¢Ä¡Áö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ Æ¯Â¡Àº ¿ì¸®°¡ ¼öµ¿ I/O ¹®(handy I/O doors)À» ¿­ ¼ö ÀÖ°Ô ÇÑ´Ù.

ÀÌ·¯ÇÑ Á¡¿¡¼­ ÆÄÀÌÇÁ´Â ¸í¹éÈ÷ ¾µ¸ð¾ø´Ù. °á±¹, ¿ì¸®°¡ ¿ÀÁ÷ ¿ì¸® Àڽſ¡°Ô À̾߱âÇÏ°íÀÚ ÇÑ´Ù¸é ¿Ö ÆÄÀÌÇÁ »ý¼ºÀÇ ¾î·Á¿òÀ» °¡Áö°í °¡¾ß¸¸ Çϴ°¡? »ý¼ºÇÏ´Â(creating) ÇÁ·Î¼¼½º´Â ÀüÅëÀûÀ¸·Î ÀÚ½Ä ÇÁ·Î¼¼½º(child process)¸¦ »ý¼º(fork)ÇÑ´Ù. ÀÚ½Ä ÇÁ·Î¼¼½º´Â ºÎ¸ð·Î ºÎÅÍ ¿­·ÁÁø ÆÄÀÏ ½Äº°ÀÚµµ »ó¼Ó¹Þ¾ÒÀ¸¹Ç·Î ¿ì¸®´Â ºÎ¸ð¿Í Àڽİ£ÀÇ ¸ÖƼÇÁ·Î¼¼½º Åë½ÅÀ» À§ÇÑ ±âÃʸ¦ °¡Áö°í ÀÖ´Ù. ¿ì¸®ÀÇ °£´ÜÇÑ ±×¸² ¼öÁ¤º»¿¡ ÁÖÀÇÇ϶ó.

À§¿Í °°ÀÌ ¿ì¸®´Â µÎ ÇÁ·Î¼¼½º°¡ ÆÄÀÌÇÁ ¶óÀÎÀ» ±¸¼ºÇÏ´Â ÆÄÀÏ ½Äº°ÀÚ¿¡ Á¢±ÙÇÒ ¼ö ÀÖÀ½À» º¼ ¼ö ÀÖ´Ù. À̹ø¿¡´Â Áß¿äÇÑ °áÁ¤À» ³»·Á¾ß ÇÑ´Ù. ¾î¶² ¹æÇâÀ¸·Î ÀÚ·á°¡ À̵¿Çϱ⸦ ¿øÇϴ°¡? ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ºÎ¸ð¿¡°Ô Á¤º¸¸¦ º¸³¾ °ÍÀΰ¡ ¾Æ´Ï¸é ±× ¹Ý´ëÀΰ¡? µÎ ÇÁ·Î¼¼½º´Â ÀÌ·¯ÇÑ ¹®Á¦¿¡ ´ëÇØ »óÈ£ µ¿ÀÇÇÏ°í ÀÖ°í °ü°èµÇ¾î ÀÖÁö ¾ÊÀº ÆÄÀÌÇÁÀÇ ³¡Àº ´Ý´Â´Ù. Åä·ÐÀÇ ¸ñÀûÀ» À§ÇØ, ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ¾î¶² ÀÛ¾÷À» ¼öÇàÇÏ°í ÆÄÀÌÇÁ¸¦ ÅëÇØ ºÎ¸ð¿¡°Ô Á¤º¸¸¦ ÀüÇÏ´ÂÁö¸¦ »ìÆ캸ÀÚ. ¿ì¸®ÀÇ »õ·Ó°Ô °í¾ÈµÈ ±×¸²Àº ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³­´Ù.:

ÇöÀç ÆÄÀÌÇÁ¶óÀÎÀÇ ±¸¼ºÀº ¿Ïº®ÇÏ´Ù! ³²¾ÆÀÖ´Â ÀÏÀº ÆÄÀÌÇÁÀÇ »ç¿ë»ÓÀÌ´Ù. ÆÄÀÌÇÁ¿¡ Á÷Á¢ÀûÀ¸·Î Á¢±ÙÇϱâ À§ÇØ, ÇÏÀ§ ·¹º§ÀÇ ÆÄÀÏ I/O¸¦ À§ÇØ »ç¿ëµÇ´Â °°Àº ±â´ÉÀÇ ½Ã½ºÅÛ È£ÃâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÆÄÀÌÇÁ°¡ ½ÇÁ¦ ³»ºÎÀûÀ¸·Î À¯È¿ÇÑ inode·Î Ç¥ÇöµÊÀ» ±â¾ïÇ϶ó)

ÆÄÀÌÇÁ·Î ÀڷḦ º¸³»±â À§ÇØ, ¿ì¸®´Â write() ½Ã½ºÅÛ È£ÃâÀ» »ç¿ëÇÏ°í ÆÄÀÌÇÁ·Î ºÎÅÍ ÀڷḦ Á¶È¸Çϱâ À§ÇØ read()¶ó´Â ½Ã½ºÅÛ È£ÃâÀ» »ç¿ëÇÑ´Ù. ÇÏÀ§ ·¹º§ÀÇ ÆÄÀÏ I/O ½Ã½ºÅÛ È£ÃâÀº ÆÄÀÏ ½Äº°ÀÚ¸¦ °¡Áö°í ÀÛ¾÷ÇÔÀ» ±â¾ïÇ϶ó! ¾î·µç, ÆÄÀÌÇÁ¿¡¼­ ½Äº°ÀÚ¸¦ °¡Áö°í ÀÛ¾÷ÇÏÁö ¾Ê´Â lseek()¿Í °°Àº ½Ã½ºÅÛ È£ÃâµéÀ» ±â¾ïÇ϶ó.


ÀÌÀü:6.2 ¹ÝÀÌÁß À¯´Ð½º ÆÄÀÌÇÁ ´ÙÀ½:6.2.2 C·Î ÆÄÀÌÇÁ ¸¸µé±â

Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved

Email To:Webmaster , Another address
LAST UPDATE Nov 14,1997
Created Nov 14,1997