KAIST Àü»êÇкΠ·ù¼®¿µ ±³¼ö ¿¬±¸ÆÀ(ÇÁ·Î±×·¡¹Ö ¾ð¾î ¿¬±¸½Ç)ÀÌ C¾ð¾îÀÇ À¯´Ï¾ð(union)À» ·¯½ºÆ®ÀÇ Å±׵å À¯´Ï¾ðÀ¸·Î º¯È¯ÇÏ´Â ±â¼úÀ» ¼¼°è ÃÖÃÊ·Î °³¹ßÇß´Ù.
À¯´Ï¾ðÀº ¿©·¯ Á¾·ùÀÇ µ¥ÀÌÅ͸¦ °°Àº °ø°£¿¡ º¸°üÇØ ¸Þ¸ð¸® È¿À²À» ³ôÀÌ´Â C¾ð¾îÀÇ ÇÙ½É ±â´ÉÀÌ´Ù. ÇÏÁö¸¸ º¸°üµÈ µ¥ÀÌÅÍÀÇ Á¾·ù°¡ ±¸ºÐµÇÁö ¾Ê¾Æ ¸Þ¸ð¸® ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ´ÜÁ¡À» °®´Â´Ù.
ÀÌ´Â ¸Þ¸ð¸® ÇÒ´ç ¹× °ü¸® µî¿¡ Ä¡¸íÀû ¹®Á¦·Î ²ÅÈ÷¸ç, ¹Ì±¹ ¹é¾Ç°ü°ú ±¹¹æ¼º¿¡¼´Â ÀÌ·¯ÇÑ ¸Þ¸ð¸® ¹®Á¦¸¦ ¸·±â À§ÇØ ·¯½ºÆ® µî ¾ÈÀüÇÑ ¾ð¾î »ç¿ëÀ» Ã˱¸ÇÑ´Ù.
ÀÌ¿Í ´Þ¸® ű׵å À¯´Ï¾ðÀº °°Àº °ø°£¿¡ º¸°ü ÁßÀÎ ¿©·¯ Á¾·ùÀÇ µ¥ÀÌÅÍ¿¡ ű׸¦ ºÙ¿© ±¸ºÐÇØ ¸Þ¸ð¸® ¹®Á¦¸¦ ÀÏÀ¸Å°Áö ¾Ê´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ÄÄÇ»ÅÍ ½Ã½ºÅÛÀ» ÀÛµ¿Çϱâ À§ÇØ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â µ¥ ÁÖ·Î ¾²ÀÌ´Â C¾ð¾î(ÇÁ·Î±×·¡¹Ö ¾ð¾î)¸¦ º¸¿ÏÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ ű׵å À¯´Ï¾ðÀÌ ÁÖ¸ñ¹Þ´Â´Ù.
¿¬±¸ÆÀÀÌ °³¹ßÇÑ º¯È¯ ±â¼úÀº C¾ð¾îÀÇ À¯´Ï¾ð¿¡ Æ¯ÈµÈ »õ·Î¿î ÇÁ·Î±×·¥ ºÐ¼® ±â¹ýÀ¸·Î, ·¯½ºÆ®ÀÇ Å±׵å À¯´Ï¾ðÀ¸·Î ÀÚµ¿ ¹ø¿ªÇÏ´Â ±â´ÉÀ» ÇÑ´Ù.
·¯½ºÆ®´Â 2015³âºÎÅÍ °³¹ßµÈ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Ù. ¿î¿µÃ¼Á¦, À¥ ºê¶ó¿ìÀú °³¹ß µî¿¡ ¾²À̸ç, 2022³â¿¡´Â ¸®´ª½º(Linux) °³¹ß¿¡µµ °ø½Ä »ç¿ëµÇ±â ½ÃÀÛÇß´Ù. C¾ð¾î¿Í ´Þ¸® ÇÁ·Î±×·¥ ½ÇÇà Àü ¸Þ¸ð¸® ¹®Á¦¸¦ ŽÁöÇÏ°í ¿¹¹æÇÒ ¼ö ÀÖ´Â °ÍÀÌ Æ¯Â¡ÀÌ´Ù.
´Ù¸¸ C¾ð¾î¿Í ·¯½ºÆ®ÀÇ °£±ØÀÌ Ä¿ ¼¼°èÀûÀ¸·Îµµ C-·¯½ºÆ® ÄÚµå ¹ø¿ª ±â¼úÀ» ¼º°øÀûÀ¸·Î °³¹ßÇÑ »ç·Ê´Â ±Ø¼Ò¼ö¸ç, ±×³ª¸¶µµ Æ÷ÀÎÅÍ(pointer¡¤µ¥ÀÌÅÍ ÀúÀå À§Ä¡¸¦ Ç¥ÇöÇÏ´Â ±â´É)¸¦ º¯È¯ÇÏ´Â µ¥ ¸Ó¹°°í ÀÖ´Ù.
¹Ý¸é ¿¬±¸ÆÀÀº C¾ð¾îÀÇ ¿©·¯ ÇÙ½É ±â´ÉÀ» º¯È¯ÇÏ´Â ±â¹ýÀ» ¿¬´Þ¾Æ Á¦½ÃÇØ C-·¯½ºÆ® ÄÚµå ¹ø¿ª ±â¼úÀ» ¼±µµÇÏ°í ÀÖ´Ù.
¾Õ¼ ¿¬±¸ÆÀÀº Áö³ÇØ 5¿ù°ú ¿ÃÇØ 6¿ù °¢°¢ CÀÇ ¹ÂÅؽº(mutex¡¤ÇÁ·Î±×·¥ µ¿±âÈ¿¡ ÇÊ¿äÇÑ ±â´É)¿Í Ãâ·Â ÆĶó¹ÌÅÍ(output parameter¡¤°è»ê °á°ú Àü´Þ¿¡ »ç¿ëµÇ´Â ±â´É)¸¦ ·¯½ºÆ®·Î º¯È¯ÇÏ´Â ±â¼úÀ» ¼¼°è ÃÖÃÊ·Î °³¹ßÇØ ÃÖ¿ì¼ö ±¹Á¦ Çмú´ëȸÀÎ ±¹Á¦¼ÒÇÁÆ®¿þ¾î¿£Áö´Ï¾î¸µÇÐȸ(ICSE)¿Í ÇÁ·Î±×·¡¹Ö¾ð¾î¼³°è±¸ÇöÇÐȸ(PLDI)¿¡ ¹ßÇ¥Çß´Ù.
À̹ø ¿¬±¸´Â Çѱ¹¿¬±¸Àç´Ü ¼±µµ¿¬±¸¼¾ÅÍ¿Í Áß°ß¿¬±¸ÀÚÁö¿ø»ç¾÷, Á¤º¸Åë½Å±âȹÆò°¡¿ø(IITP), »ï¼ºÀüÀÚÀÇ Áö¿øÀ» ¹Þ¾Æ ¼öÇàµÆ´Ù.
KAIST Àü»êÇкΠȫÀç¹Î ¼®¹Ú»çÅëÇÕ°úÁ¤ ÇлýÀÌ Á¦1 ÀúÀÚ·Î Âü¿©ÇÑ À̹ø ¿¬±¸ °á°ú´Â ÃÖ¿ì¼ö ±¹Á¦ Çмú´ëȸÀÎ ±¹Á¦ÀÚµ¿¼ÒÇÁÆ®¿þ¾î¿£Áö´Ï¾î¸µÇÐȸ(ASE)¿¡¼µµ äÅõƴÙ.
·ù ±³¼ö´Â ¡°¾ÈÀüÇÑ ¼ÒÇÁÆ®¿þ¾î Á¦ÀÛÀ» ¸ñÇ¥·Î C-·¯½ºÆ® ÄÚµå ¹ø¿ªÀÇ Á߿伺À» ÀÏÂïÀÌ ÆľÇÇÏ°í, °¢Á¾ ÇÁ·Î±×·¡¹Ö ¾ð¾î ±â¹ýÀ» ÄÚµå ¹ø¿ª¿¡ Àû±ØÀûÀ¸·Î µµÀÔÇϱâ À§ÇØ ³ë·ÂÇß´Ù¡±¸ç ¡°¿ÏÀüÇÑ ÀÚµ¿ ¹ø¿ªÀ» À§Çؼ´Â ¿©ÀüÈ÷ Ç®¾î°¡¾ß ÇÒ ³Á¦°¡ ¸¹Àº ¸¸Å, ¾ÕÀ¸·Îµµ ÈÄ¼Ó ¿¬±¸¿¡ Á¤ÁøÇÏ°Ú´Ù¡±°í ¸»Çß´Ù.
ÇÑÆí Áö³ 2¿ù ¹é¾Ç°ü¿¡¼´Â C¾ð¾î »ç¿ëÀÇ Áß´ÜÀ» Ã˱¸Çß°í, ¹Ì±¹ ±¹¹æ°íµî¿¬±¸°èȹ±¹(ÀÌÇÏ DARPA)¿¡¼´Â C¾ð¾î·Î ÀÛ¼ºµÈ Äڵ带 ·¯½ºÆ®(Rust)·Î ÀÚµ¿ ¹ø¿ªÇÏ´Â ±â¼úÀ» °³¹ßÇÏ´Â ¿¬±¸ °úÁ¦¸¦ ¹ßÇ¥Çß´Ù.
DARPA´Â ÀÌ °úÁ¦¸¦ Á¦¾ÈÇϸç C¾ð¾îÀÇ ¸Þ¸ð¸® ¹®Á¦¸¦ ¸·±â À§ÇØ ·¯½ºÆ® µî ¾ÈÀüÇÑ ¾ð¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù°í °Á¶Çß´Ù. ¹Ì±¹ ÇöÁö¿¡¼µµ ¡®C-·¯½ºÆ®¡¯ º¯È¯ ±â¼úÀ» ÁÖ¸ñÇÏ°í ÀÖÀ½À» ¹æÁõÇÏ´Â ´ë¸ñÀÌ´Ù.
´ëÀü=Á¤ÀÏ¿õ ±âÀÚ jiw3061@asiae.co.kr <¨ÏÅõÀÚ°¡¸¦ À§ÇÑ °æÁ¦ÄÜÅÙÃ÷ Ç÷§Æû, ¾Æ½Ã¾Æ°æÁ¦ ¹«´ÜÀüÀç ¹èÆ÷±ÝÁö> |