OS

Go back

OS Review
Device Driver
NS Tools

Home
Papers
Daily Link


To Main
6. ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µ (CPU Scheduling)

¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀº ¸ÖƼÇÁ·Î±×·¥À» Áö¿øÇÏ´Â ¿À¿¡½ºÀÇ ±Ùº»°úµµ °°½À´Ï´Ù. ¸ÖƼÇÁ·Î±×·¡¹ÖÀÇ ¸ñÀûÀº Àü¿¡µµ ¾ð±ÞÇßµí ¾¾ÇÇÀ¯ÀÇ »ç¿ë·üÀ» ±Ø´ëÈ­ ½ÃÅ´À¸·Î½á ¾ðÁ¦³ª ½Ã½ºÅÛ ³»ºÎ¿¡¼­ ÇÁ·Î¼¼½ºµéÀÌ È°°³¸¦ Ä¡µµ·Ï ¸¸µé¾îÁÖ´Â °ÍÀÌÁÒ. ½ºÄÉÁÙ¸µÀº ¿À¿¡½ºÀÇ °¡Àå ±âÃÊÀûÀÎ ±â´ÉÀ̱⵵ Çѵ¥, ¾þÄ£µ¥ µ¤Ä£°ÝÀ¸·Î ±×Áß ¾¾ÇÇÀ¯ ´Â ½Ã½ºÅÛÀÇ °¡Àå ±âÃÊÀûÀÎ ¸®¼Ò½ºÀ̱⶧¹®¿¡ ¾ÕÀ¸·Î ´Ù·ê ÁÖÁ¦´Â ¿À¿¡½ºÀÇ ±âÃÊ¿¡ À־ ¼­ ¿ÕÁß¿äÇÏ´Ù´Â »ç½ÇÀ» ´À³¥¼ö°¡ ÀÖÀ¸½Ã°Î½À´Ï´Ù.

¸ÕÀú ¸ðµç ÀÏ¿¡´Â ¼øȯÀÌ ÀÖµíÀÌ ÇÁ·Î¼¼½º°¡ 󸮵Ǵ °úÁ¤À» °¡¸¸ÀÌ ÁöÄѺ¸¸é ¶ÇÇÑ ÀÏÁ¾ÀÇ ½ÎÀÌŬÀ» °¡Áö°í ÀÖÀ½À» ¾Ë°ÔµÇÁö¿ä. ¹Ù·Î ¾¾ÇÇÀ¯ ¹ö½ºÆ®(CPU burst)¿Í I/O ¹ö½ºÆ®(I/O burst)°¡ ÀÌ·ç´Â »çÀÌŬÀÔ´Ï´Ù. ÀÌ°ÍÀ» ¾¾ÇÇÀ¯ ÀÔÀå¿¡¼­ º¸¸é ±×¸² 5.1°ú °°ÀÌ ³ªÅ¸³¾¼ö Àִµ¥(¾ÆÁ÷µµ Ã¥ ¾È»ò³Ä? µ¶ÇÑ°Í,,,) ¸ÕÀú óÀ½ ÇÁ·Î¼¼½º°¡ ½ÇÇàÀÌ µÇ±â À§ÇÏ¿© ÀÏ·ÃÀÇ ÀνºÆ®·°¼ÇÀ» ¾¾ÇÇÀ¯¿¡¼­ ½ÇÇà(À̶§¸¦ ¾¾ÇÇÀ¯ ¹ö½ºÆ®¶ó°í ÇØ¿ä)Çϴµ¥ ¸î°¡Áö ÀνºÆ®·°¼ÇÀ» ¼öÇàÇÏ´Ù°¡ ¹®µæ I/O°¡ ºÒ°¡ÇÇÇÏ°Ô ÇÊ¿äÇÏ°Ô µË´Ï´Ù. ±×¶§ ÀϾ´Â °ÍÀÌ I/O ÀÛ¾÷ÀÌÁÒ(À̶§°¡ I/O ¹ö½ºÆ®·Î½á ÇÁ·Î¼¼½º¿¡°Ô Á¡·É´çÇÑ ¾¾ÇÇÀ¯ ÀÔÀå¿¡¼­´Â I/O°¡ ³¡³ª±â¸¦ ±â´Ù¸®°í ÀÖ¾î¿ä). ÀÌ·¸°Ô ÇÁ·Î¼¼½º°¡ ¹º°¡¸¦ ÇÒ¶§¿¡´Â µÎ ¹ö½ºÆ®°¡ »çÀÌŬÀ» ÀÌ·ç¸é¼­ ÀϾ´Ï´Ù. ¾¾ÇÇÀ¯ ¹ö½ºÆ®ÀÇ Áö¼Ó½Ã°£À» ³ª¸§´ë·Î ¹æ´ëÇÑ ¾çÀ¸·Î À纻°á°ú ÇÁ·Î¼¼½ºÀÇ Á¾·ù¿¡ µû¶ó ±× Â÷ÀÌ°¡ ²Ï ³²¿¡µµ ºÒ±¸ÇÏ°í ±×¸² 5.2¿Í °°Àº ±×·¡ÇÁ¸¦ ¾òÀ»¼ö ÀÖ¾ú´Ù°í ÇÕ´Ï´Ù. ±×¸² 5.2´Â 0~4¹Ð¸®ÃÊÁ¤µµ Áö¼ÓµÇ´Â ¾¾ÇÇÀ¯ ¹ö½ºÆ®µéÀÌ °¡Àå ¸¹ÀÌ ÀϾÀ½À» ¾Ë·ÁÁÖ´Â ±×·¡ÇÁÀε¥, ¾¾ÇÇÀ¯ ¹ö½ºÆ®°¡ ³¡³ª´Â Áï½Ã, I/O ¹ö½ºÆ®µ¿¾ÈÀº ÇØ´ç ÇÁ·Î¼¼½º¸¦ ÂϾƳ»°í, ¾¾ÇÇÀ¯ ¹ö½ºÆ®¸£ ¿ä±¸ÇÏ´Â ¶Ç´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ¾ó·· ¾¾ÇÇÀ¯¿¡ ºÒ·¯µéÀÌ´Â ±âÁØÀÌ ¾à 1~2¹Ð¸®ÃÊÁ¤µµ°¡ µÇ¾ßÇÏ´Â ÀÌÀ¯¸¦ ±×·¡ÇÁ´Â ¾Ï½ÃÇÏ°íÇÏ°í ÀÖÁö¿ä. ¿Ö ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀÌ ¼ôÅÒ ½ºÄÉÁÙ¸µÀ̶ó°í ºÒ¸®´ÂÁö¿¡ ´ëÇÑ ÀÇ¹Ì ¶ÇÇÑ ¾Ë¼ö ÀÖ°ÎÁÒ? ÀÌ·¯ÇÑ ÀÏÁ¾ÀÇ ÆÐÅÏÀ» ÄÄÇ»ÅÍ ³»ºÎ¿¡¼­´Â Á¾Á¾ ã¾Æº¼¼ö Àִµ¥, ÀÌ·¯ÇÑ ÆÐÅÏÀ» ºÐ¼®ÇÏ°í ±× ±ÔÄ¢¼ºÀ» ±Ô¸íÇϰųª È°¿ëÇÏ´Â °Íµµ ÁÁÀº ³í¹®°Å¸®µé °°¾Æ¿ä. ÆÐÅÏÀ» ÀÌ¿ëÇÑ ÁÁÀº È°¿ë¿¹¸¦ ³ªÁß¿¡ ¸Þ¸ð¸®¿¡¼­ ´Ù½Ã ¾ð±ÞÇÏ°Ú½À´Ï´Ù.

º¸Åë ÇÁ·Î±×·¥À» À§ÀÇ ±âÁØ¿¡¼­ ¹Ù¶óº¼¶§¿¡´Â I/O ¹Ù¿îµå(bound)ÇÁ·Î±×·¥, ¶Ç´Â ¾¾ÇÇÀ¯ ¹Ù¿îµå ÇÁ·Î±×·¥À¸·Î ³ª´©´Âµ¥, ÀüÀÚ´Â I/OÀÛ¾÷À» ¸¹ÀÌÇÊ¿ä·ÎÇÏ°í, ÈÄÀÚ´Â ¾¾ÇÇÀ¯³»ºÎ¿¡¼­ÀÇ ÀνºÆ®·°¼Ç ½ÇÇàÀ» ¸¹ÀÌÇÊ¿ä·Î ÇÕ´Ï´Ù. °í·Î ÀüÀÚ´Â Æò±ÕÀûÀ¸·Î ¹«Ã´ ªÀº ¾¾ÇÇÀ¯ ¹ö½ºÆ®¸¦ ³ªÅ¸³»ÁÖ°í, ÈÄÀÚ´Â Æò±ÕÀûÀ¸·Î ±ä ¾¾ÇÇÀ¯ ¹ö½ºÆ®¸¦ ³ªÅ¸³»¹Ç·Î °¢°¢ÀÇ ½Ã½ºÅÛ¿¡´ëÇÑ ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀÌ ¶È°°´Ù°¡´Â ´ç¿¬È÷ ÇǺ¾´Ï´Ù.

ÀÚ, ±×·³ º»°ÝÀûÀ¸·Î ¾¾ÇÇÀ¯ ½ºÄÉÁÙ·¯¸¦ »ìÆ캾½Ã´Ù. ¾¾ÇÇÀ¯°¡ ¾ÆÀ̵é(idle:³Î³Î)ÇÑ »óÅ·ΠÀÖÀ¸¸é ¿À¿¡½º´Â À绡¸® ·¹µðÅ¥¿¡¼­ ½ÇÇàµÉ Áغñ°¡ µÇ¾îÀÖ´Â ÇÁ·Î¼¼½º¸¦ °ñ¶ó¾ß ÇÕ´Ï´Ù. ±×¸®°í ¾¾ÇÇÀ¯¿¡°Ô °í¸¥ ³à¼®À» ¶°¹ÐÁÒ. Àü¿¡ ¾ð±ÞÇϱ⸦ Å¥(queue)¶õ FIFO(First In First Out)ÀÇ ±ÔÄ¢À» µû¸¥´Ù°í ÇßÁö¸¸, ¾ö¹ÐÇÏ°Ô ·¹µðÅ¥´Â ±×³É Æò¹üÇÑ Å¥»Ó¸¸ ¾Æ´Ï¶ó ÇÁ¶óÀÌ¿ÀƼť(prioty queue-Å¥³»ºÎ¿¡ ¿ì¼±¼øÀ§°¡ µû·Î ÀÖ¾î¿ä), Æ®¸®±¸Á¶(tree), ¶Ç´Â Á¤·ÄµÇÁö ¾ÊÀº ¸µÅ©µå¸®½ºÆ®µîÀ¸·Î ¸¸µé±âµµ ÇÕ´Ï´Ù. Å¥³»ºÎÀÇ ·¹ÄÚµåµéÀº ÀϹÝÀûÀ¸·Î PCB(Process Control Block)µéÀÔ´Ï´Ù.

Á¦ÀϸÕÀú ¿©·¯ºÐµéÀÌ ±Í¿¡ ¸øÀÌ ¹ÚÈ÷µµ·Ï µé¾î¿Â ¼±Á¡Çü(preemptive) ½ºÄÉÁÙ¸µÀ» ¾Ë¾Æº¸ÁÒ. ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀÇ ¼±ÅÃÀÌ ÀϾ´Â ¼ø°£Àº ´ÙÀ½ ³×°¡Áö °æ¿ìÀÏ°Ì´Ï´Ù. (Àü¿¡ ÇÁ·Î¼¼½º¿¡°Ô´Â ÃÑ 5°¡Áö »óÅ°¡ Á¸ÀçÇÒ¼ö ÀÖ´Ù°í ÇûÁÒ?)

1. ÇÁ·Î¼¼½º°¡ ½ÇÇà»óÅ¿¡¼­ ´ë±â»óÅ·ΠÀüȯµÉ¶§ 2. ÇÁ·Î¼¼½º°¡ ½ÇÇà»óÅ¿¡¼­ Áغñ»óÅ·ΠÀüȯµÉ¶§ 3. ÇÁ·Î¼¼½º°¡ ´ë±â»óÅ¿¡¼­ Áغñ»óÅ·ΠÀüȯµÉ¶§ 4. ÇÁ·Î¼¼½º°¡ Á¾·áµÉ¶§

À§ÀÇ °æ¿ìÁß 1¹ø°ú 4¹ø¿¡´Â »ç½Ç »õ·Î¿î ÇÁ·Î¼¼½º¸¦ °í¸¥´Â°Í ¿Ü¿¡´Â Ưº°ÇÏ°Ô ½ºÄÉÁÙ¸µÀÌ ÃëÇÒ¼ö ÀÖ´Â ÇàÀ§°¡ ¾ø½À´Ï´Ù. ¹Ù·Î ºñ¼±Á¡ÇüÀ̶õ ¸»ÀÌ ÀÌ¿¡ ÇØ´çµË´Ï´Ù. M$ÀÇ À©µµ¿ìÁî 3.1°ú ¸ÅŲÅä½Ã ¿À¿¡½º°¡ ¿©±â¿¡ ÇØ´çµÈ´Ù°í Çã³×¿ä. ÇãÇã,,,ºñ¼±Á¡Çü ½ºÄÉÁÙ¸µÇÏ¿¡¼­´Â ÇÁ·Î¼¼½º°¡ ¾¾ÇÇÀ¯¸¦ ÀÏ´Ü Á¡À¯ÇÏ°Ô µÇ¸é À̳ðÀÌ µ¶ÇÏ°Ôµµ ´ë±â»óÅ·ΠÀüȯµÇ°Å³ª Á¾·áµÇ±â Àü±îÁö´Â Àý´ë·Î ¾¾ÇÇÀ¯¸¦ ¹°°í ¾È³öÁÖÁÒ. Ç㳪, 2¹ø°ú 3¹ø¿¡¼­µµ ½ºÄÉÁÙ¸µÀÌ °³ÀԵɶ§°¡ ¹Ù·Î ¼±Á¡Çü ½ºÄÉÁÙ¸µÀÔ´Ï´Ù. ¼±·®ÇÑ ÇÁ·Î¼¼½º°¡ 3¹øó·³ ½½½½ ½ÇÇàÀ» ÁغñÇÏ°í Àִµ¥ »ç¾ÇÇÑ ¾û¶×ÇÑ ÇÁ·Î¼¼½º°¡ ³¾¸§~! ¾¾ÇÇÀ¯¸¦ ¼±Á¡Çعö¸®´Â °æ¿ì°¡ ¹ß»ýÇÏÁö¿ä. À¯ÀúÀÔÀå¿¡¼­´Â ¹º°¡ ºü¸¥ ÀÎÅ;׼ÇÀ» ¿ä±¸ÇÏ´Â ÀÛ¾÷À» ¼öÇàÇҽà ¼±Á¡Çü ½ºÄÉÁÙ¸µÀ» ÀÌ¿ëÇÏ¸é ¾îÂÞ±¸¸®~ ºü¸¥°É~À̶ó´Â ´À³¦ÀÌ ±×·¡¼­ µé°Ô µÇÁö¿ä. ¼±Á¡Çü ½ºÄÉÁÙ¸µÀº ¶ÇÇÑ ºñ½Ñ´ñ°¡¸¦ ¿ä±¸ÇÕ´Ï´Ù. Çϵå¿þ¾îÀû(¾¾ÇÇÀ¯ÀÇ µðÀÚÀÎÀÌÁÒ)À¸·Î Áö¿øÀÌ µÇ¾ßÇÔÀº ¹°·ÐÀÌ°í, ´ÙÀ½ÀÇ °æ¿ì¸¦ Çѹø »ý°¢Çغ¾½Ã´Ù.

µÎ°³ÀÇ ÇÁ·Î¼¼½º°¡ ÇÑ°³ÀÇ µ¥ÀÌŸ¸¦ ¼­·Î °øÀ¯ÇÏ°í ÀÖ¾ú´Ù°í °¡Á¤Çغ¸ÁÒ. ÇÑ ÇÁ·Î¼¼½º°¡ ±× µ¥ÀÌÅ͸¦ ÇÑÂü ½Å³ª°Ô ¾÷µ¥ÀÌÆ®ÇÏ°í ÀÖ´Â Áß°£!¿¡ °©Àڱ⠼±Á¡À» ´çÇÕ´Ï´Ù(preempted). À̶§ ¼±Á¡À» (°¡)ÇÑ ¶ÇÇÑ°³ÀÇ ÇÁ·Î¼¼½º°¡ µ¥ÀÌÅ͸¦ ÀÐÀ¸·Á´Â ½Ãµµ¸¦ ÇÒÅ×°í ±× µ¥ÀÌŸ´Â Áö±Ý ÀÏ°ü¼ºÀ» ÀÒ¾î¹ö¸° ¼ø°£À̱⶧¹®¿¡ ¾ÕÀ¸·Î ÆîÃÄÁú ºÒÇàÇÑ »çŸ¦ ±× µÑÀº Àý´ë ´«Ä¡Ã¤Áö ¸øÇÏ´Â ºÒ½ÖÇÑ Á¸Àç°¡ µÇ¾î¹ö¸³´Ï´Ù. ±×·³ °á±¹ ¼±Á¡ÇüÀº ±¸ÇöÀ» ¸øÇϴ°¡ÇÏ¸é ¶Ç ±×°Ô ¾Æ´ÏÁÒ. Çö½ÇÀûÀ¸·Î ¿Ïº®! ÇÏÁö´Â ¸øÇÏÁö¸¸ ²Ï È¿°úÀûÀ¸·Î À̸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ Á¤ÀÇÇÏ°í ÇØ°á¹ý¿¡ ´ëÇÑ Á¦½Ã¸¦ ´ÙÀ½ ÀåºÎÅÍ ´Ù·ê ¿¹Á¤ÀÌ´Ï ±â´ëÇØÁݼî.

¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µ°ú °ü·ÃµÈ ¶ÇÇϳªÀÇ Áß¿äÇÑ ¿ä¼Ò´Â ¹Ù·Î µð½ºÆÐÃÄ(dispatcher)ÀÔ´Ï´Ù. µð½ºÆÐÃÄ´Â ¼ö¹®Àå°úµµ °°ÀÌ ½ºÄÉÁÙ·¯°¡ °ñ¶óÁØ ÇÁ·Î¼¼½º¿¡°Ô Á÷Á¢ ÄÁÆ®·ÑÀ» °Ç³×ÁÖ´Â ¿ªÇÒÀ» ¼öÇàÇϴµ¥ ÀÌ¿¡´Â ÄÁÅؽºÆ® ½ºÀ§Äª, À¯Àú¸ðµå·ÎÀÇ ½ºÀ§Äª, ±×¸®°í ƯÁ¤ ÇÁ·Î±×·¥À» Àç½ÃÀÛÇϱâÀ§ÇØ ¾Ë¸ÂÀº ÁÖ¼Ò°ªÀ¸·Î Á¡ÇÁÇϴµîÀÇ ±â´ÉÀ» Æ÷ÇÔÇÏÁö¿ä. µð½ºÆÐó·Î ÇÏ¿©±Ý µ¹¾Æ°¡´ø ÇÑ ÇÁ·Î¼¼½º¸¦ Á¤Áö½ÃÅ°°í ¶Ç´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ ½ÇÇàÀ» ½ÃÀÛÇϴµ¥¿¡ °É¸®´Â ½Ã°£Àû Â÷À̸¦ ¿ì¸®´Â µð½ºÆÐÄ¡·¹ÀÌÅϽÃ(dispatch latency)¶ó°í ºÎ¸¨´Ï´Ù.

CPU½ºÄÉÁÙ¸µÀÌ Àߵǰí ÀÖ´ÂÁö ¾ÈµÇ°í ÀÖ´ÂÁö¸¦ ÆǺ°ÇÏ·Á¸é ¸î°¡Áö Á¤·®ÀûÀÎ ÃøÁ¤ÀÌ ÇʼöÀûÀÌ°ÚÁÒ? ¿©·¯°¡ÁöÀÇ ÃøÁ¤°¡´ÉÇÑ °ªµéÀÌ ÀÖ°ÚÀ¸³ª, ¸î°¡Áö ´ëÇ¥ÀûÀÎ °ªµéÀ» Á¦½ÃÇغ¸¸é ´ÙÀ½°úµµ °°½À´Ï´Ù. ÀÏÁ¾ÀÇ º¥Ä¡¸¶Å· ±âÁØÀ̶ó°í »ý°¢ÇÏ½Ã¸é µÅ¿ä.

CPU Utilizaetion : ¾¾ÇÇÀ¯°¡ ÀÏÇϴ½ð£/È帥½Ã°£ À¸·Î½á, 0¿¡¼­ 100±îÁöÀÇ %¼öÄ¡·Î ³ªÅ¸³»ÁÝ´Ï´Ù. Çö½ÇÀûÀ¸·Î 40~90Á¤µµ°¡ µÈ´Ù°í Çϴ±º¿ä.

Throughput : ´ÜÀ§ ½Ã°£´ç ó¸®µÈ ÇÁ·Î¼¼½ºÀÇ ¼ö¸¦ ÀǹÌÇÏÁö¿ä. Á¤¸»·Î ±ä ÇÁ·Î¼¼½º´Â ½Ã°£´ç 1ÀÌ µÇ´Â °æ¿ì±îÁö Àִٴ±º¿ä. ªÀº °æ¿ì´Â ÃÊ´ç 10Á¤µµ,,,

Turnaround Time : ÀÌ°ÍÀº ÇÁ·Î¼¼½ºÀÇ ±âÁØ¿¡¼­ ¹Ù¶óº¸´Â ÃøÁ¤°ªÀ¸·Î ÇÑ ÇÁ·Î¼¼½º°¡ µîÀåÇؼ­ ÀÌ°ÍÀÌ ¿ÏÀüÈ÷ ³¡³¯¶§±îÁö °É¸®´Â ½Ã°£À» ÀǹÌÇÕ´Ï´Ù. °á±¹ ÀÌ °ªÀº ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¿¡ ¿Ã·ÁÁö±â±îÁö ±âµÑ¸®´Â ½Ã°£+·¹µðÅ¥¿¡¼­ ¾¾ÇÇÀ¯·Î ÁøÀÔÇϱ⠱îÁö ±âµÑ¸®´Â ½Ã°£+¾¾ÇÇÀ¯¿¡¼­ ½ÇÇàµÇ´Â ½Ã°£+I/O¸¦ ó¸®ÇÏ´Â ½Ã°£ ÀÌ µÇ°ÚÁÒ.

Waiting Time : ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µ ¾Ë°í¸®ÁòÀº ÇÑ ÇÁ·Î¼¼½º°¡ I/O¸¦ ó¸®ÇÏ´Â ½Ã°£À̳ª ¾¾ÇÇÀ¯ ³»¿¡¼­ ½ÇÇàµÇ´Â ½Ã°£µî¿¡´Â ÀüÇô! ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. ´ÜÁö ÇÁ·Î¼¼½º°¡ ·¹µðÅ¥¿¡¼­ ¾ó¸¶³ª ¿À·¡ ±â´Ù¸®´ÂÁö¸¦ °áÁ¤Çϱ⠶§¹®¿¡ ÀÌ °ÍÀº ·¹µðÅ¥¿¡¼­ ±â´Ù¸®´Â ½Ã°£À» ÀǹÌÇÏ°Ô µÇÁö¿ä.

Response Time : ÀÎÅ;×ƼºêÇÑ ½Ç½Ã°£ ½Ã½ºÅÛ¿¡¼­´Â Turnaround Timeº¸´Ù´Â ÀÌ ¼öÄ¡°¡ ¿ÀÈ÷·Á ÁÁÀº º¥Ä¡¸¶Å·ÀÇ ±âÁØÀÌ µË´Ï´Ù. Áï, ÇÑ ÇÁ·Î¼¼½º°¡ »ý¼ºµÇ°í ³ª¼­ ±×°ÍÀÇ Ã¹¹ø° 󸮿¡ ´ëÇÑ ¹ÝÀÀÀÌ ¿À´Âµ¥ °É¸®´Â ½Ã°£À» ÀǹÌÇÏ°Ô µÇÁö¿ä.

À§ÀÇ ±âÁصéÀ» Àߺ¸¸é ÁÁÀº ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀº CPU Utilization°ú ThroughputÀº ±Ø´ëÈ­½ÃÅ°°í ³ª¸ÓÁö´Â ±Ø¼ÒÈ­ ½ÃÅ°´Â ¾Ë°í¸®ÁòÀ̶ó´Â°ÍÀ» °¨ÀâÀ»¼ö ÀÖÀ¸½Ã°ÎÁÒ? ¸î°¡Áö Ãß°¡ÀûÀ¸·Î ºÎ°úµÇ´Â Æз¯¹ÌÅ͵é·Î½á´Â ÀÎÅ;×Ƽºê ½Ã½ºÅÛÀº °¢°¢ÀÇ ¼öÄ¡¸¦ ÃÖ´ëÈ­ ¹× ÃÖ¼ÒÈ­ ½ÃÅ°´Â °Íµµ Áß¿äÇÏÁö¸¸ ´õ¿í Áß¿äÇÑ ¿ä¼Ò·Î½á Åë°èÀûÀ¸·Î À§ÀÇ ¼öÄ¡µéÀÇ ºÐ»êÀÌ ÀÛ¾î¾ß ÇÕ´Ï´Ù. ÃøÁ¤µÈ ÃÖ´ë, ÃÖ¼Ò°ªÀÌ °¢°¢ Å©°í ÀÛÁö¸¸ ±× °ªµéÀÌ ¸Å¹ø ½ÇÇàÇÒ¶§¸¶´Ù ¿Ô´Ù¸® °¬´Ù¸® °Å¸®´Ù°¡´Â Á×µµ ¹äµµ ¾ÈµÈ´Ù´Â ¼Ò¸®ÁÒ.

ÀÚ! ÀÌÁ¨ º»°ÝÀûÀÎ ½ºÄÉÁÙ¸µ ¾Ë°í¸®Áò ¸öü¸¦ »ìÆ캸´Â ¼ø°£ÀÌ ¿Ô±º¿ä. ¿©±â¼­ÀÇ ¾Ë°í¸®ÁòÀº ±×¸® ¾î·Á¿î°Ô Àý´ë ¾Æ´Ï°í, °³³äÀ§ÁÖ·Î °£·«ÇÏ°Ô¸¸ »ìÆ캸´Ï ¸¸Å­ ±äÀåµé ²ô½Ã±æ.

1. First-Come First-Served(FCFS) ½ºÄÉÁÙ¸µ ¸»±×´ë·Î ÀÔ´Ï´Ù. ù¹ø°·Î ·¹µðÅ¥¿¡ µµÂøÇÏ´Â ÇÁ·Î¼¼½º¸¦ ù¹ø°·Î ó¸®Çعö¸®´Â öÀúÇÑ FIFO ±ÔÄ¢À» Àû¿ëÇÑ ¿¹ÀÌÁÒ. ÀÌ°ÍÀº ¼ø¸®¿¡ ¸Â´Â ¿ø¸®¸¦ ¾Ë°í¸®ÁòÈ­ ÇÑ°ÍÀÌ°ÚÀ¸³ª ¾ÈŸ±õ°Ôµµ ÀüÇô È¿°úÀûÀÌÁö¸¦ ¸øÇÕ´Ï´Ù. 3°³ÀÇ ÇÁ·Î¼¼½º°¡ µµÂøÀ» Çß´Ù°í °¡Á¤À» Çغ¸Áö¿ä. À̶§ óÀ½ ½ÃÀÛÇÏÀÚ ¸¶ÀÚ µîÄ¡°¡ Å«(¾¾ÇÇÀ¯ ¹ö½ºÆ®°¡ Å«!) ÇÁ·Î¼¼½º°¡ ·¹µðÅ¥¿¡¼­ ¶Ç¾Æ¸®¸¦ Ʋ°í ÀÖ°Ô µÉ°æ¿ì Æò±Õ Waiting TimeÀ» ÃøÁ¤Çغ¸¸é óÀ½ µÎ°³°¡ ÀÛÀº Å©±âÀÇ ÇÁ·Î¼¼½º¿´À»¶§¿Í ºñ±³ÇÏ¿© ¾öû³ª°Ô Ä¿Á³À½À» ¾Ë°ÔµÇÁö¿ä. Ã¥ÀÇ p.129¿¡ ÀÌ¿¡´ëÇÑ ¼³¸í ¹× ±×¸²µéÀÌ ½ÃÀÛµÇ´Ï Âü°íÇÏ½Ã¸é ¸¹Àº µµ¿òÀÌ µÉµí. ÀÌ ¾Ë°í¸®ÁòÀº ¼ÒÀ§¸»ÇØ ÄÁº£À̾Ʈ È¿°ú(convoy effect)¸¦ º¸¿©Áִµ¥, À̸»Àº Ãʹݿ¡ Å« ÇÁ·Î¼¼½º°¡ µé¾î¿Ã°æ¿ì ÀüüÀûÀ¸·Î ºÐÀ§±â Á¶Á®¹ö¸®´Â °æ¿ì¸¦ ¶æÇÏ°Ô µË´Ï´Ù. ¶ÇÇÑ ÁÖÁöÇÒÁ¡Àº ÀÌ ½ºÄÉÁÙ¸µ ±â¹ýÀº ºñ¼±Á¡Çü!À̶ó´Â »ç½ÇÀÔ´Ï´Ù. ¸ÕÀú¿Â ³à¼®¿¡°Ô ¸ÕÀú ±âµæ±ÇÀ» Áشٴ »ç½ÇÀÌ Ã¶Ä¢ÀÌ´Ï ¸¸Å­ ¿¹¿Ü¶õ ÀÖÀ»¼ö ¾ø´Â°ÍÀÌÁÒ. ¿¹¿Ü°¡ »ý±â¸é ´õÀÌ»ó FSFC°¡ ¾Æ´Ï°ÚÁÒ?

2. Shortest-Job-First (SJF) ½ºÄÉÁÙ¸µ À§¿¡¼­ ¾ð±ÞµÈ ½ºÄÉÁÙ¸µ¿¡ ¹®Á¦Á¡À» ±Øº¹Çϱâ À§ÇÏ¿© À̹ø¿¡´Â Waiting TimeÀ» ÃÖ¼ÒÈ­ ½ÃÅ°±â À§ÇÏ¿© µîÄ¡°¡ ÀÛÀº! ÇÁ·Î¼¼½º ¼øÀ¸·Î 󸮸¦ ÇØÁÖ´Â ¾Ë°í¸®ÁòÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ°ÍÀ» ÀÌ·ÐÀûÀ¸·Î °íÂûÇغ¸´Ï ²Ï È¿°ú°¡ ÀÖ¾î¿ä! ´ÜÁö ¹®Á¦°¡ ÀÖ´Ù¸é ´ÙÀ½ ½ÇÇàµÉ ÇÁ·Î¼¼½ºÀÇ ¾¾ÇÇÀ¯ ¹ö½ºÆ® Å©±â¸¦ ÀüÇô ¿¹ÃøÇÒ¼ö ¾ø´Ù´Â Çö½ÇÀûÀÎ ¹®Á¦ÀÌ°ÚÁÒ. ¶Ë´©·¯ µé¾î°¡´Â³ðÀÌ ¾ó¸¶³ª ¿À·¡ º¯±â¿¡ ¾É¾ÆÀÖÀ» °ÍÀÎÁö ¿¹ÃøÇÒ¼ö ÀÖ´Â »ç¶÷ÀÖÀ¸¸é ³ª¿ÍºÁ,,, ¾¾ÇÇÀ¯ ¹ö½ºÆ®ÀÇ Å©±â´Â ¿ö³« ÇÁ·Î¼¼½º¸¶´Ù ´Ù¾çÇÏ°í ¿¹ÃøÀÌ ºÒ°¡´ÉÇϱ⿡ À̹æ¹ýÀÌ ÃÖ¼ÒÇÑÀÇ Waiting TimeÀ» Á¦°øÇØÁÖ´Â ÃÖÀûÈ­(optimal)µÈ ¹æ¹ýÀÓ¿¡µµ ºÒ±¸ÇÏ°í ÀÌ·ÐÀûÀ¸·Î¸¸ Á¸ÀçÇÏ´Â ¾Ë°í¸®ÁòÀ̶ø´Ï´Ù. °í·Î ÀÚ½ÅÀÌ ¼³°èÇÑ ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µ ¾Ë°í¸®ÁòÀÌ ¶Ù¾î³ª´Ù´Â »ç½ÇÀ» Áõ¸íÇϱâ À§ÇÏ¿© ´ëºÎºÐ SJF¿ÍÀÇ ÀÌ·ÐÀû ºñ±³°á°ú¸¦ Á¦½ÃÇÏ´Â ±âÁØÀ¸·Î »ç¿ëµË´Ï´Ù. ÀÌ ¹æ¹ý¿¡´Â ¼±Á¡ÇüÀÇ °³³äÀÇ µµÀÔÀÌ °¡´ÉÇÏÁÒ. ¾Ë°í¸®Áò ÀÚü°¡ ÇöÀç ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½º¸¦ °¡Â÷¾øÀÌ ²ø¾î³»¸®°í »õ·Î µîÀåÇÑ(¾¾ÇÇÀ¯ ¹ö½ºÆ®°¡ °¡Àå ÀÛÀº) ³à¼®À» ±×³É ¾¾ÇÇÀ¯·Î º¸³»¹ö¸³´Ï´Ù. ¹°·Ð ºñ¼±Á¡Çü ¾Ë°í¸®Áòµµ °¡´ÉÇÏ°í¿ä. ¼±Á¡ÇüÀÇ °³³äÀ» µµÀÔÇҽÿ¡´Â ÀÌ ¾Ë°í¸®ÁòÀÇ À̸§ÀÌ Á¶±Ý ¹Ù²î°Ô µÇÁö¿ä. ¹Ù·Î Shortest-remaining-time-first·Î¿ä. ¸»µÇÁÒ?

3. Prioty ½ºÄÉÁÙ¸µ À§¿¡¼­ ¾ð±ÞµÈ SJF´Â »ç½Ç µûÁö°í º¸¸é ÇÁ¶óÀÌ¿ÀƼ ½ºÄÉÁÙ¸µÀÇ ÇÑ Æ¯¼öÇÑ °æ¿ìÀÏ »ÓÀÌÁÒ. ÇÁ¶óÀÌ¿ÀƼ ½ºÄÉÁÙ¸µÀº ÀϹÝÀûÀ¸·Î °¢ ÇÁ·Î¼¼½º¿¡ ƯÁ¤ÇÑ ±âÁØÀ¸·Î ¿ì¼±¼øÀ§¸¦ µû·Î ÁÖ´Â ±â¹ýÀÌ°í ¸¸ÀÏ ¶È°°Àº ÇÁ¶óÀÌ¿ÀƼ¸¦ °¡Áø ÇÁ·Î¼¼½º°¡ µîÀåÇҽÿ¡´Â ÇØ°á»ç·Î FCFS·Î ´Ù½Ã ¿ì¼±¼øÀ§¸¦ Á¤ÇÏ°Ô µË´Ï´Ù. ÇÁ¶óÀÌ¿ÀƼ ½ºÄÉÁÙ¸µÀº ¶ÇÇÑ ¼±Á¡Çü, ±×¸®°í ºñ¼±¼¶Çü µÎ°¡Áö ¸ðµÎ Àû¿ëÀÌ °¡´ÉÇѵ¥ Á¦°æ¿ì´Â ¿ì¼±¼øÀ§¸¦ °¡Áø´Ù´Â »ç½Ç°ú ¿Í ¼±Á¡ÇÑ´Ù´Â »ç½Ç ÀÌ µÎ°¡ÁöÀÇ °³³äÀÌ ¾Æ¸®±î¸® Çß¾úÁÒ. ±× Â÷ÀÌÁ¡À» °£´ÜÇÏ°Ô ¾ð±ÞÇÏ¸é ¿ì¼±¼øÀ§·Î ÇÁ·Î¼¼½ºÁß ÀÏ´Ü ´ÙÀ½¹ø ¾¾ÇÇÀ¯¿¡ º¸³¾³à¼®À» °áÁ¤ÇϵÇ, °áÁ¤µÈ ÇÁ·Î¼¼½º°¡ ¸ÖÂÄÇÏ°Ô ¾¾ÇÇÀ¯¿¡¼­ Áñ°Ì°Ô ÀÏ󸮸¦ ÇÏ´Â ¿ÍÁß¿¡µµ ¼±Á¡ÇÑ ÇÁ·Î¼¼½º°¡ µîÀåÇҽà ±×³É ²ø¾î ³»·Á¹ö¸®´Â°ÍÀÌ ¼±Á¡ÇüÀÔ´Ï´Ù. ±×·¸±â¿¡ ÇÁ¶óÀ̾îƼ¶ó´Â ±øÆи¦ ¾Ã¾î¹ö¸®´Â°ÍÀÌ ¼±Á¡ÇüÀ̶ó´Â Á¶ÆøÀÔ´Ï´Ù. ÇÁ¶óÀ̾îƼ ½ºÄÉÁÙ¸µÀº ±×·±µ¥ ¾ÆÁÖ °íÁúÀûÀÎ ¹®Á¦Á¡À» ¾È°í ÀÖ¾î¿ä. ¿¹»óÇϼ̴٠½ÍÀÌ ¹«ÇÑ ºí·ÎÅ·(infinite blocking)¶Ç´Â °í»ç(starvation)¹®Á¦ÀÔ´Ï´Ù. Áï, ÇÁ¶óÀ̾îƼ°¡ ³·Àº ÇÁ·Î¼¼½º´Â ³ôÀº ÇÁ·Î¼¼½ºµé¿¡°Ô ´­·Á¼­ ¿µ¿µ ¾¾ÇÇÀ¯ ¸ÀÁ¶Â÷ ¸øº¸°í Æò»ý ±â´Ù¸®±â¸¸ ÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀÌÁÒ. ½ºÅ¸º£ÀÌ¼Ç ¹®Á¦´Â ƯÁ¤ ¾Ë°í¸®ÁòÀ» ½ÂÀÎÇÒ¶§ ¿ä±¸µÇ´Â ¸Å¿ì Áß¿äÇÑ ¹®Á¦ÀÔ´Ï´Ù. Ã¥¿¡ ¾ð±ÞµÈ ·ç¸Ó¿¡ ÀÇÇϸé, 1973³â¿¡ ¼Ë´Ù¿î ÇÑ IBM7094¶ó´Â ´ëÇü ÄÄÇ»ÅÍ¿¡¼­´Â 1967³â¿¡ »ý¼ºµÇ¾úÀ¸³ª °á±¹ 󸮵ÇÁö ¸øÇÑ ³·Àº ¿ì¼±¼øÀ§ÀÇ ÇÁ·Î¼¼½º°¡ ¹ß°ßµÇ¾ú´Ù´õ±º¿ä. 7³â°£ ó¸®µÇ±æ ±â´Ù·ÈÀ¸³ª °á±¹ ³ÌÀ̵ǹö¸° ºÒ½ÖÇÑ ÇÁ·Î¼¼½º,,,¹Ï°Å³ª ¸»°Å³ª,,,

¹«ÇÑ ºí·ÎÅ·À» ÇØ°áÇÏ´Â ¹æ¹ýÀÌ ¶Ç ÀÖÁö¿ä. ±×°ÍÀº ¹Ù·Î °¢ ÇÁ·Î¼¼½º¿¡°Ô ³ªÀ̸¦ ºÎ¿©(aging)ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. Áï, ³ªÀÌ°¡ µé¼ö·Ï(½Ã°£ÀÌ Áö³¯¼ö·Ï) Á¡Á¡ ±× ÇÁ·Î¼¼½ºÀÇ ¿ì¼±¼øÀ§´Â ³ô¾ÆÁ® °¡´Â°ÍÀÌÁÒ. ±Ù»çÇÑ ¹æ¹ýÀÌÁÒ? Á¡Á¡ Àΰ£»çȸÀÇ ¸ðµ¨À» ¿À¿¡½º¿¡Á¶Â÷ Àû¿ëÇÏ°í ÀÖ´Â ¼ø°£À» ¿ì¸®´Â º¸°ÔµË´Ï´Ù. ±×¸¸Å­ ¾Ë°í¸®ÁòÀÌ Á¡Á¡ º¹ÀâÇØ Á®°£´Ù´Â ¶æÀ̱⵵ ÇÏ°í¿ä.

4. Round-Robin(RR) ½ºÄÉÁÙ¸µ. ŸÀÓ ½¦¾î¸µ ½Ã½ºÅÛ¿¡¼­´Â ²Ï À¯¸íÇÑ ½ºÄÉÁÙ¸µÀÔ´Ï´Ù. ÀÌ°ÍÀº FCFS¿Í ºñ½ÁÇÏÁö¸¸ ÇÁ·Î¼¼½º°£ÀÇ ÀüȯÀ» À§Çؼ­ ¿©±â¿¡´Ù°¡ ¼±Á¡Çü °³³äÀ» µµÀÔÇÑ °ÍÀÌÁÒ. ¸ÕÀú ·ê·¿À» »ý°¢Çغ¸½Ã±æ. ¾Ë·Ï´Þ·ÏÇÑ ·ê·¿Àº °¢°¢ÀÇ ½½·ÔÀÌ Á¸ÀçÇÏÁö¿ä. °¢ ¹øÈ£´ë½Å ÇÁ·Î¼¼½º°¡ °Å±â¼­ ±â´Ù¸®°í, ½½·ÔÀº µ¿ÀÏÇÑ °£°ÝÀ¸·Î ÀÌ·ç¾îÁø ½Ã°£À» »ó¡ÇÏ°Ô µË´Ï´Ù. ÇÑ ½½·ÔÀÇ Å©±â¸¦ ¿ì¸®´Â ŸÀÓÄöÅÒ(time quantum)À̶ó°í ºÎ¸¨´Ï´Ù. ÀÌ°ÍÀ» ÇÑ ¹æÇâÀ¸·Î ÇÑ ½½·Ô¾¿ µ¹·Á°¡¸é¼­ ´ëÀÀµÇ´Â ÇÁ·Î¼¼½º¸¦ ¾¾ÇÇÀ¯¿¡ º¸³»µÇ, ½Ã°£ÀÌ Èê·¯ ´ÙÀ½ ŸÀÓ ÄöÅÒÀÌ µµ·¡Çϸé(ƽ~ÇÏ°í ·ê·¿À» Çѽ½·Ô µ¹¸®´Â°ÅÁÒ) ¾ÆÁ÷ ÀÏ󸮰¡ ³¡³ªÁö ¾ÊÀº ÇÁ·Î¼¼½ºÀÏÁö¶óµµ ´ÙÀ½ ½½·ÔÀÇ ÇÁ·Î¼¼½º¿¡°Ô ¼±Á¡À» ´çÇÏ°Ô µË´Ï´Ù. Áï, ±â³É ²ø·Á³»·Á¿Í¼­ ·¹µðÅ¥ÀÇ ²¿¸®¿¡ °¡¼­ ºÙ°ÔµÇÁÒ. ¸¸ÀÏ ÁÖ¾îÁø ŸÀÓ ÄöÅÒ ³»¿¡ ÀÏÀÌ ´Ù ³¡³ª¸é ŸÀÓ ÄöÅÒÀ» ä¿ìÁö ¾ÊÀº »óÅ¿¡¼­Á¶Â÷ ·ê·¿Àº µ¹¾Æ°¡°í ´ç±Ù ´ÙÀ½ ÇÁ·Î¼¼½º°¡ ¾¾ÇÇÀ¯¸¦ Á¡À¯ÇÏ°Ô µË´Ï´Ù. RR ½ºÄÉÁÙ¸µÀº ¸Å¿ì ¼¼·ÃµÈ ½ºÄÉÁÙ¸µÀ̸ç, ±× ¼º´ÉÀº ŸÀÓ ÄöÅÒÀÇ Å©±â¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù. ¸¸ÀÏ Å¸ÀÓÄöÅÒÀ» ¹«ÇÑ´ë·Î ¼³Á¤Çϸé? ¹Ù·Î FCFS ½ºÄÉÁÙ¸µÀÌ µÇ¾î¹ö¸³´Ï´Ù. ³Ê¹« ª°Ô ¼³Á¤Çϸé? ÄÁÅؽºÆ® ½ºÀ§Äª ÇÏ´Ù°¡ º¼Àå ´Ù º¸ÁÒ. ÀϹÝÀûÀ¸·Î ÇÑ Å¸ÀÓ ÄöÅÒÀº ÄÁÅؽºÆ® ½ºÀ§Äª¿¡ °É¸®´Â ½Ã°£ÀÇ 10¹è·Î ¼³Á¤ÇÏ°í »ç¿ëµË´Ï´Ù. ¶ó¿îµå ·Îºó ¾Ë°í¸®Áò,,,ÀÌ ¿ø¸®´Â »ó½ÄÀûÀ¸·Î ¾Ë°íÀ־ Àß³­Ã´Çϱ⿡ ¾ÆÁÖ ÁÁÀº ¾Ë°í¸®ÁòÀÌ´Ï Àß ÀÌÇØÇØµÎ½Ã±æ ¹Ù¶ø´Ï´Ù.

±×¹Û¿¡ ¸ÖƼ·¹º§ Å¥(Multilevel Queue), ¸ÖƼ·¹º§ Çǵå¹é Å¥(Multilevel Feedback Queue)µéÀÌ ÀÖ¾î¿ä. ÀüÀÚ´Â °¢ ÇÁ·Î¼¼½ºÀÇ Ä«Å×°í¸®¸¦ ¸î°¡Áö ·¹º§·Î ³ª´©°í ¾Ë¸Â´Â Å¥¿¡´Ù ´ë±â½ÃÅ°µÇ, °¢ Å¥°¡ µ¶¸³ÀûÀÎ ¾¾ÇÇÀ¯ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÕ´Ï´Ù. ÈÄÀÚ´Â ÀüÀÚ¿Í ºñ½ÁÇѵ¥ Â÷ÀÓÁ¡Àº ÇÁ·Î¼¼½ºµé³¢¸® ÁöÁ¤µÈ Å¥ ÀÌ¿ÜÀÇ Å¥¸¦ ¸¦ ¼­·Î º¯½ÅÇØ°¡¸ç µé³«³¯¶ô °Å¸°´Ù´Âµ¥¿¡ ÀÖÁö¸¸, µÑ´Ù ¸¹ÀÌ »ç¿ëµÇÁö´Â ¾Ê½À´Ï´Ù. ³Ê¹« º¹ÀâÇϰŵç¿ä.

¸¶Áö¸·À¸·Î ¸ÖƼÇà ÇÁ·Î¼¼¼­°¡ ´Þ¸° ½Ã½ºÅÛÀÇ ½ºÄÉÁÙ¸µÀº ¾î¶²Áö ª°Ô ¾ð±ÞÇØ º¸ÁÒ. ÀϹÝÀûÀ¸·Î ´ÜÀÏ ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µº¸´Ù ÈξÀ º¹ÀâÇÏ°ÎÁÒ? °í·ÁÇØ¾ß ÇÒ ¹®Á¦Á¡ÀÇ ÁÁÀº ¿¹·Î½á µ¿ÀÏÇÑ ¾¾ÇÇÀ¯¸¦ ¿©·µ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼­ I/OÀåºñ¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ¶§, ´ë°³ÀÇ °æ¿ì I/OÀåºñ´Â ÇÑ°³ÀÇ ÇÁ·Î¼¼¼­ÀÇ ¹ö½º¿Í ¿¬°áÀÌ µÇ±â ¶§¹®¿¡ ƯÁ¤ I/OÀåºñ¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã ƯÁ¤ ¾¾ÇÇÀ¯³»¿¡¼­ ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ¾ß ÇÑ´Ù´Â Á¸°Ç¿¡ ºÎÇյǾî¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ load sharing(¸ÖƼÇà ¾¾ÇÇÀ¯¸¦ »ç¿ëÇÒ¶§ ¾ò´Â °­Á¡Áß Çϳª·Î½á ºÎÇϸ¦ ¿©·¯°³ÀÇ ¾¾ÇÇÀ¯¿¡ ºÐ»ê½ÃÅ°´Â °ÍÀÌÁÒ)À» À§Çؼ­´Â ´ë°³ÀÇ°æ¿ì ÇÑ°³ÀÇ °øµ¿ ·¹µðÅ¥¸¦ »ç¿ëÇÏ¿©¾ß Çϴµ¥, À̶§ ¶Ç µ¥ÀÌŸÀÇ ÀÏ°ü¼ºÀ» À¯ÁöÇÏ´Â ¹®Á¦´Â ¸Å¿ì °ñÄ¡¾ÆÇ ÁÖÁ¦°¡ µÉ¼öµµ ÀÖ°ÚÁÒ? ÀÌ·¯ÇÑ ¸é¿¡¼­´Â ƯÁ¤ ¸¶½ºÅÍ ¾¾ÇÇÀ¯°¡ ÀÏ°ü¼ºÀÖ°Ô ·¹µðÅ¥¸¦ °ü¸®ÇÏ´Â ºñ´ëĪÇü ½Ã½ºÅÛÀÇ ±¸ÇöÀÌ ÈξÀ ¿ëÀÌÇÏ´Ù´Â »ç½ÇÀ» ¾Ë¼ö ÀÖÀ»°ÍÀÔ´Ï´Ù.

ÀÌ»óÀ¸·Î ¾¾ÇÇÀ¯ ½ºÄÉÁÙ¸µÀ» °£´ÜÇÏ°Ô »ìÆ캸¾Ò½À´Ï´Ù. »ç½Ç, ÀÌ·± À̷еéÀÌ ¿ì¸®°¡ ÇÁ·Î±×·¡¹ÖÀ» Çϴµ¥¿¡´Â Á÷Á¢ ¿ä±¸µÇ´Â Áö½ÄÀº ¾Æ´ÏÁö¸¸, ÀÌÇظ¦ ÇÏ°í ÇÁ·Î±×·¡¹ÖÀ» Çϴ°Ͱú ±×·¸Áö ¸øÇÏ°í ÇÁ·Î±×·¡¹ÖÀ» Çϴ°ÍÀÇ Â÷ÀÌÁ¡Àº ¾î¶°ÇÑ ÇüÅ·εçÁö Ƽ°¡ ³ª´Â ¸ð¾çÀÔ´Ï´Ù. ±×·¯´Ï ÀÌÇØ°¡ µÇÁö ¾ÊÀ¸½ÅºÐµéÀº ´Ù½ÃÇѹø õõÈ÷ Àо½Ã°Å³ª Áú¹®À» ´øÁ®ÁÖ½Ã¸é ¾Æ´ÂÇÑ Á¤¼º²¯ ´äÇص帱Å×´Ï ¾ðÁ¦µçÁö Áú¹®ÇØÁּſä.

´ÙÀ½Àå¿¡¼­´Â,,,À½,,,-_-;;; Á¤¸» ¶¡ÀÌ ³ª´Â±º¿ä. ±× À̸§µµ ¹«¼Å¿î Å©¸®Æ¼Äà ¼½¼Ç ¹®Á¦(Critical Section Problem)À» Çѹø ´Ù·ç¾îº¼ ¿¹Á¤ÀÔ´Ï´Ù. Á¤¸» ¿À¿¡½º¸¦ °øºÎÇÔ¿¡ À־µµ ¸»±×´ë·Î Å©¸®Æ¼Äà ÇÑ ºÎºÐÀÌ´Ï ¸¸Å­ ÀÌ°ÍÀ» ¾î¶»°Ô ´Ù·ç¾î¾ß ÇÒÁö Àú·Î½áµµ ¹«Ã´ ±äÀåÀÌ µË´Ï´Ù. ÇÏÁö¸¸, ¿©±â±îÁö µû¶ó¿À½Å ºÐµéÀ̶ó¸é¾ß, ÃæºÐÈ÷ ÀÌÇØ°¡ °¡´ÉÇÑ ºÎºÐÀ̴ϸ¸Å­ ±â´ëÇØ Áּŵµ ÁÁÀ¸¸®¶ó »ý°¢µÇ´Â ±º¿ä. ±×·³ ´ÙÀ½ Àå¿¡¼­ ºËÁÒ.

-duffer °æÁØ (http://vorlon.cwru.edu/~kxm73)