ON THE UNIX OPERATING SYSTEM AND C PROGRAMMING LANGUAGE

À¯´Ð½º ¿î¿µ üÁ¦, ±×¸®°í C ÇÁ·Î±×·¡¹Ö ¾ð¾î



1. µé¾î°¡´Â ¸»

¹Ì±¹ÀÇ Àü»êÇÐȸÀÎ ACM(Association for Computing Machinery)Àº Àü»ê °úÇаú °øÇÐ ºÐ¾ß¿¡¼­ ÀÚŸ°¡ ÀÎÁ¤Çϴ Ź¿ùÇÑ ¾÷ÀûÀ» ÀÌ·é »ç¶÷À» ¸Å³â »Ì¾Æ ``Àü»êÇÐ ºÐ¾ßÀÇ ³ëº§»ó''À̶ó°í ÇÒ ¼ö ÀÖ´Â Æ©¸µ»ó(Turing Award)À» ¼ö¿©Çϰí ÀÖ´Ù. »óÀÇ À̸§ÀÎ Æ©¸µÀº ¿À´Ã³¯ÀÇ ¹ü¿ë ÄÄÇ»ÅÍÀÇ ¼öÇÐÀûÀÎ ¸ðÇüÈ­(modeling) ÀÛ¾÷À» ¿Ï¼ºÇÑ ¿µ±¹ÀÇ ¼öÇÐÀÚ ¾Ù·± Æ©¸µ(Alan Turing)ÀÇ °øÀûÀ» ±â³äÇÏ¿© ºÙ¿©Á³´Ù. (Âü°í·Î Æ©¸µÀÌ ÀÌ·¯ÇÑ ¸ðÇüÈ­¸¦ ¿Ï¼ºÇÑ ½Ã±â´Â ÀüÀÚ½Ä ÄÄÇ»ÅͰ¡ µîÀåÇϱâ ÇÑÂü ÀüÀÎ 1936³âÀ̾ú´Ù...!)

1966³âºÎÅÍ ½Ã»óÀÌ ½ÃÀÛµÈ Æ©¸µ»óÀÇ 1983³â ¼ö»óÀÚ´Â 2ÀÎ °øµ¿ ¼ö»óÀ¸·Î ¹Ì±¹ÀÇ AT&T º§ ¿¬±¸¼Ò(Bell Laboratories)¿¡¼­ ¿¬±¸¿øÀ¸·Î ÀÖ´Â ÄË Å½½¼(Ken Thompson)°ú µ¥´Ï½º ¸®Ä¡(Dennis Ritchie)¿´´Ù. °ÅÀÇ 30³âÀÌ ´Ù µÇ¾î°¡´Â Æ©¸µ»ó ½Ã»óÀÇ ¿ª»ç¿¡¼­ ¾Æ¸¶µµ 1983³âµµ ¼ö»óÀÚÀÎ À̵鸸ŭ ½ÇÁúÀûÀÎ ÀÛ¾÷, °úÇк¸´Ù´Â °øÇÐÀûÀÎ ¼º°ÝÀÌ °­ÇÑ ÀÛ¾÷ÀÇ Á߿伺°ú ±× °á°úÀÇ °øÇåÀ» ÀÎÁ¤¹Þ¾Æ ¼ö»óÇÑ °æ¿ì´Â ´Þ¸® À¯·Ê¸¦ ã±â°¡ ¾î·Æ´Ù. ¿ø·¡ Æ©¸µ»óÀº ±×·¯ÇÑ À̸§À» ºÙ¿© Æ©¸µÀÇ (±ØÈ÷ ¼öÇÐÀûÀÎ) ÀÛ¾÷À» ±â¸®°í ÀÖµíÀÌ ´ëºÎºÐÀÇ ¼ö»óÀÚµéÀÌ ±×µéÀÇ »ó´çÈ÷ ÀÌ·ÐÀûÀÎ ¿¬±¸¸¦ ÀÎÁ¤¹Þ¾Æ ¼ö»óÇØ ¿Ô±â ¶§¹®ÀÌ´Ù. ¹°·Ð ޽¼°ú ¸®Ä¡´Â ÀÌ·ÐÀûÀÎ ¿¬±¸µµ Çß¾úÁö¸¸ ACMÀÌ ¹ßÇ¥ÇÑ ±×µéÀÇ ¼ö»ó ÀÌÀ¯´Â ``À¯´Ð½º ½Ã½ºÆÀ°ú C ¾ð¾î¸¦ ¼³°è, °³¹ßÇÑ °ø·Î''¿´´Ù.

±×·¸´Ù¸é À¯´Ð½º¿Í CÀÇ ¾î¶°ÇÑ Á¡ÀÌ ÀÌ·¯ÇÑ ¼º°ø°ú ³ôÀº Æò°¡¸¦ °¡´ÉÇÏ°Ô ÇÑ °ÍÀϱî? ÀÌ ±Û¿¡¼­´Â À¯´Ð½º¿Í CÀÇ °³¿ä¿Í Ư¡µîÀ» »ìÆìº¸·Á°í ÇÑ´Ù.


2. À¯´Ð½ºÀÇ ¼º°ø

ÀÌÁ¦ ¿î¿µ üÁ¦(operating system)ÇÏ¸é °³Àοë ÄÄÇ»ÅÍ(personal computer: PC) ½ÃÀå¿¡¼­ÀÇ MS-DOS¸¦ Á¦¿ÜÇÏ¸é ´©±¸³ª°¡ À¯´Ð½º¸¦ ¶°¿Ã¸±¸¸Å­ À¯´Ð½º´Â Ç¥ÁØ ¿î¿µ üÁ¦·Î °ÅÀÇ ÀÚ¸®Àâ°í ÀÖ´Ù. ¿ø·¡ °³¹ßµÉ ¶§ Ç÷§Æû(platform)À̾ú´ø ¹Ì´ÏÄÄÇ»ÅÍ(minicomputer)³ª ¿÷½ºÅ×À̼Ç(workstation)Àº ¹°·Ð PC¿Í ¸ÞÀÎÇÁ·¹ÀÓ(mainframe), ¼öÆÛÄÄÇ»ÅÍ(supercomputer)±îÁö ¿µ¿ªÀÌ È®ÀåµÇ°í ÀÖ°í ÀÀ¿ë ºÐ¾ßµµ °úÇÐ ±â¼ú ºÐ¾ß¸¦ ³Ñ¾î ÀÌÁ¦ ÀÏ¹Ý »ó¿ë ºÐ¾ß¿¡±îÁö ±í¼÷ÀÌ ÆÄ°í µé°í ÀÖ´Ù.

À¯´Ð½º´Â ´çÃÊ ``ÇÁ·Î±×·¥ °³¹ßÀÇ Æí¸®¼º ¹× È¿À²¼º Áõ´ë''¶ó´Â ´Ü¼øÇÑ(?) ¸ñÀû¿¡¼­ °³¹ßµÆ´Ù. ÀÌÈÄ °³¹æÇü ½Ã½ºÆÀ(open system)À̶ó´Â ÀåÁ¡À¸·Î Çаè¿Í ¾÷°èÀÇ È£ÀÀÀ» ¾ò¾î »ó¾÷Àû ÀÀ¿ë¿¡´Â Ä¡¸íÀûÀÏ ¼ö ÀÖ´Â ½ÃºÐÇÒ(time-sharing) Àü¿ëÀ̶ó´Â ¾àÁ¡¿¡µµ ºÒ±¸Çϰí ÇöÀç ´ë´ÜÇÑ ¼ºÀå °¡µµ¸¦ ´Þ¸®°í ÀÖ´Ù. 1984³â¿¡¼­ 1989³â µ¿¾È ¿¬Æò±Õ ¸ÅÃâ 51%, º¸±Þ´ë¼ö 49%ÀÇ ½ÃÀå ¼ºÀåÀ» ±â·ÏÇÑ À¯´Ð½º´Â ½ÃÀå Á¶»ç ±â°üÀÎ ÀÎÆ÷ÄÚÇÁ(InfoCorp)¿¡ µû¸£¸é 1989³â¿¡¼­ 1994³â°£¿¡µµ ¸ÅÃâ 18%, º¸±Þ´ë¼ö 21%ÀÇ »ó´ëÀûÀ¸·Î ³ôÀº ¼ºÀå¼¼¸¦ À¯ÁöÇϸ®¶ó°í Àü¸ÁµÇ°í ÀÖ´Ù.


3. À¯´Ð½ºÀÇ ¿ª»ç

À̾߱â´Â 1968³â¿¡ ÄË Å½½¼À¸·ÎºÎÅÍ ½ÃÀ۵ȴÙ. ±×´Â ÀÌÁ¦ ¸· ¹öŬ¸®(Berkeley)ÀÇ Ä¶¸®Æ÷´Ï¾Æ ´ëÇÐ ºÐ±³·ÎºÎÅÍ º§ ¿¬±¸¼Ò·Î µ¹¾Æ ¿Ô´Âµ¥ ±× ´ç½Ã ¹öŬ¸®¿¡¼­´Â ¹öƲ·¯ ·¥½¼(Butler Lampson)ÀÇ ÁÖµµÇÏ¿¡ SDS930À̶ó´Â ½ÃºÐÇÒ ¿î¿µ üÁ¦ÀÇ Á¦ÀÛÀÌ ÁøÇàµÇ°í ÀÖ¾ú´Ù. ÇϹöµå(Harvard)¿¡¼­ ÀÀ¿ë ¼öÇÐÀ» °øºÎÇÑ µ¥´Ï½º ¸®Ä¡´Â ±× Àϳâ ÀüÀÎ 1967³â¿¡ º§ ¿¬±¸¼Ò¿¡ ÇÕ·ùÇØ ÀÖ¾ú´Ù.

´ç½Ã ޽¼ÀÇ ÁÖÀ§¿¡´Â Àç±â ³ÑÄ¡´Â °úÇÐÀÚµé°ú °øÇÐÀÚµéÀÌ ¸¹¾Ò´Âµ¥ ±×µéÁß »ó´ç¼ö°¡ ÃÖ±Ù¿¡ Áß´ÜµÈ MIT, GE(General Electric), º§ ¿¬±¸¼ÒÀÇ °øµ¿ ¿¬±¸ °úÁ¦¿´´ø ¸Öƽ½º(Multics: Multiplexed Information and Computing Service) ÇÁ·ÎÁ§Æ®¿¡ Âü°¡ÇÑ »ç¶÷µéÀ̾ú´Ù. ÀÌ ÇÁ·ÎÁ§Æ®´Â ¸Öƽ½º¶ó°í ¸í¸íµÈ, ´ë±Ô¸ð »ç¿ëÀÚ¸¦ ½ÃºÐÇÒ ¹æ½ÄÀ¸·Î Áö¿øÇÒ ¼ö ÀÖ´Â, °¡»ó ÁÖ¼Ò °ø°£(virtual address space)ÀÇ °³³äÀ» °¡Áø ¹ü¿ë ¿î¿µ üÁ¦¸¦ ¸¸µå´Â °ÍÀ̾ú´Ù. ¸Öƽ½ºÀÇ Ç÷§ÆûÀº GEÀÇ ¸ÞÀÎÇÁ·¹ÀÓ ÄÄÇ»ÅÍÀÎ GE-645¿´´Ù. ÇÁ·ÎÁ§Æ®°¡ Áߴܵʿ¡ µû¶ó º§ ¿¬±¸¼Ò¿¡¼­ °¡µ¿ÁßÀÌ´ø ÀÌ ±âÁ¾Àº 1969³â 3¿ù¿¡ Åð¿ªÇÏ°Ô µÇ¾ú´Âµ¥ ±×°ÍÀ» ´ë½ÅÇÒ ±âÁ¾À» ¼±ÅÃÇϴµ¥ ¿¬±¸ÀÚµé°ú º§ ¿¬±¸¼Ò °£¿¡´Â ÀǰßÀÇ ÀÏÄ¡¸¦ º¸±â°¡ ½±Áö ¾Ê¾Ò´Ù. ¸Öƽ½ºÀÇ °³¹ß °úÁ¤¿¡¼­ ±×·¯ÇÑ ´ëÈ­Çü(interactive) ½Ã½ºÆÀ¿¡ Àͼ÷ÇØÁø ¿¬±¸ÀÚµéÀÌ ´ëü ±âÁ¾À¸·Î ¿ä±¸ÇÏ´Â ÄÄÇ»ÅÍ´Â ¿¬±¸¼ÒÀÇ ±¸¸Å ´ã´çÀÚ ÀÔÀå¿¡¼­ º¸±â¿¡´Â Áö³ªÄ¡°Ô °í°¡¿´´Ù. ¸Öƽ½º´Â Áö³ªÄ¡°Ô Å©°í º¹ÀâÇÑ ½Ã½ºÆÀÀ̾ú´ø °ÍÀÌ´Ù. ±×·¸´Ù°í Àû´çÇÑ °¡°ÝÀÇ ÄÄÇ»ÅÍ¿¡¼­ ¸Öƽ½º¿Í °°Àº »ç¿ë ȯ°æÀ» Á¦°øÇÏ´Â ¿î¿µ üÁ¦´Â Á¸ÀçÇÏÁö ¾Ê¾Ò°í ¶Ç ±×·± °ÍÀ» ¿¬±¸ÇÒ ºÐÀ§±âµµ ¾Æ´Ï¾ú´Ù. (ÀÌÁ¦ ¸· ¾ß½ÉÀûÀÎ ¿î¿µ üÁ¦ ¿¬±¸ÀÎ ¸Öƽ½º ÇÁ·ÎÁ§Æ®°¡ ÁøÁ¤ÇÑ ¼º°øÀ» °ÅµÎÁö ¸øÇÏ°í ¿ÍÇØµÈ ÆÇ±¹ÀÎ °ÍÀÌ´Ù!)

޽¼Àº óÀ½¿¡ »õ·Î¿î ¿î¿µ üÁ¦±îÁö ¸¸µé »ý°¢Àº ¾Æ´Ï¾ú°í ´ÜÁö ¸Öƽ½ºÀÇ ÈǸ¢ÇÑ ¾ÆÀ̵ð¾î¸¦ Â÷¿ëÇ쵂 ±×°ÍÀÇ Áö³ªÄ¡°Ô º¹ÀâÇÑ ¸éÀ» ´Ü¼øÈ­½ÃŲ ÇϳªÀÇ È­ÀÏ ½Ã½ºÆÀÀ» ±¸ÃàÇÏ·Á°í ÇÏ¿´´Ù. ¸Öƽ½º´Â ´ëÈ­Çü ¿î¿µ üÁ¦¿´Áö¸¸ ½ÇÁ¦ ÇÁ·Î±×·¡¸ÓµéÀÇ ÀÛ¾÷¿¡ ÇʼöÀûÀÎ ±â´ÉÁß °á¿©µÈ °ÍÀÌ ÀÖ¾ú´Ù. ¿¹¸¦ µé¾î °¢ »ç¿ëÀÚµé ÀÚ·áÀÇ º¸È£¿Í º¸¾ÈÀ» À§ÇØ Àϰý ó¸® ¾ç½Ä(batch mode)ÀÇ ¼º°ÝÀ» À¯ÁöÇϰí ÀÖ´Â ¿î¿µ üÁ¦ÀÇ ºÎºÐÀÌ ÀÖ¾ú´ø °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¼³°èÀÇ Àǵµ´Â ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÁö¸¸ ±×·¯ÇÑ Á¡Àº ¿©·¯ »ç¶÷µéÀÌ °øµ¿À¸·Î ÇÁ·Î±×·¥À» °³¹ßÇϴ ȯ°æ¿¡´Â ÀüÇô ¸ÂÁö°¡ ¾Ê´Ù. ޽¼Àº ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â °úÁ¤¿¡¼­ °³¹ßÀÚµéÀÇ »óÈ£ Çù·Â°ú °øµ¿ ÀÛ¾÷À» À§ÇÑ ÀÇ»ç ±³È¯À» Áö¿øÇϴ ȯ°æÀ» ¸¸µé°í ½Í¾ú´Ù. ÀÌ È­ÀÏ ½Ã½ºÆÀÀÇ ½Ã¹Ä·¹ÀÌÅÍ´Â °ð ÀÛ¼ºµÇ¾î GE-645 ½Ã½ºÆÀ¿¡¼­ ±¸ÇöµÇ¾ú´Ù. À̰ÍÀÌ ¾ö°ÝÇÑ Àǹ̿¡¼­ÀÇ ÃÖÃÊ À¯´Ð½º È­ÀÏ ½Ã½ºÆÀÀÇ Åº»ýÀÌ´Ù.

À¯´Ð½º ź»ýÀÇ ¹è°æÀÌ µÇ´Â ¶Ç ´Ù¸¥ °¥·¡ÀÇ ¾ê±â´Â ޽¼°ú ¸®Ä¡°¡ Æ÷Æ®¶õ(FORTRAN)À¸·Î GE ¸ÞÀÎÇÁ·¹ÀÓ¿¡¼­ ±¸ÇöÇϰí ÀÖ´ø `¿ìÁÖ ¿©Çà(Space Travel)'À̶ó´Â ÇÁ·Î±×·¥°ú °ü°èµÈ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº žç°è ³» ÁÖ¿ä õüµéÀÇ ¿òÁ÷ÀÓÀ» ½Ã¹Ä·¹À̼Ç(simulation)ÇÏ´Â °ÍÀ̾ú´Ù. ÃÖÃÊÀÇ ¿ìÁÖ ¿©Çà ÇÁ·Î±×·¥Àº ÀüÇô ¸¸Á·½º·´Áö ¾Ê¾Ò´Ù. GE ¸ÞÀÎÇÁ·¹ÀÓÀÇ ½ÃºÐÇÒ ½Ã½ºÆÀ¿¡¼­ ¼öÇàµÇ´Â ±× ÇÁ·Î±×·¥Àº ¼öÇà ¼º´Éµµ ³ª»¦°í ±×·¸´Ù°í ¸ÞÀÎÇÁ·¹ÀÓ ÄÄÇ»Å͸¦ È¥ÀÚ »ç¿ëÇϱ⿡´Â ºñ¿ëÀÌ ³Ê¹« ¸¹ÀÌ µé¾ú´Ù. ±× ¶§ º§ ¿¬±¸¼Ò¿¡´Â °ÅÀÇ »ç¿ëÇÏÁö ¾Ê°í ÀÖ´ø ¹Ì´ÏÄÄÇ»ÅͰ¡ ÇÑ´ë ÀÖ¾ú´Âµ¥ DEC(Digital Equipment Corporation)ÀÇ PDP-7À̾ú´Ù. (´ç½Ã PDP-7¿¡¼­ Á¦°øÇÏ´Â ½Ã½ºÆÀ ÇÁ·Î±×·¥Àº ¾î¼Àºí·¯¿Í ·Î´õ ¹Û¿¡ ¾ø¾úÀ¸´Ï ±×·²¸¸µµ Çß´Ù.) ޽¼Àº ¿ìÁÖ ¿©Çà ÇÁ·Î±×·¥ °³¹ß°ú ¼öÇà¿¡ PDP-7À» ¾µ »ý°¢À» Çß´Ù. PDP-7Àº ºó¾àÇÑ ÇÁ·Î±×·¥ °³¹ß ȯ°æ ´ë½Å ÈǸ¢ÇÑ ±×·¡ÇÈ µð½ºÇ÷¹À̸¦ °®°í ÀÖ¾ú°í ޽¼ÀÌ È¥ÀÚ µ¶Á¡ÇÏ¿© »ç¿ëÇÏ´õ¶óµµ ºñ¿ëÀÌ ¸¹ÀÌ µç´Ù°í ºÒÆòÇÒ »ç¶÷Àº ¾Æ¹«µµ ¾ø¾ú±â ¶§¹®ÀÌ´Ù. ±×·¯³ª PDP-7ÀÇ »ç¿ëÀº ³Ê¹« ºÒÆíÇß´Ù. ÀÏ´Ü °³¹ßÇÑ ÇÁ·Î±×·¥À» ¸ÞÀÎÇÁ·¹ÀÓ¿¡¼­ Å©·Î½º ¾î¼Àºí¸®(cross-assembly)¸¦ ÇÏ¿© --- ¸ÞÀÎÇÁ·¹ÀÓ¿¡¼­ ÇÁ·Î±×·¥ ÄÄÆÄÀÏÀ» Ç쵂 °á°ú ¾î¼Àºí¸® ÇÁ·Î±×·¥Àº PDP-7ÀÇ °ÍÀ» ¸¸µé¾î¼­ --- ±× °á°ú¸¦ Á¾ÀÌ Å×ÀÌÇÁ¿¡ ´ã¾Æ PDP-7ÀÇ ·Î´õ¸¦ ÅëÇØ PDP-7¿¡ ÀûÀç, ¼öÇà½ÃŰ´Â °úÁ¤À̾ú´Ù.

PDP-7ÀÇ »ç¿ëÀ» ÅëÇØ ±× ±â°è¸¦ Àß ¾Ë°Ô µÇ¸é¼­ ޽¼Àº PDP-7À» ¾µ¸¸ÇÑ ±â°è·Î ¸¸µé±â·Î ÇÏ°í Æò»ó½Ã¿¡ °®°í ÀÖ´ø »ý°¢, Áï ÇÁ·Î±×·¥ °³¹ßÀÇ ÆíÀÇ¿Í ¼öÇàÀÇ È¿À²À» Á¦°øÇÏ´Â ½Ã½ºÆÀ ȯ°æÀ» ¼³°èÇϱ⠽ÃÀÛÇß´Ù. ¾Õ¿¡¼­ ¾ð±ÞÇÑ ÃÖÃÊÀÇ À¯´Ð½º È­ÀÏ ½Ã½ºÆÀ°ú ÇÁ·Î¼¼½º °ü¸® ½Ã½ºÆÀ, ±×¸®°í ¾à°£ÀÇ À¯Æ¿·¯Æ¼(utility)µéÀ» °áÇÕÇÏ¿© ÃÖÃÊÀÇ À¯´Ð½º ½Ã½ºÆÀÀÌ ¸¸µé¾îÁ³´Ù. ÀÌ ÃÖÃÊÀÇ À¯´Ð½º´Â ½ÃºÐÇÒ Ã¼Á¦°¡ ¾Æ´Ï°í ¸¶Ä¡ PCó·³ »ç¿ëÇÏ´Â °ÍÀ̾úÀ¸³ª °ð µÎ»ç¶÷ Á¤µµ´Â µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô È®ÀåµÇ¾ú´Ù.

À¯´Ð½ºÀÇ ¸¹Àº ¾ÆÀ̵ð¾î´Â ¸Öƽ½º·ÎºÎÅÍ ³ª¿Â °ÍÀÌ´Ù. È­ÀÏ ½Ã½ºÆÀÀÇ ±âº» ±¸Á¶, »ç¿ëÀÚÀÇ ÇÁ·Î¼¼½º·Î¼­ ¼öÇàµÇ´Â ¸í·É¾î ÇØ¼®±â(command interpreter Áï ½©(shell)), °¢ ¸í·É¿¡ ´ëÇÑ º°°³ ÇÁ·Î¼¼½ºÀÇ »ç¿ë, ÃÖÃÊÀÇ ÆíÁý ±âÈ£ ¹®ÀÚ(ÇÑ ¹®ÀÚ¸¦ Áö¿ï ¶§´Â #À̰í ÁÙ Àüü¸¦ Áö¿ï ¶§´Â @) µîÀÌ ¸ðµÎ ¸Öƽ½º·ÎºÎÅÍ Á÷Á¢ ³ª¿Â °ÍÀÌ´Ù. ±×·¯³ª ¾Õ¿¡¼­ ¾ð±ÞÇß´Ù½ÃÇÇ À¯´Ð½º´Â ¸Öƽ½º¿Í ´Þ¸® Æí¾ÈÇÑ ÇÁ·Î±×·¥ °³¹ß ȯ°æÀÇ ±¸ÃàÀ̶ó´Â µ¥ ÃÊÁ¡À» µÎ°í ºÒÇÊ¿äÇÑ º¹À⼺À» Á¦°ÅÇÏ¿© ´Ü¼øÈ­½ÃÄ×´Ù. Å« »ç¿ëÀÚ Áý´ÜÀ» Áö¿øÇÏ´Â ´Ù¸ñÀû¿ëÀÎ ¸Öƽ½º¿¡ ¹ÝÇØ `´ÜÀÏ(uni)'À̶ó´Â °³³äÇÏ¿¡ ÈξÀ ¼Ò¹ÚÇÑ ¼³°è ¸ñÇ¥¸¦ °¡Áö°í ¸¸µé¾î Áø °ÍÀÌ´Ù. À¯´Ð½º¶ó´Â À̸§Àº 1970³â, ¿ª½Ã º§ ¿¬±¸¼Ò ¿¬±¸¿øÀÎ ºê¶óÀ̾ð Ä¿´ÐÇÚ(Brian Kernighan)ÀÇ Á¦¾ÈÀ¸·Î ¸Öƽ½ºÀÇ `¸ÖƼ'¸¦ `À¯´Ï'·Î ¹Ù²Ù°í `-cs'¿Í µ¿ÀÏÇÑ ¹ßÀ½ÀÌ ³ªµµ·Ï öÀÚ¸¦ ¹Ù²Ù´Â Àå³­À» Ãļ­ `-x'¸¦ ºÙ¿© ¸¸µé¾î Á³´Ù. (ÀÌ·¯ÇÑ ¸í¸í¿¡¼­µµ óÀ½¿¡ À¯´Ð½º¸¦ ¸¸µç º§ ¿¬±¸¼Ò ¿¬±¸¿øµéÀÇ Åµµ¸¦ ¿³º¼ ¼ö ÀÖ´Ù. ±×µéÀº »ó¾÷¼ºÀ» °¡Áø Á¦Ç°À» ¸¸µç´Ùµç°¡ ´Ù¾çÇÑ »ç¿ëÀÚ °èÃþÀ» ¿°µÎ¿¡ µÎ°í ¸ðµç À̵éÀÇ »ç¿ë ÆíÀǸ¦ °í·ÁÇÑ´Ù´Â »ý°¢Àº ÀüÇô ¾ø¾ú´Ù. ±×µéÀÇ À¯ÀÏÇÑ ¸ñÀûÀº ``³ª¸¦ Æ÷ÇÔÇÑ, ¿ì¸®°°Àº Àü¹® ÇÁ·Î±×·¡¸Ó°¡ ÇÁ·Î±×·¡¹ÖÇÏ´Â µ¥ Æí¸®ÇÑ È¯°æ, Áï ¿î¿µ üÁ¦''¸¦ °®´Â °ÍÀ̾ú´Ù.)

ÀÌÈÄ 1972³â¿¡ ÆÄÀÌÇÁ(pipe)¿Í ÇÊÅÍ(filter) µîÀÇ °³³äÀÌ Ãß°¡µÇ°í, 1973³â¿¡´Â óÀ½ PDP-7 ¾î¼Àºí¸®¾î·Î ¾²¿©Á³´ø À¯´Ð½º¸¦ C·Î ´Ù½Ã ÀÛ¼ºÇÏ´Â Ä¿´Ù¶õ Áøº¸°¡ ÀÌ·ç¾î Á³´Ù. À̶§Âë¿¡ À¯´Ð½º ½Ã½ºÆÀÀÇ ¼Ò¹®ÀÌ ÆÛÁö¸é¼­ AT\&T´Â ºñ¿µ¸® ±â°ü¿¡ À¯´Ð½ºÀÇ ¶óÀ̼¾½º¸¦ Áֱ⠽ÃÀÛÇß´Ù. 1975³â¿¡ AT\&T´Â Á¦6ÆÇ(Sixth Edition)À» ¿ÜºÎ¿¡ ½Çºñ¸¸ ¹Þ°í ¹è±ÞÇϱ⠽ÃÀÛÇß´Ù. À̸¦ ½Ã¹ßÁ¡À¸·Î AT\&T °è¿­°ú ͏®Æ÷´Ï¾Æ ´ëÇÐ ¹öŬ¸® ºÐ±³ °è¿­ÀÇ À¯´Ð½º°¡ °¥¶óÁ® ¾ç´ë ¼¼·ÂÀÌ Çü¼ºµÇ¾î ¿À´Ã¿¡ À̸£°í ÀÖ´Ù.


4. À¯´Ð½ºÀÇ °­Á¡

À¯´Ð½º ¿Ü¿¡µµ ¿©·¯ °¡Áö ½ÃºÐÇÒ ¿î¿µ üÁ¦µéÀÌ ÀÌ¿Í ºñ½ÁÇÑ ½Ã±â¿¡ ÃâÇöÇÏ¿´Áö¸¸, À¯µ¶ À¯´Ð½º¸¸ÀÌ Àü¼¼°èÀûÀ¸·Î È£ÆòÀ» ¹Þ°Ô µÈ À̸鿡´Â À¯´Ð½º°¡ ¾Æ·¡¿Í °°Àº ÀåÁ¡À» °¡Áö°í ÀÖ¾ú±â ¶§¹®ÀÌ´Ù.

À¯´Ð½º ½Ã½ºÆÀÀº °í±Þ ¾ð¾î·Î ¾²¿©Á® ÀÖÀ¸¹Ç·Î ±× ÇÁ·Î±×·¥À» Àаí, ÀÌÇØÇϰí, ¼öÁ¤Çϰí, ´Ù¸¥ ±â°è¿¡ À̽ÄÇÏ´Â ÀÏÀÌ ¿ëÀÌÇÏ´Ù. ¸®Ä¡°¡ °è»êÇÑ ¹Ù¿¡ µû¸£¸é óÀ½¿¡ À¯´Ð½ºÀÇ ±¸Çö ¾ð¾î°¡ PDP-7 ¾î¼Àºí¸®¾î¿¡¼­ C·Î ¹Ù²î¾úÀ» ¶§ Å©±â¿Í ¼öÇà ¼Óµµ°¡ 20% ³»Áö 40% Á¤µµ Ä¿Áö°í ´À·ÁÁ³¾ú´Ù°í ÇÑ´Ù. ±×·¯³ª ¸®Ä¡´Â °í±Þ ¾ð¾î¸¦ »ç¿ëÇØ¼­ ¾òÀº ÀÕÁ¡ÀÌ ¿ö³« Ä¿¼­ ÀÌ Á¤µµÀÇ ºñÈ¿À²Àº ¹«½ÃÇØµµ ÁÁÀ» Á¤µµ¶ó°í ¸»ÇÑ´Ù. °Ô´Ù°¡ ÄÄÆÄÀÏ·¯(compiler) Á¦ÀÛ ±â¼úÀÇ ¹ß´Þ·Î ¿À´Ã³¯ÀÇ ÄÄÆÄÀÏ·¯¿¡¼­´Â ¸ñÀû(object) ÄÚµåÀÇ ÃÖÀûÈ­(optimization)°¡ ´ë´ÜÈ÷ ³ôÀº ¼öÁØ¿¡¼­ ÀÌ·ç¾îÁö´Â °ÍÀ» °¨¾ÈÇÏ¸é ¸®Ä¡ÀÇ ÁÖÀåÀº Àý´ëÀûÀÎ ¼³µæ·ÂÀ» °¡Áö°í ÀÖ´Ù.

ÃÖÃÊÀÇ À¯´Ð½º´Â ±× ¿î¿µ üÁ¦ÀÇ ÇÙ½É ºÎºÐÀÎ Ä¿³ÎÀÇ Å©±â°¡ ³î¶ó¿ï Á¤µµ·Î ÀÛ¾Ò´Ù. ¹°·Ð Ä¿³Îµµ ´ëºÎºÐ C·Î ¾²¿©Á³´Ù. »Ó¸¸ ¾Æ´Ï¶ó À¯´Ð½º Ä¿³ÎÀÇ ¼Ò½º ÄÚµå´Â Çϵå¿þ¾î°¡ ¹Ù²î¾î Áú ¶§¿¡´Â ¹Ýµå½Ã ±×¿¡ µû¶ó ¼öÁ¤ÀÌ °¡ÇØÁ®¾ß ÇÏ´Â ºÎºÐ°ú, ±×·¸Áö ¾ÊÀº ºÎºÐÀÌ Àß ±¸ºÐÀÌ µÇ¾î ÀÖ¾î, À¯´Ð½º¸¦ Ÿ±âÁ¾¿¡ À̽ĽÃÄÑ¾ß ÇÒ °æ¿ì¿¡´Â ¾ÕÀÇ ºÎºÐ¸¸ ±â°è¿¡ µû¶ó ¼öÁ¤À» °¡ÇÏ¸é µÇµµ·Ï µÇ¾î ÀÖ´Ù. À¯´Ð½º´Â Å©±â°¡ ÀÛ°í, ¶Ç ÄÚµåÀÇ ´ëºÎºÐÀÌ °í±Þ ¾ð¾î·Î ¾²¿©Á³À¸¹Ç·Î ´Ù¸¥ ¿î¿µ üÁ¦º¸´Ù´Â À̱âÁ¾ÀÇ ÄÄÇ»ÅÍ¿¡ À̽ĽÃŰ´Â °ÍÀÌ ½¬¿öÁú ¼ö ¹Û¿¡ ¾ø¾ú´Ù. (¾î¶² ¼ÒÇÁÆ®¿þ¾îÀÇ À̽ļºÀÌ ³ô´Ù°í ÇÏ´Â °ÍÀº ±× ¼ÒÇÁÆ®¿þ¾î¸¦ ÇÑ ±â°è·ÎºÎÅÍ ´Ù¸¥ ±âÁ¾ÀÇ ±â°è·Î ¿Å±â´Â µ¥ ¼Ò¿äµÇ´Â ³ë·Â°ú ½Ã°£ÀÌ ¸Å¿ì Àû°Ô µç´Ù´Â °ÍÀ» ¶æÇÑ´Ù.)

ÀÌ¿Í °°Àº ÀÌÀ¯µé ¶§¹®¿¡ À¯´Ð½º¸¦ ÇÑ ±â°è·ÎºÎÅÍ ´Ù¸¥ ±â°è·Î À̽ĽÃŰ´Â µ¥¿¡´Â, À¯´Ð½º¸¦ Àß ¾Æ´Â »ç¶÷µéÀÌ ÀÛ¾÷À» ÇÏ¸é ¼®´Þ ³»Áö ¹Ý³âÀ̸é Á·ÇÑ °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. ÀÌ¿¡ ¹ÝÇÏ¿© 60, 70 ³â´ë¿¡ ¸¸µé¾îÁø ´Ù¸¥ ¿î¿µ üÁ¦µéÀº ÇÑ °¡Áö ƯÁ¤ Çϵå¿þ¾î¿¡ Á¾¼ÓµÇ±â ¸¶·ÃÀÌ´Ù. ¿Ö³ÄÇÏ¸é ±× ´ç½ÃÀÇ ¿î¿µ üÁ¦´Â À̽ļºÀÌ ¾ø¾î¼­, Çϵå¿þ¾î¸¦ ¹Ù²Ù¾î ¿¹ÀüÀÇ ¿î¿µ üÁ¦°¡ µ¹¾Æ°¡µµ·Ï ÇÏ·Á¸é ¾öû³­ ½Ã°£ÀÌ ¼Ò¿äµÇ±â ¶§¹®ÀÌ´Ù.

¿î¿µ üÁ¦ÀÇ À̽ļºÀÌ ³ô´Ù´Â °ÍÀº ¿©·¯ °¡Áö Æí¸®ÇÑ Á¡À» Á¦°øÇÑ´Ù. À̽ļºÀÌ ³ôÀ¸¸é ¿©·¯ ±âÁ¾ÀÇ Çϵå¿þ¾î¿¡ µ¿ÀÏÇÑ ¿î¿µ üÁ¦¸¦ ¿î¿ëÇÒ ¼ö ÀÖ°í, ¿î¿µ üÁ¦°¡ µ¿ÀÏÇϸé ÀÌµé ±â°è °£¿¡ Á¤º¸¸¦ ÁÖ°í ¹Þ´Â °ÍÀÌ ¸Å¿ì ¼ö¿ùÇØÁö±â ¶§¹®ÀÌ´Ù. ¸¸ÀÏ ¿î¿µ üÁ¦°¡ ¼­·Î ´Ù¸¥ ½Ã½ºÆÀ³¢¸® Á¤º¸¸¦ ÁÖ°í ¹ÞÀ¸·Á¸é ¸Å¿ì Å« ¾î·Á¿òÀÌ »ý±ä´Ù. ¿î¿µ üÁ¦°¡ »óÀÌÇϸé È­ÀÏ À̸§, ·¹ÄÚµå, ºí·°, ¹®ÀÚ ÄÚµå µîÀÇ Ç¥Çö ¹æ½ÄÀÌ ¸ðµÎ ´Ù¸£±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ ³ôÀº À̽ļºÀº °ø°£ÀûÀ¸·Î ¶³¾îÁø À̱âÁ¾ Çϵå¿þ¾î¸¦ °¡Áø ½Ã½ºÆÀ³¢¸®µµ Á¤º¸¸¦ ÁÖ°í ¹Þ´Â °ÍÀ» ¼ö¿ùÇÏ°Ô ÇÏ¿© Áشٴ ÀåÁ¡À» °¡Áø´Ù.

¶ÇÇÑ À̽ļºÀÌ ³ô´Ù´Â °ÍÀº »õ·ÎÀÌ µîÀåÇÏ´Â ½Î°í ÁÁÀº Çϵå¿þ¾î¸¦ ¾ó¸¶µçÁö ½±°Ô ±³Ã¼ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØ ÁÖ´Â °ÍÀ» ¶æÇÑ´Ù. Çϵå¿þ¾î¸¦ ±³Ã¼ÇÒ ¶§¸¶´Ù ´ëµÎµÇ´Â ¹®Á¦°¡ ¹Ù·Î ±âÁ¸ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ º¯È¯(conversion) ¹®Á¦¿Í Á÷¿ø Àç±³À° ¹®Á¦ÀÌ´Ù. »õ·Î ³ª¿Â Çϵå¿þ¾î°¡ ÇöÀç °¡Áö°í ÀÖ´Â Çϵå¿þ¾îº¸´Ù ½Î´Ù°í Çѵé, ¼ÒÇÁÆ®¿þ¾î º¯È¯À̳ª ÇÁ·Î±×·¡¸Ó Àç±³À°¿¡ µå´Â ºñ¿ë, ±× ±â°£ µ¿¾ÈÀÇ »ý»ê¼º Ç϶ôÀ¸·Î ÀÎÇÑ ºñ¿ë µîÀÌ ¾öû³ª°Ô µç´Ù¸é ¾Æ¹«¸® ÁÁÀº Çϵå¿þ¾î°¡ ³ª¿Íµµ ±× »õ·Î¿î Çϵå¿þ¾î·Î ¿Å°Ü °¥ ¾öµÎ¸¦ ³¾ ¼ö°¡ ¾ø´Ù. ´ÙÇàÈ÷ ÇöÀç »ç¿ëÇÏ´Â ¿î¿µ üÁ¦°¡ À¯´Ð½ºÃ³·³ À̽ļºÀÌ ³ô´Ù¸é »õ Çϵå¿þ¾î·Î ¹Ù²Ü °æ¿ì, ÇÁ·Î±×·¥ º¯È¯°ú Á÷¿ø Àç±³À° µî¿¡ µå´Â ºñ¿ëÀÌ Àý¾àµÇ°Ô µÈ´Ù. ¿Ö³ÄÇÏ¸é »õ Çϵå¿þ¾î¿¡ À¯´Ð½º ¿î¿µ üÁ¦¸¦ ¼Õ½±°Ô ¿Å°Ü ³õÀ¸¸é ´Ù¸¥ ¸ðµç ¼ÒÇÁÆ®¿þ¾î´Â Çϳªµµ ¹Ù²Ü °ÍÀÌ ¾ø±â ¶§¹®¿¡ »ç¿ëÀÚ³ª ÇÁ·Î±×·¡¸Ó´Â º¯È­¸¦ ´À³¢Áö ¾Ê±â ¶§¹®ÀÌ´Ù. »õ·ÎÀÌ º¯°æµÈ Çϵå¿þ¾îÀÇ ÀÚ¼¼ÇÑ ±¸Á¶¿¡ ´ëÇØ »ç¿ëÀÚ´Â ¾Ë Çʿ䰡 ¾ø´Ù. »ç¿ëÀÚ¿Í Çϵå¿þ¾î¸¦ Áß°³½ÃŰ´Â ±â´ÉÀ» ¼öÇàÇÏ¿© »ç¿ëÀڷκÎÅÍ ±â°èÀÇ ³»ºÎ¸¦ ºÒÆí¾øÀÌ ¼û±â´Â ÀÏÀº À¯´Ð½º°¡ ¼öÇàÇÑ´Ù.

À§ÀÇ Ç׸ñÁß¿¡ È­ÀÏÀÇ ¾ç½ÄÀ̳ª ÁÖº¯ ÀåÄ¡¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽º°¡ Àϰü¼ºÀÌ ÀÖ´Ù´Â °Íµµ À¯´Ð½º »ç¿ëÀÚ¿¡°Ô Çϵå¿þ¾îÀÇ ºÒÇÊ¿äÇÑ ±¸Ã¼Àû ³»¿ëÀ» ¾Ë¾Æ¾ß ÇÒ Çʿ䳪, Çϵå¿þ¾îÀÇ º¯°æÀ¸·ÎºÎÅÍ ¾ß±âµÉ ¼ö ÀÖ´Â ºÒÆíÀ» Á¦°ÅÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

¿À´Ã³¯ Åë½ÅÀ̳ª ´ÙÁß ÀÛ¾÷ ȯ°æÀÌ ÀϹÝÈ­µÇ´Â »óȲ¿¡¼­ ´ÙÁß »ç¿ëÀÚ, ´ÙÁß Å½ºÅ· ½Ã½ºÆÀÀ̶ó´Â °ÍÀº Â÷Ãû ¿î¿µ üÁ¦ÀÇ ÇÊ¿ä Á¶°ÇÀ¸·Î µÇ°í ÀÖ´Ù. À¯´Ð½º´Â ÀÌ·¯ÇÑ Á¡¿¡¼­µµ ¶Ù¾î³ª´Ù.

À¯´Ð½º°¡ ¼¼°èÀûÀ¸·Î È£ÆòÀ» ¹Þ°Ô µÈ ¶Ç ÇϳªÀÇ ÀÌÀ¯´Â ¼Ò½º ÄÚµåÀÇ °ø°³¿¡ ÀÖ´Ù. À¯´Ð½º¸¦ °³¹ßÇÑ º§ ¿¬±¸¼ÒÀÇ ¸ðȸ»çÀÎ ¹Ì±¹ÀÇ AT&T°¡ µ¶°úÁ¡ ¹æÁö ±ÔÁ¦¸¦ ¹Þ°í ÀÖ´ø 70³â´ë¿¡ ÀÏ¹Ý »çȸ¿¡ À¯´Ð½º¸¦ º¸±ÞÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ÀÌÀ±¾øÀÌ ½Çºñ¿¡, ±×°Íµµ ¼Ò½º ÄÚµå±îÁö °ø°³ÇÏ¿© À¯´Ð½º¸¦ ÁÖ´Â °Í ¹Û¿¡ ¾ø¾ú´Ù. ÀÌ ¶§¿¡´Â AT&T°¡ ¿µ¾÷ ¸ñÀûÀ¸·Î À¯´Ð½º¸¦ °ø±ÞÇÑ °ÍÀº ¾Æ´Ï°í, ÁÖ·Î ´ëÇÐ µî°ú °øµ¿ ¿¬±¸¸¦ ¼öÇàÇϱâ À§ÇÑ ÇÑ ¹æÆíÀ¸·Î °ø±ÞÇÑ °ÍÀ̾ú´Ù.

ÀÌ ÀÌÈÄ ´ëÇп¡¼­ Ȱ¹ßÈ÷ Àü°³µÈ À¯´Ð½º ½Ã½ºÆÀ ¿¬±¸´Â À¯´Ð½ºÀÇ Áø·Î¿¡ ÀÏ´ë º¯È¯À» °¡ÇÏ°Ô µÈ´Ù. ÀÌÀü±îÁö¸¸ ÇØµµ ´ëÇп¡¼­´Â ¿î¿µ üÁ¦³ª µ¥ÀÌÅͺ£À̽º °°Àº ½Ã½ºÆÀ ¼ÒÇÁÆ®¿þ¾î ºÐ¾ß´Â ±× ÄÚµåÀÇ ¾çÀÌ ³Ê¹« ¾öû³ª°í ¶Ç ¼Ò½º°¡ °ø°³µÈ °ÍÀÌ ¾ø¾úÀ¸¹Ç·Î ÁÖ·Î ÀÌ·ÐÀûÀÎ ¿¬±¸¿¡ Ä¡ÁßÇϰí ÀÖ¾ú´Ù. ±×·¯³ª À¯´Ð½º°¡ ´ëÇп¡ º¸±ÞµÈ Èķδ ´ëÇп¡¼­ À¯´Ð½º¸¦ ±â¹ÝÀ¸·Î Á÷Á¢ ½Ã½ºÆÀÀ» ½ÇÇè, °³¹ßÇØ º¸°í ±× °úÁ¤¿¡¼­ ¿©·¯ °¡Áö ¿¬±¸ °úÁ¦¸¦ ¹ß°ßÇϰí ÀÌ·ÐÀ» ¿¬±¸ÇÏ´Â ¹æ½ÄÀ¸·Î ¹Ù²î¾î°¡±â ½ÃÀÛÇß´Ù. µû¶ó¼­ À¯´Ð½º¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ¿©·¯ °¡Áö À¯¿ëÇÑ ¼ÒÇÁÆ®¿þ¾îµéÀÌ ´ëÇп¡¼­ ³ª¿À±â ½ÃÀÛÇß°í, ¶Ç ´ëÇеéÀº ÀÌ ¼ÒÇÁÆ®¿þ¾îµéÀ» º¸±ÞÇÏ´Â µ¥ À־ À¯´Ð½º¿Í µ¿ÀÏÇÑ ¹æ½Ä, Áï ½Çºñ °¡°Ý º¸±Þ°ú ³»ºÎ ¼³°è °ø°³ µîÀÇ ³ë¼±À» µû¸£°Ô µÇ¾ú´Ù. ÀÌ¿Í °°ÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ »óÈ£ °ø°³ÇÏ°í °øÀ¯ÇÏ¿© »óÈ£ ÇýÅÃÀ» ÁÖ°í ¹Þ´Â ¿øÄ¢Àº À¯´Ð½º ȯ°æÀ̳ª »ç¿ëÀÚ Áý´ÜÀÇ ±âº» öÇÐÀ̱⵵ Çϸ鼭 µ¿½Ã¿¡ À¯´Ð½º ¼ÒÇÁÆ®¿þ¾îÀÇ ¾çÀû, ÁúÀûÀÎ ¸é¿¡¼­ÀÇ Æø¹ßÀûÀÎ ¼ºÀåÀ» ÃËÁøÇÏ´Â ±âÆøÁ¦°¡ µÇ¾ú´Ù.

¾Õ¿¡¼­ ¿©·¯ °¡Áö À¯´Ð½ºÀÇ ÀåÁ¡À» ¾ê±âÇßÁö¸¸ ±×°ÍµéÀÇ ¹ÙÅÁÀ» ÀÌ·ç°í ÀÖ´Â »ý°¢À» ¿ä¾àÇÏ¸é ´ÙÀ½ ¼¼ °¡Áö Ç׸ñÀ¸·Î Á¤¸®ÇÒ ¼ö ÀÖ´Ù. À̰͵éÀº À¯´Ð½ºÀÇ ¼³°è ¸ñÇ¥À̱⵵ ÇÏ´Ù.

¸¶Áö¸·À¸·Î ÄË Å½½¼°ú µ¥´Ï½º ¸®Ä¡¸¦ ¼ö»óÀÚ·Î ¼±Á¤ÇÑ 1983³âµµÀÇ Æ©¸µ»ó ¼±Á¤ À§¿øÈ¸°¡ ¹ßÇ¥ÇÑ ¼±Á¤ ÀÌÀ¯Áß ÀϺθ¦ ÀοëÇϸ鼭 ÀÌ ÀýÀ» ¸¶°¨ÇÒ±î ÇÑ´Ù.

À¯´Ð½º ½Ã½ºÆÀÀÇ ¼º°øÀº ¸î°³ÀÇ ÇÙ½ÉÀûÀÎ °³³ä¸¸À» ¸Úµé¾îÁö°Ô °ñ¶ó¼­ ¼¼·ÃµÇ°Ô ±¸ÇöÇѵ¥ ±âÀÎÇÑ´Ù. À¯´Ð½º ½Ã½ºÆÀÀ̶ó´Â ¸ðµ¨·Î ÀÎÇØ ¼ÒÇÁÆ®¿þ¾î ¼³°èÀÚµéÀº ÇÁ·Î±×·¡¹ÖÀ̶ó´Â ÀÛ¾÷¿¡ ´ëÇØ »õ·Ó°Ô »ý°¢ÇÏ´Â ¹ýÀ» ¾Ë°Ô µÇ¾ú´Ù. À¯´Ð½º ½Ã½ºÆÀÀÇ ÁøÁ¤À¸·Î »©¾î³­ Á¡Àº, ÇÁ·Î±×·¡¸Ó°¡ ŸÀÎÀÇ ÀÛ¾÷ÇÑ °á°ú À§¿¡ ÀÚ½ÅÀÇ ÀÏÀ» °è¼Ó ÇÒ ¼ö ÀÖ´Â, ¹Ù·Î ±× ÇÁ·Î±×·¡¹ÖÀ» ´ëÇÏ´Â »ç°í ¹æ½ÄÀÇ Æ²(framework)¿¡ ÀÖ´Ù.

5. CÀÇ ¿ª»ç

CÀÇ ¿ª»ç´Â 1960³â °æ¿¡ ¸¸µé¾îÁø CPL(Combined Programming Language)·ÎºÎÅÍ ½ÃÀ۵ȴÙ. CPL ¾ð¾î´Â ALGOL60À» °³·®ÇÏ¿© ¸¸µé¾îÁø °ÍÀÌ´Ù. ÀÌÈÄ 1967³â °æ ¸¶Æ¾ ¸®Ã­Áî(Martin Richards)°¡ CPLÀ» ¼öÁ¤ÇÏ¿© BCPL(Basic CPL)À̶ó´Â ¾ð¾î¸¦ ¸¸µé¾ú´Ù. ÀÌ ¾ð¾î´Â ÁÖ·Î ÄÄÆÄÀÏ·¯¿Í °°Àº ½Ã½ºÆÀ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÒ ¸ñÀûÀ¸·Î ¼³°èµÈ °ÍÀÌ´Ù. BCPLÀº ÇöÀç±îÁöµµ ÁÖ·Î À¯·´¿¡¼­ »ç¿ëµÇ°í ÀÖ´Ù.

¾Õ¿¡¼­ À¯´Ð½º¸¦ ¾ê±âÇÒ ¶§ ¾ð±ÞÇßÁö¸¸ ÃÖÃÊÀÇ À¯´Ð½º ½Ã½ºÆÀÀº PDP-7 ¾î¼Àºí¸®¾î·Î ¾²¿©Á³´Ù. µÚ¿¡ Ãʱâ À¯´Ð½ºÀÇ Ç÷§ÆûÀÌ PDP-7¿¡¼­ 1970³â ¸»¿¡ PDP-11À¸·Î ¹Ù²î¾úÁö¸¸ ±× ½Ã½ºÆÀ Ä¿³Î°ú À¯Æ¿·¯Æ¼µéÀº ¿©ÀüÈ÷ ¾î¼Àºí¸®¾î·Î ¾²¿© ÀÖ¾ú´Ù. ÀÌ·¯ÇÑ »óȲ¿¡ ºÎºÐÀûÀÎ º¯È­°¡ ÀÖ¾ú´ø °ÍÀº 1972³â 7¿ù¿¡ ³ª¿Â À¯´Ð½º Á¦2ÆÇÀ̾ú´Ù. ¿©±â¼­µµ Ä¿³Î°ú ¸¹Àº À¯Æ¿·¯Æ¼µéÀº ¾î¼Àºí¸®¾î·Î ÀÛ¼ºµÇ¾úÁö¸¸ ¾î¼Àºí·¯ ÀÚü´Â B ¾ð¾î·Î ¾²¿©Áø °ÍÀ̾ú´Ù. B ¾ð¾î´Â ÄË Å½½¼ÀÌ BCPLÀ» ¼öÁ¤ÇÏ¿© 1970³â¿¡ ¸¸µç ¾ð¾îÀÌ´Ù. (±× À̸§Àº ´Ü¼øÈ÷ BCPLÀ» °£´ÜÈ÷ ÁÙ¿© ¸¸µç °ÍÀÌ´Ù.)

BCPL°ú B´Â ¸ðµÎ `ÇüÀÌ ¾ø´Â(typeless)' ¾ð¾î¿´´Ù. ÀÌµé ¾ð¾î¿¡¼­ Á¦°øÇÏ´Â À¯ÀÏÇÑ ÀÚ·áÇüÀº ±â°è ¿öµå(machine word)¿´°í ´Ù¸¥ Á¾·ùÀÇ ÀڷḦ »ç¿ëÇϱâ À§Çؼ­´Â Ưº°ÇÑ ¿¬»êÀÚ³ª ÇÔ¼ö È£ÃâÀ» »ç¿ëÇØ¾ß Çß´Ù. ÀÌ·± Á¦¾àÀ¸·Î ÀÎÇØ PDP-11¿¡ ÀÖ´Â ¹ÙÀÌÆ® Á¶ÀÛ ¸í·É¾î¸¦ ÀÚÀ¯·Ó°Ô »ç¿ëÇϱⰡ ¾î·Á¿ü´Ù. ±×·¡¼­ B ¾ð¾î¿¡ ÇüÀ» Ãß°¡½ÃŰ´Â ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁ® »õ·Î¿î ¾ð¾î NB(New B)°¡ ¸¸µé¾îÁ³´Ù. ÀÌ NB¸¦ »ç¿ëÇÏ¿© ½Ã½ºÆÀ ¼ÒÇÁÆ®¿þ¾î¸¦ »õ·Î ÀÛ¼ºÇÏ·Á´Â ½Ãµµ°¡ ÀÖ¾úÁö¸¸ °á°ú°¡ º°·Î ÁÁÁö ¾Ê¾Æ¼­ µ¥´Ï½º ¸®Ä¡´Â ÄÄÆÄÀÏÇÑ ÇÁ·Î±×·¥ÀÌ »¡¸® ¼öÇàµÉ ¼ö ÀÖµµ·Ï Çϱâ À§ÇÏ¿© NB¸¦ À§ÇÑ ÄÚµå »ý¼º±â(generator)¸¦ ¿¬±¸Çϸ鼭 µ¿½Ã¿¡ È¿À²ÀûÀÎ ÄÚµå »ý¼ºÀ» À§ÇÑ ¾ð¾î¸¦ ±¸»óÇß´Ù. ÀÌ °á°ú·Î ź»ýÇÑ °ÍÀÌ C ¾ð¾îÀÌ´Ù. (±× À̸§Àº B ´ÙÀ½¿¡ ¸¸µé¾î Á³´Ù°í ºÙÀÎ °ÍÀÌ´Ù. º§ ¿¬±¸¼ÒÀÇ »©¾î³­ ÇÁ·Î±×·¡¸ÓµéÀº ÀÛ¸í¿¡´Â º°·Î °ü½ÉÀÌ ¾ø´Â °Í °°´Ù...) ÀÌ ÃÖÃÊÀÇ C ¾ð¾î¿¡´Â ¿À´Ã³¯ÀÇ C°¡ °¡Áö°í ÀÖ´Â ½ºÆ®·°ÃÄ(structure)³ª Àü¿ª º¯¼ö(global variable) µîÀÇ ±â´ÉÀÌ ¾ø¾ú´Ù.


6. CÀÇ °­Á¡

C°¡ ¿À´Ã³¯Ã³·³ ±¤¹üÀ§ÇÏ°Ô »ç¿ëµÇ´Â µ¥´Â C ¾ð¾î ÀÚüÀÇ ÀÌÀ¯¿Í ¿ÜºÎÀûÀÎ ÀÌÀ¯°¡ °øÁ¸ÇÑ´Ù. ¸ÕÀú ¿ÜºÎÀûÀÎ ÀÌÀ¯·Î´Â À¯´Ð½ºÀÇ ¼º°øÀ» µé ¼ö ÀÖ´Ù. À¯´Ð½º ½Ã½ºÆÀÀÇ ±¸Çö ¾ð¾î·Î¼­ »ç¿ëµÈ C´Â, À¯´Ð½º ¼Ò½º ÇÁ·Î±×·¥ÀÇ °ø°³·Î Ȱ¼ºÈ­µÈ ´ëÇÐÀ̳ª ±â¾÷ÀÇ ¿¬±¸ °úÁ¤¿¡¼­ ÀÚ¿¬½º·´°Ô ¼ö¸¹Àº »ç¶÷µéÀÌ C·Î ¾²¿©Áø ÇÁ·Î±×·¥À» ÀÐ°í ºÐ¼®ÇÏ°í ¼öÁ¤ÇÏ°Ô ¸¸µé¾ú´Ù.

±×·¯³ª C ¾ð¾î ÀÚüµµ ¼º°øÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ¿ä¼Ò¸¦ (´ç¿¬È÷!) °®°í ÀÖ´Ù. CÀÇ ÀåÁ¡À» ÇѸ¶µð·Î ¾ê±âÇÏÀÚ¸é `C´Â ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ ¾ð¾î'¶ó´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Ç¥ÇöÀº µ¶ÀÚ¿¡°Ô ÀÌ»óÇÏ°Ô µé¸±Áö ¸ð¸¥´Ù. ``¾Æ´Ï, ÇÁ·Î±×·¡¹Ö ¾ð¾î¶ó´Â °ÍÀÌ ±×·³ ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °ÍÀÌÁö Á¤Ä¡°¡¸¦ À§ÇÑ °Å¾ß? À¢ ´ç¿¬ÇÑ ¼Ò¸®!''¶ó°í. Á» ´õ Á¤È®ÇÏ°Ô Ç¥ÇöÇÏÀÚ¸é ``C´Â ½ÇÁ¦·Î ÇÑÁÙ ÇÑÁÙ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â Àü¹® ÇÁ·Î±×·¡¸ÓÀÇ ÆíÀǸ¦ À§ÇÑ °ÍÀÌÁö ÇÁ·Î±×·¡¹Ö ¾ð¾î³ª ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» ÀÌ·ÐÀûÀ¸·Î ¿¬±¸ÇÏ´Â »ç¶÷ ȤÀº óÀ½ ÇÁ·Î±×·¡¹Ö ±³À°À» ¹Þ´Â Ãʺ¸ÀÚ¸¦ À§ÇÑ ¾ð¾î°¡ ¾Æ´Ï¶ó''´Â °ÍÀÌ´Ù.

´Ù¸¥ °í±Þ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í´Â ´Þ¸® C´Â ÇÁ·Î±×·¡¸Ó°¡ ±× ¾ð¾î¸¦ »ç¿ëÇÏ´Â µ¥ À־ °ÅÀÇ Á¦ÇÑÀÌ ¾ø´Ù. Çü½ÄÀûÀÎ ºÐ·ù¿¡¼­´Â °í±Þ ¾ð¾î·Î ±¸ºÐµÇÁö¸¸ C¿¡´Â Çϵå¿þ¾î¸¦ Á÷Á¢ È¿°úÀûÀ¸·Î Á¦¾îÇÒ ¼ö ÀÖ´Â ±â´ÉÀÌ ÃæºÐÈ÷ ±¸ºñµÇ¾î ÀÖ¾î, ½Ã½ºÆÀ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Â °æ¿ì¿¡µµ Á¤¸» ¾î¼Àºí¸®¾î·Î ÀÛ¼ºÇÒ Çʿ䰡 Àý½ÇÇÑ µå¹® »óȲÀÌ ¾Æ´Ï¶ó¸é C¸¸À¸·Îµµ ÃæºÐÇÑ °æ¿ì°¡ ´ëºÎºÐÀÌ´Ù. º§ ¿¬±¸¼Ò¿¡ µû¸£¸é Ãʱâ À¯´Ð½ºÀÇ ½Ã½ºÆÀ Àüü Äڵ尡 C ¾ð¾î·Î 13,000ÁÙÀ̾ú´Âµ¥ ±×Áß ´ÜÁö 800ÁÙ¸¸ÀÌ ¾î¼Àºí¸®¾î¿´´Ù°í ÇÑ´Ù. ±×·¡¼­ C´Â ±â´É¸é¿¡¼­´Â ÀÏ¹Ý °í±Þ ¾ð¾î¿Í ¾î¼Àºí¸®¾îÀÇ °£°ÝÀ» ¸Þ²Ù´Â Áß°£ÀûÀÎ ¼º°ÝÀ» °®°í ÀÖÀ¸¸ç µû¶ó¼­ Æ÷ÅÍºí ¾î¼Àºí¸®¾î·Î ºÒ¸®±âµµ ÇÑ´Ù. (¾î¼Àºí¸®¾îÀûÀÎ ±â´ÉÀ» Çϸ鼭µµ C ÄÄÆÄÀÏ·¯¸¸ ±¸ºñµÇ¾î ÀÖÀ¸¸é »óÀÌÇÑ Çϵå¿þ¾î·Î À̽ÄÀÌ ¿ëÀÌÇÏ´Ù´Â ¶æÀÌ´Ù.)

¶Ç C´Â ÀÚ·áÇüÀÌ °­ÇÏ°Ô Á¤ÀǵǾî ÀÖ´Â(strongly-typed) ¾ð¾î°¡ ¾Æ´Ï¶ó´Â ¸é¿¡¼­µµ ÇÁ·Î±×·¡¸Ó¿¡°Ô Á¦ÇÑÀÌ ¾ø´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù. PL/Ió·³ ¸¶±¸ÀâÀÌ·Î ¼­·Î ÇüÀÌ ´Ù¸¥ ÀÚ·áµéÀÌ º¯È¯µÇ´Â °ÍÀº ¾Æ´ÏÁö¸¸ PascalÀ̳ª ALGOL68 ȤÀº Adaó·³ ÇüÀÇ °Ë»ç°¡ ¾ö°ÝÇÏÁö´Â ¾Ê´Ù. ¹°·Ð ÀÌ·¯ÇÑ Ãø¸éÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î³ª ¼ÒÇÁÆ®¿þ¾î °øÇÐÀÇ ÀÌ·ÐÀûÀÎ ÇÐÀÚ ÀÔÀå¿¡¼­ º¸¸é Å« ¹®Á¦À̰í, ºÎÁÖÀÇÇÏ°Ô »ç¿ëµÈ´Ù¸é ½Å·Ú¼ºÀÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϴµ¥ À־ ºÎÁ¤ÀûÀÎ ¿ä¼Ò·Î ÀÛ¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÓÀº ºÐ¸íÇÏ´Ù. ±×·¡¼­ ``C°¡ ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ ¾ð¾î''¶ó°í ¸»ÇÒ ¶§ ±× `ÇÁ·Î±×·¡¸Ó'´Â `Àü¹® ÇÁ·Î±×·¡¸Ó'¸¦ ¸»ÇÑ´Ù°í ÇØ¾ß ÇÒ °ÍÀÌ´Ù. (À¯´Ð½º¿¡¼­´Â ÀÌ·¯ÇÑ Ãø¸éÀ» °í·ÁÇÏ¿© °­ÇÑ Çü °Ë»ç¸¦ ¼öÇàÇÏ´Â lint¶ó´Â ÄÄÆÄÀϸµ ÇÁ·Î±×·¥À» Á¦°øÇϰí ÀÖ´Ù.)

ÀÌ·ÐÀûÀÎ Ãø¸é¿¡¼­´Â ¹®Á¦ÀÇ ¼ÒÁö°¡ ¸¹À¸³ª ´ÜÁö Àü¹® ÇÁ·Î±×·¡¸ÓÀÇ ÀÛ¾÷ ÆíÀǸ¦ À§ÇÑ C ¾ð¾îÀÇ Æ¯Â¡À¸·Î´Â À̿ܿ¡µµ goto »ç¿ëÀÇ Çã¿ë(¹°·Ð À̰ÍÀº °ÅÀÇ ¸ðµç °í±Þ ¾ð¾îµéµµ ±ÇÀåÇÏÁö´Â ¾ÊÁö¸¸ Çã¿ëÇϴϱî C °íÀ¯ÀÇ Æ¯Â¡À̶ó°í ¸»ÇÒ ¼ö´Â ¾ø´Ù), Æ÷ÀÎÅÍ(pointer)ÀÇ ¸¹Àº »ç¿ë, ¾Õ¿¡¼­ ¾ð±ÞÇÑ °Í°ú °ü·ÃÇÏ¿© ÀÚµ¿ÀûÀÎ Çü º¯È¯(type conversion), °°Àº Àǹ̸¦ Ç¥ÇöÇϴµ¥ À־ ¿©·¯°¡Áö ´Ù¸¥ Ç¥ÇöÀÌ °¡´ÉÇÑ Á¡, Áö³ªÄ¡°Ô(!) °£°áÇÑ Ãà¾àµÈ ¹®ÀåÀ» ¾µ ¼ö ÀÖ°Ô ÇÏ´Â Á¡, Çü ¼±¾ðÀÌ °£·«Çϱâ´Â ÇÏÁö¸¸ ¹Ý¸é¿¡ ¾Ë¾Æº¸±â°¡ ±ØÈ÷ ¾î·Á¿î Á¡ µîÀ» µé ¼ö ÀÖ´Ù. ÀÌ ¸ðµç °ÍµéÀÌ C ¾ð¾îÀÇ °­Á¡À» ÀÌ·ç´Â ¿ä¼ÒµéÀ̸鼭 µ¿½Ã¿¡ °³¹ß °æÇèÀÌ ÀûÀº ÀÏ¹Ý »ç¿ëÀڵ鿡°Ô´Â ºÎ´ãÀ¸·Î ÀÛ¿ëÇÑ´Ù.


7. ÇØÄ¿¿Í C

¾Õ Àý¿¡¼­ ¾ê±âÇÑ C ¾ð¾îÀÇ Æ¯Â¡¿¡ ÀÇÇØ C¸¦ ±ÔÁ¤Çϸé ÀüÇüÀûÀÎ `ÇØÄ¿(hacker)¸¦ À§ÇÑ ¾ð¾î'¶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù. ¿©±â¼­ ¸»ÇÏ´Â ÇØÄ¿¶õ º¸Åë ¸Å½ºÄÄ¿¡¼­ ´Ù·ç´Â ³ª»Û ¶æ¿¡¼­ÀÇ ÇØÄ¿°¡ ¾Æ´Ï¶ó ÄÄÇ»ÅÍ¿¡ ´ëÇØ Àß ¾Ë°í, ÇÁ·Î±×·¡¹ÖÀ» Áñ±â°í ¶Ç ±â°¡ ¸·È÷°Ô Àß Çϸç, ±×·¡¼­ ÀڱⰡ ¸¸µç Àç¹ÌÀÖ´Â ÇÁ·Î±×·¥¿¡ ½º½º·Î ±â»µÇϰí Áñ°Å¿öÇÏ´Â Á¶±ÝÀº ¼ø¼öÇÑ (ÇÁ·Î ȤÀº ¾Æ¸¶Ãò¾îÀÇ) ÇÁ·Î±×·¡¸Ó¸¦ ¸»ÇÑ´Ù.

±×·¡¼­ C ¾ð¾îÀÇ ÀÌ·¯ÇÑ Á¡À» ¹Ý¿µÇÑ, Àü¼¼°èÀÇ C ÇÁ·Î±×·¡¸ÓµéÀ» ´ë»óÀ¸·Î ÇÑ ÇÁ·Î±×·¥ °æÁø ´ëȸ°¡ ÀÖ´Ù. ´ëȸÀÇ À̸§ÀÌ Àç¹ÌÀִµ¥ ¿ø¸íÀº IOCCC(The International Obfuscated C Code Contest)ÀÌ´Ù. ¿ì¸®¸»·Î ¹ø¿ªÇϸé `±¹Á¦ È¥µ· C ÇÁ·Î±×·¥ °æÁø ´ëȸ' Âë µÉ±î? 1984³âºÎÅÍ ¸Å³â °³Ãֵǰí Àִµ¥ ÇǶó¹Ìµå(Pyramid) ÄÄÇ»ÅÍ»çÀÇ ·£´ø ĿƮ ³î(Landon Curt Noll)°ú ¼± ¸¶ÀÌÅ©·Î½Ã½ºÆÀÁî(Sun Microsystems)»çÀÇ ·¡¸® ¹è½ä(Larry Bassel)ÀÌ Ã¢¼³ÇÏ¿© ½ÃÀÛµÈ ´ëȸÀÌ´Ù. À̸§ÀÌ ¾Ï½ÃÇÏ´Ù½ÃÇÇ ÀÌ ´ëȸ¿¡ Á¦ÃâµÇ´Â ÇÁ·Î±×·¥µéÀº °¡µ¶¼º(readability)ÀÌ ³ôÀº Çб³¿¡¼­ ¹è¿ì´Â `ÁÁÀº ÇÁ·Î±×·¥'°ú´Â °Å¸®°¡ ¸Õ, ¹«Ã´ Àбâ´Â ¾î·ÆÁö¸¸ ´ë½Å ¸¹Àº ÀϵéÀ» C ¹®Àå Çϳª·Î ó¸®ÇÏ´Â °ÍÀ̶óµçÁö, °£´ÜÈ÷ ó¸®ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ¾î·Æ°Ô ÇØ³»°Ô ÇÁ·Î±×·¥À» Â¥¼­ ¹» ÇÏ´Â ÇÁ·Î±×·¥ÀÎÁö ¸ð¸£°Ô ÇÏ´Â µîÀÇ ±â±â¹¦¹¦ÇÑ °Íµé·Î °¡µæÇÏ´Ù.

C°¡ ¾Æ´Ñ ´Ù¸¥ ¾ð¾î·Î ÀÌ·¯ÇÑ ´ëȸ°¡ ¼º¸³µÉ ¼ö ÀÖÀ» Áö´Â ±ØÈ÷ Àǹ®½º·´´Ù. Âü°í·Î ¾Æ·¡¿¡ 1990³âµµ ´ëȸ¿¡¼­ `ÃÖ°íÀÇ ÂªÀº ÇÁ·Î±×·¥(Best Small Program)' »óÀ» ¹ÞÀº ¹Ù·çÄ¡ ´Ï½ë¹Ù¿ò(Baruch Nissenbaum)ÀÇ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº C ¹®Àå Çϳª·Î ±¸¼ºµÇ¾î ÀÖ°í ÇÏ´Â ÀÏÀº À¯¸íÇÑ N-queen ¹®Á¦¸¦ Ǫ´Â °ÍÀÌ´Ù. (ÀμâÀÇ ÆíÀǸ¦ À§Çؼ­ ÇÑÁÙÀÎ for ¹®Àå Çϳª¸¦ ¿©·¯ ÁÙ·Î Âɰ³¾ú´Ù.) ¾Æ·¡ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑ µÚ ´ÙÀ½°ú °°ÀÌ ¼öÇà½Ã۸é ÀԷ°ª Å©±âÀÇ ¼­¾ç Àå±âÆÇ¿¡¼­ÀÇ N-queen ¹®Á¦ÀÇ ÇØ°¡ È­¸é¿¡ ³ªÅ¸³¯ °ÍÀÌ´Ù.

% echo 4 | a.out


v,i,j,k,l,s,a[99];
main()
{
    for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i],k=i=s*k&&++a[--i]);
}

8. ¸Î´Â ¸»

°³Àοë ÄÄÇ»ÅÍ ºÕÀÌ ÀÏ´ø 70³â´ë¿¡ À¯´Ð½º°¡ ÀϹݿ¡ °ø°³µÇÀÚ À¯»çÇü ¹× ÆÄ»ý ¿î¿µ üÁ¦µéÀÌ ¿ìÈÄÁ×¼ø °ÝÀ¸·Î ¼Ò°³µÆÁö¸¸ 80³â´ë ¸»¿¡´Â ÇѶ§ ±× ¼ºÀå¼¼°¡ ÁÖÃã°Å·È´Ù. ±×·¯³ª ¹Ì±¹ ¿¬¹æ Á¤ºÎ°¡ À̸¦ ÄÄÇ»ÅÍ ½Ã½ºÆÀ ±¸¸Å ±Ô°ÝÀÇ Ç¥ÁØ Áö¿ø »çÇ×À¸·Î ÁöÁ¤Çϰí ÇÑÆí ¿÷½ºÅ×ÀÌ¼Ç ºÐ¾ßÀÇ Àý´ëÀûÀÎ ¼º°øÀ» ¹ÙÅÁÀ¸·Î Áö±ÝÀº IBMÀ» ºñ·ÔÇÑ À¯¼ö ¾÷üµéÀÌ ÀÌ ºÐ¾ß¿¡ º»°Ý Âü¿©Çϰí ÀÖ¾î 90³â´ë´Â À¯´Ð½ºÀÇ º»¹«´ë°¡ µÉ Àü¸ÁÀÌ´Ù.

Àü¼¼°èÀÇ ¿î¿µ üÁ¦¸¦ ÅëÀϽÃŰ°Ú´Ù´Â ¾ß½ÉÀ» ǰ°í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç°¡ °³¹ßÇϰí ÀÖ´Â À©µµ¿ìÁî(Windows) NT(New Technology)°¡ ÃÖ±Ù Â÷¼¼´ë ¿î¿µ üÁ¦ÀÇ À¯·ÂÇÑ È帷ΠºÎ»óÇϸ鼭 90³â´ë À¯´Ð½ºÀÇ ÃÖ´ë °æÀïÀÚ·Î Àνĵǰí ÀÖÀ¸³ª, PC´Â ¸ô¶óµµ ¿÷½ºÅ×À̼ǿ¡¼­ ¼öÆÛÄÄÇ»ÅͱîÁöÀÇ Ç÷§Æû¿¡¼­´Â À¯´Ð½º°¡ °­¼¼¸¦ º¸À̸®¶ó°í ¿¹»óµÈ´Ù. ÃÖ±Ù¿¡ UI(UNIX International)ÀÇ À§Å¹À» ¹Þ¾Æ¼­ ¼öÇàµÈ Â÷¼¼´ë ¿î¿µ üÁ¦ È帵é(À¯´Ð½º SVR4¿Í À©µµ¿ìÁî NT ±×¸®°í OS/2 2.0)ÀÇ ºñ±³ ¿¬±¸¿¡¼­µµ ±×·¯ÇÑ Á¡ÀÌ ºÐ¸íÈ÷ µå·¯³µ´Ù. ±× °á°ú¿¡ µû¸£¸é Çϵå¿þ¾î Áö¿ø, ³×Æ®¿öÅ© Áö¿ø, ÀÀ¿ë ÇÁ·Î±×·¥ Áö¿ø, ±â´É ºñ±³, °³¹æ ½Ã½ºÆÀ, ±Ô°Ý Áö¿ø µîÀÇ °ÅÀÇ ¸ðµç ºÐ¾ß¿¡¼­ À¯´Ð½º°¡ ºñ±³ ¿ìÀ§¸¦ Áö´Ï°í ÀÖ´Ù°í ÆÇ´ÜµÇ¾ú´Ù. À©µµ¿ìÁî NT´Â ¸¶Å°ÆÃ°ú ¼¼ÀÏÁî ºÎ¹®¿¡¼­¸¸ À¯´Ð½º¸¦ ¾ÕÁú·¶´Ù.

À¯´Ð½º´Â ÀÌÁ¦ »ó¾÷Àû ÀÀ¿ëÀ¸·Îµµ ±× Ȱ¿ëÆøÀ» ³ÐÇô°¡°í ÀÖ´Ù. °¢ ½ÃÀå Á¶»ç ±â°üµéÀº À¯´Ð½º°¡ »ó¿ë ½ÃÀå ÁøÃâ¿¡ µû¸¥ Á¦¾àµéÀ» ±Øº¹ÇÒ °æ¿ì ½ÃÀå ¼ºÀå·üÀÌ 1990³â´ë ÃÊÀÇ Àüü ½Ã½ºÆÀ ¼ºÀå·üÀ» 5% ÀÌ»ó »óȸÇÒ °ÍÀ¸·Î ¿¹»óÇϰí ÀÖ´Ù.

¾÷¹«¿ë ¼ÒÇÁÆ®¿þ¾îÀÇ ´Ù¾çÈ­, ÄÚº¼(COBOL)À» C·Î ´ëüÇÏ´Â µ¥ µû¸¥ Ãæ°ÝÀÇ ±Ø¼ÒÈ­, °³¹ß ¾÷¹« ¼öÇà½ÃÀÇ º¹À⼺ Å»ÇÇ, º¸¾È»óÀÇ °áÁ¡ º¸¿Ï, ¿Â¶óÀÎ ½Ç½Ã°£ ó¸® ±â´ÉÀÇ °­È­ ¹× ºñ»ó ¾ÈÀü ±â´ÉÀÇ º¸¿Ï µîÀÌ À¯´Ð½º°¡ »ó¿ëÀ¸·Î ¼º°øÇϱâ À§ÇØ ±Øº¹ÇØ¾ß ÇÒ °úÁ¦ÀÌ´Ù.

ÀÌ¿Í °°Àº ±àÁ¤ÀûÀÎ ½ÃÀå ¿¹Ãø°ú ÇÔ²² AT&TÀÇ UI(UNIX International)¸¦ Áß½ÉÀ¸·Î ÇÏ´Â Áý´Ü°ú IBM µî ´Ù¼ö ¾÷üµéÀÌ Âü¿©Çϰí ÀÖ´Â OSF(Open Software Foundation)´Â ¾ç´ë ¼¼·ÂÀ» Çü¼º, 90³â´ë À¯´Ð½º ½ÃÀåÀÇ ÁÖµµ±Ç ÀïÅ»À» À§ÇÑ Ä¡¿­ÇÑ °¢ÃàÀüÀ» ¹úÀ̰í ÀÖ´Ù.

¶ÇÇÑ À¯´Ð½ºÀÇ ÀÀ¿ë ºÐ¾ß°¡ È®´ëµÇ°í ÀÌ¿¡ ´ëÇÑ È£ÀÀÀÌ ¼¼°èÀûÀ¸·Î ³ô¾ÆÁü¿¡ µû¶ó Ç¥ÁØ ¼³Á¤ÀÇ Çʿ伺ÀÌ ´ëµÎµÅ ¾÷°è´Â ¹°·Ð ±¹Á¦ ±â°üµéµµ °¢Á¾ ±Ô°Ý°ú Ç¥ÁØÀ» Á¦Á¤ÇÏ´Â µ¥ Àü·ÂÀ» ½ñ°í ÀÖ´Ù. ¿©±â¿¡¼­ °ü½ÉÀ» ²ô´Â °ÍÀº ÀÚ»ç °íÀ¯ÀÇ ¿î¿µ üÁ¦¸¦ °®°í ÀÖÁö ¾ÊÀº ±º¼Ò ¾÷üµé°ú À¯·´, ÀϺ»ÀÇ ¾÷üµéµµ Ç¥ÁØÈ­¿¡ Àû±Ø Âü¿©Çϰí ÀÖ´Â Á¡ÀÌ´Ù. ÀÌ´Â 80³â´ë¸¦ dz¹ÌÇÏ´ø PC³ª ¹Ì´ÏÄÄÇ»ÅÍ µî°ú ¸¶Âù°¡Áö·Î À¯´Ð½º°¡ 90³â´ë¸¦ ÁÖµµÇØ ³ª°¥ »ê¾÷ Ç¥ÁØ ½Ã½ºÆÀÀ¸·Î ÀÚ¸®¸¦ ±»È÷´Â ÀüÁ¶·Î º¸ÀδÙ.

ÇÑÆí À¯´Ð½ºÀÇ ±¸Çö ¾ð¾îÀ̸鼭 À¯´Ð½º »ç¿ë ȯ°æ°ú °¡Àå ±ä¹ÐÇÏ°Ô °áÇյǾî ÀÖ´Â C ¾ð¾î´Â À¯´Ð½ºÀÇ ¼ºÀå°ú ±Ë¸¦ °°ÀÌ Çϸ鼭 »ç¿ëÀÚ ±×·ìÀÇ ¹üÀ§¸¦ °è¼Ó ³ÐÇô °¥ °ÍÀ¸·Î ¿¹»óµÈ´Ù. ƯÈ÷ Áö±Ýµµ ±×·¸Áö¸¸ ½Ã½ºÆÀ ¼ÒÇÁÆ®¿þ¾î ±¸Çö ¾ð¾î ºÐ¾ß¿¡¼­´Â Àý´ëÀûÀÎ ¿ìÀ§¸¦ ´õ¿í °­È­½Ãų °ÍÀ¸·Î º¸ÀδÙ.


Âü°í ¹®Çå

  1. °í°Ç, UNIX ¿î¿µ üÁ¦ ½Ç½À, Á¤ÀÍ»ç, 1992.
  2. ACM Press, ACM Turing Award Lectures: The First Twenty Years, ACM Press Anthology Series, 1987.
  3. M.J. Bach, The Design of the UNIX Operating System, Prentice-Hall, 1986.
  4. S.R. Bourne, The UNIX System, Addison Wesley, 1982.
  5. H.M. Deitel, An Introduction to Operating Systems, Addison Wesley, 1983.
  6. M.R.M. Dunsmuir and G.J. Davies, Programming the UNIX System, John Wiley and Sons, 1985.
  7. B.W. Kernighan and D.M. Ritchie, The C Programming Language, Prentice-Hall, 1978.
  8. J.E. Lapin, Portable C and UNIX System Programming, Prentice-Hall, 1987.
  9. D.M. Ritchie and K. Thompson, ``The UNIX Time-Sharing System,'' Communications of the ACM, Vol. 17, No. 7, pp. 365-375, July 1974.
  10. H. Schildt, Advanced C, McGraw-Hill, 1986.
  11. A. Silberschatz, J. Peterson, and P. Galvin, Operating System Concepts, Addison Wesley, 1991.
  12. R. Thomas and J. Yates, A User Guide to the UNIX System, McGraw-Hill, 1982.
  13. M. Waite, S. Prata, and D. Martin, C Primer Plus, Howard W. Sams & Co., 1984.


    ´Ù½Ã ±èµµÇüÀÇ È¨ ÆäÀÌÁö·Î