OS

Go back

OS Review
Device Driver
NS Tools

Home
Papers
Daily Link


To Main
4. ÇÁ·Î¼¼½º (Process)

â¼¼±â ¹«·ÆÀÇ ÄÄÇ»Å͵éÀº Çѹø¿¡ ´Ü ÇÑ°³ÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â ȯ°æÀ» Á¦°øÇØÁÖ°í ÀÖ¾ú½À´Ï´Ù. Áï, ÇÑ°³ÀÇ ÇÁ·Î±×·¥Àº ½Ã½ºÅÛÀÇ ÄÁÆ®·ÑÀ» ¿ÏÀüÈ÷ µ¶Á¡ÇÑü ½Ã½ºÅÛÀÌ Á¦°øÇØÁÖ´Â ¸®¼Ò½º¿¡ ´ëÇÑ ¸ðµç ±ÇÇÑÀ» Áã°í ÀְԵǴ°ÍÀÌÁÒ. ±×·¯³ª, ¿À³¯³¯ÀÇ ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº ¿©·¯°³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¾È¿¡ ·ÎµùµÇ°í, µ¿½Ã¿¡(concurrently)½ÇÇàµÇ´Â ±â¿°À» ÅäÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±Ù´ëÀûÀΠȯ°æÀ» Á¦°øÇØÁÖ±â À§ÇÏ¿© µîÀåÇÏ´Â °ÍÀÌ ¹Ù·Î ÇÁ·Î¼¼½º(process)¶ó´Â °³³äÀÔ´Ï´Ù.

ÇÁ·Î¼¼½º¶õ? ÇÁ·Î¼¼½º¶õ °£´ÜÈ÷ Á¤Àdz»¸®¸é ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥À» ÀǹÌÇÏ°Ô µË´Ï´Ù. ÀÌ°ÍÀº ½ÃºÐÇÒ(time-sharing)½Ã½ºÅÛÀÇ ±âº» ´ÜÀ§À̱⵵ ÇÏÁö¿ä. °á±¹ µ¿½Ã¿¡ ¾î¶² ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ´Ù´Â°ÍÀº ½Ã°£ÀûÀ¸·Î ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º¸¦ µ¹¾Æ°¡¸é¼­ ½ÇÇà½ÃÅ°´Â °ÍÀ¸·Î ±¸ÇöÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ±Ø´ÜÀûÀ¸·Î µûÁöÀÚ¸é °á±¹ ÇϳªÀÇ ¾¾ÇÇÀ¯¸¦ °¡Áö°í Àִ½ýºÅÛ¿¡¼­´Â ÁøÁ¤ÇÑ ÀǹÌÀÇ ¸ÖƼÇÁ·Î¼¼½ÌÀÌ ºÒ°¡´ÉÇÏ°ÚÁÒ?

ÇÁ·Î¼¼½º¶ó´Â °³³äÀº ¿À¿¡½ºÂ÷¿ø¿¡¼­ ¸Å¿ì Áß¿äÇÕ´Ï´Ù. À¯Àú°¡ ¿øÇÏ°íÀÚ ½ÇÇà½ÃÅ°´Â ÇÁ·Î±×·¥ ¹Ø¹Ù´Ú¿¡´Â ¸¶Ä¡ Æò¿ÂÇÑ È£¼ö°¡¿¡¼­ À¯À¯ÀÚÀûÇÏ´Â ¾îÇÃ-ÇÁ·Î¼¼½º¹éÁ¶°¡ ºüÁ®Á×Áö ¾ÊÀ¸·Á ¹°°¥Äû´Þ¸° ¿À¿¡½º-ÇÁ·Î¼¼½ºµéÀǹ߹ٴÚÀ» ÃͽϰŸ®¸é¼­ ÈÖÁ®¾î¾ß Çϰŵç¿ä. °á±¹ ½Ã½ºÅÛÀº °¢Á¾ ÇÁ·Î¼¼½ºµéÀÇ ¸ðÀ½À¸·Î ÀÌ·ç¾îÁø´Ù°í »ý°¢Çϼŵµ ¹«¹æÇÒ Áö°æÀÏ°Ì´Ï´Ù.

Ãʹݿ¡ ¾ð±ÞÇÑ ¹èÄ¡½Ã½ºÅÛÀº Àâ(jobs)´ÜÀ§·Î ½ÇÇàÀ» ÇÏ°Ô µÇÁö¿ä. ÀÌ¿¡¹ÝÇØ ½ÃºÐÇÒ ½Ã½ºÅÛÀº À¯ÀúÇÁ·Î±×·¥, ¶Ç´Â ŽºÅ©(task)´ÜÀ§·Î ½ÇÇàÀ» ÇÏ°Ô µË´Ï´Ù. MS-DOS¶Ç´Â ¸ÅŲÅä½Ã ¿À¿¡½ºÁ¶Â÷! ¸î°¡Áö ÇÁ·Î±×·¥À» µ¿½Ã¿¡ µ¹¸®´Â ´É·ÂÀÌ ÀÖ´Ù°í ±³°ú¼­´Â ³î¶ó¿ö ÇÕ´Ï´Ù. -_- Á¤¸»,,,¹«½Ã´çÇصµ À̸¸Àú¸¸ÀÌ ¾Æ´Ï±º¿ä. ÀÌ·¯ÇÑ Àâ, ŽºÅ© µîµîÀº °á±¹ ºñ½ÁÇÑ ¼º°ÝÀ» °¡Áö°í Àֱ⿡ ¹¶¶×±×·Á ÇÁ·Î¼¼½º¶ó°í ¾ÕÀ¸·Î´Â ĪÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.

ÇÑ°¡Áö Áú¹®À» ÇÏÁö¿ä. ´ÙÀ½ ±ÛÀ» ÀÐ°í ¿Ç´Ù ¶Ç´Â ±×¸£´Ù¶ó°í ´äÇϽÿÀ. "ÇÁ·Î¼¼½º¶õ ¸®¼Ò½º¸¦ Á¡À¯ÇÑä ½ÇÇàÁßÀÎ Äڵ带 ÀǹÌÇÑ´Ù" Á¦°¡ ÇÔÁ¤¿¡ ºüÁø °æÇèÀÌ ÀÖ´Â Áú¹®ÀÌÁÒ. ´äÀº ¿Ç¼ÒÀÔ´Ï´Ù. ¿Ö³ÄÇϸé Äڵ尡 ½ÇÇàÀÌ µÇ·Á¸é, ¸Þ¸ð¸® ¾¾ÇÇÀ¯µîÀÇ ÃÖ¼ÒÇÑÀÇ ½Ã½ºÅÛ ¸®¼Ò½º¸¦ Á¡À¯ÇÏ°í ÀÖÀ»¼ö ¹Û¿¡´Â ¾ø±â ¶§¹®ÀÔ´Ï´Ù.

ÇÁ·Î¼¼½º¸¦ ÀÌ·ç°í ÀÖ´Â ±¸¼º¿ä¼ÒµéÀº ½Ç·Î ´Ù¾çÇÕ´Ï´Ù. ¸ÕÀú ´ÙÀ½¹ø Äڵ带 ½ÇÇà½Ãų Äڵ尡 µé¾îÀÖ´Â ÁÖ¼Ò¸¦ °¡¸®Å°°í ÀÖ´Â ÇÁ·Î±×·¥Ä«¿îÅÍ(¾¾ÇÇÀ¯ ·¹Áö½ºÅÍ ³»ºÎ¿¡ Á¸ÀçÇÏ°íÀÖÁÒ), ´Ù¸¥ ÂüÁ¶ÇؾßÇÒ ·¹Áö½ºÅ͵éÀÇ °ª, Àá½Ã ÇÊ¿äÇÑ °ªÀ» ÀúÀåÇصδ ½ºÅÃ, µ¥ÀÌÅÍ, ±×¸®°í Àü¿ªº¯¼ö µîµîÀÌÁÒ. ÇÁ·Î±×·¥ ±× ÀÚü¿Í ÇÁ·Î¼¼½º¿ÍÀÇ °¡Àå Áß¿äÇÑ Â÷ÀÌÁ¡Àº ÇÁ·Î±×·¥ ÀÚü´Â ¼öµ¿Àû Á¸ÀçÀÓ¿¡ ¹ÝÇØ ÇÁ·Î¼¼½º´Â À§ÀÇ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î »ì¾Æ¿òÁ÷ÀÌ´Â ´Éµ¿Àû Á¸Àç¶ó´Â »ç½ÇÀÔ´Ï´Ù. µû¶ó¼­ ÇÁ·Î¼¼½º´Â ³ª¸§´ë·ÎÀÇ »óŸ¦ °¡Áö°í ÀÖ°ÚÁÒ? ÃÑ ´Ù¼¸°¡Áö »óÅ·Πũ°Ô ³ª´µ°í, °¢°¢ÀÇ »óÅ¿¡ ´ëÇÑ È帧µµ°¡ ±³°ú¼­ ±×¸² 4.1ÀÔ´Ï´Ù. (±³°ú¼­ »ç·¡µÎ,,,ÁÁµ¥µÎ,,,)

ÇÁ·Î¼¼½º´Â °°Àº ÇÁ·Î±×·¥¿¡ ±Í¼ÓµÉÁö¶óµµ ¼­·Î µ¶¸³ÀûÀ¸·Î Á¸ÀçÇÏ°Ô µÇ´Âµ¥, ±× ÁÁÀº ½ÉÇÃÅؽºÆ®°°Àº ¾îÇÃÀÌÁÒ. ½ÉÇÃÅؽºÆ®ÀÇ ÇÁ·Î±×·¥ÀÚü´Â Çϳª¸¸ Á¸ÀçÇÏÁö¸¸, ¿©·¯°³ÀÇ Ã¢À» ¿­¶§¸¶´Ù °¢°¢ÀÇ ÇÁ·Î¼¼½ºµéÀÌ »ý¼ºµÇ¼­ °¢°¢ÀÇ À©µµ¿ì¸¦ °ü¸®ÇØÁÖ°Ô µÇÁö¿ä. À̶§ Á»´õ Àü¹®ÀûÀ¸·Î À̾߱âÇϸé, °¢°¢ÀÇ ÇÁ·Î¼¼½ºÀÇ ÅؽºÆ® ¼½¼ÇÀº µ¿ÀÏÇÏÁö¸¸ µ¥ÀÌÅÍ ¼½¼ÇÀº ´Ù¸£´Ù! ¶ó°í ¸»ÇÏ¸é µÇ°Î½À´Ï´Ù.

ÇÁ·Î¼¼½ºÀÇ ¶Ç Áß¿äÇÑ Æ¯Â¡Àº, À̳ðÀÌ »ì¾Æ ²ÞƲ´ë´Â°ÍÀ¸·Î¸¸µµ ¸ðÀÚ¶ó¼­, ÀÌÁ¦´Â ¾Æµé, µþÇÁ·Î¼¼½º±îÁö »ý¼ºÀÌ °¡´ÉÇϴٴµ¥¿¡ ÀÖ½À´Ï´Ù. ¹«½¼¸»À̳Ä,,,ÇÑ°³ÀÇ ÇÁ·Î¼¼½º´Â À§¿¡¼­ ¸»ÇÑ °¢Á¾ Á¤º¸¸¦ °¡Áö°í ž´Âµ¥, À̳༮ÀÌ Â÷ÀϵåÇÁ·Î¼¼½º(child process)¸¦ ¸¸µé°ÔµÇ¸é ºÎ¸ð ÇÁ·Î¼¼½ºÀÇ µ¥ÀÌÅÍ¹× ½ºÆ®·°ÃĵéÀÌ ¸ðÁ¶¸® º¹»çµÇ¾î ¶È°°Àº ºØ¾î»§ ÇÁ·Î¼¼½º°¡ ž°Ô µË´Ï´Ù. À̶§ »ý¼ºÀ» °¡ÇÑ ÇÁ·Î¼¼½º¸¦ Æз±Æ®ÇÁ·Î¼¼½º(parent process), »ý¼ºµÈ ÇÁ·Î¼¼½º¸¦ Â÷ÀϵåÇÁ·Î¼¼½º(child process)¶ó°í ÇÏÁö¿ä. ÀÌ·¯ÇÑ °³³äÀ» ÄÚµùÀ¸·Î Àû¿ëÇÒ¶§¿¡´Â ¸ÅŲÅä½Ã ÇÁ·Î±×·¡¹Ö¸¸À» °øºÎÇÏ´ø ÀúÈñµé·Î½á´Â ¸Å¿ì »ý¼ÒÇÒ¼öµµ ÀÖ´Â °³³äÀÌÁÒ. ´ÙÀ½Àå¿¡ À¯´Ð½º¸¦ ÀÌ¿ëÇÏ¿© À§ÀÇ °³³äÀ» Àû¿ëÇÑ ¿¹¸¦ ¼³¸íÇص帱 ÂüÀÔ´Ï´Ù.

Æз±Æ® ÇÁ·Î¼¼½º¿Í Â÷Àϵå ÇÁ·Î¼¼½ºÀÇ °ü°è´Â ÂüÀ¸·Î ¾ö°ÝÇϸ鼭µµ À¯¿ëÇÑ ±¸¼®ÀÌ ÀÖ½À´Ï´Ù. ¸ÕÀú, Â÷Àϵå ÇÁ·Î¼¼½º´Â ±Û·Î¹úÀÌ°Ç ·ÎÄÃÀÌ°Ç°£¿¡ °¡¸®Áö ¾Ê°í Æз±Æ®·ÎºÎÅÍ ¸ðÁ¶¸® µ¥ÀÌÅ͸¦ º¹»çÇØ¿À´Âµ¥, º¹»çµÈ ¼ø°£ºÎÅÍ´Â °¢ÀÚÀÇ ±æÀ» °È°Ô µÇÁö¿ä. ·ÎÄà º¯¼ö¾ß, ±×³É ±×·Á·¯´Ï Çصµ, ³ªÁß¿¡ Æз±Æ® ÇÁ·Î¼¼½ºÀÇ ±Û·Î¹ú º¯¼ö¸¦ °íÃÄÁ־ Â÷Àϵå´Â ±×³É ¾Ã¾î¹ö¸³´Ï´Ù. Àڽſ¡°Ô ÀÌ¹Ì ±Û·Î¹ú º¹»çº»ÀÌ Á¸ÀçÇϴѱî¿ä. ±×·¯¸é µµµ¥Ã¼ ÀÌ µÎ ºÎÀÚÁö°£ÀÇ ÇÁ·Î¼¼½º»çÀÌ¿¡ ³õ¿©ÀÖ´Â ¼¼´ëÂ÷¸¦ ¾î¶»°Ô ±Øº¹ÇؾßÇϳª ÇÏ´Â ¹®Á¦°¡ ´ëµÎµÇ´Âµ¥, À̸¦ ÇØ°áÇØÁÖ´Â °ÍÀÌ ¹Ù·Î IPC(Inter Process Communication)ÀÔ´Ï´Ù. ÀÌ°ÍÀº Ãʹݿ¡ ¾ð±ÞÇÑ ¸ùÅ°ºÏÀÌ ´Ù·ç´Â ÁÖÁ¦ÀÌ°í Ã¥ÇѱÇÀÇ ºÐ·®À̸ç, ¸»±×´ë·Î ÀÌÁ¨ "Åë½Å"À̶ó´Â °ÅâÇÑ ´Ù¸®¸¦ °Ç¼³ÇØÁÖ¾î¾ß µÑ°£ÀÇ ÀÇ»ç¼ÒÅëÀÌ ÀÌ·ç¾îÁö´Â °³º°Àû! Á¸Àç°¡ µÇ¾î¹ö·ÈÀ½À» ÀǹÌÇϱ⵵ ÇÏÁö¿ä. ÀÌ ³»¿ëÀº ¾ÕÀ¸·Î ¹Ýµå½Ã ´Ù½Ã Á¦´ë·Î ´Ù·ê¿¹Á¤ÀÔ´Ï´Ù.

ÀÚ, ÀÌÁ¨ ´Ù½Ã ÇÁ·Î¼¼½º °íÀ¯ÀÇ ¼º°ÝÀ» ³íÇغ¸±â·Î ÇÏÁÒ. ÇÁ·Î¼¼½º¸¦ ³íÇϱâ À§Çؼ­´Â ¸ÕÀú PCB(Process Control Block)À» ¾Ë¾Æ¾ßÇÕ´Ï´Ù. °¢°¢ÀÇ ÇÁ·Î¼¼½º´Â PCB·Î ´ëÇ¥µÇ¾îÁö´Âµ¥ ÀÌ´Â ÇÁ·Î¼¼½ºÀÇ »óÅÂ, ÇÁ·Î±×·¥ Ä«¿îÅÍ, ¾¾ÇÇÀ¯·¹Áö½ºÅÍ, ÇǾ¾À¯ ½ºÄÉÁÙ¸µ Á¤º¸, ¸Þ¸ð¸® °ü¸® Á¤º¸, ¾îÄ«¿îÆà Á¤º¸, ±×¸®°í I/O»óÅÂÁ¤º¸µîÀ» ´ã°í ÀÖ°Ô µÇÁö¿ä. °Å´ëÇÑ ·¹Äڵ尰Àº Á¸ÀçÀÔ´Ï´Ù. ±×·¯³ª ÇϳªÀÇ ÇÁ·Î¼¼½º¸¦ ÇϳªÀÇ PCB·Î Ç¥ÇöÇÒ¼ö ÀÖ´Ù´Â »ç½ÇÀº ÇÁ·Î¼¼½º °£ÀÇ °ü°è¸¦ Á¤ÀÇÇÏ°í ³ªÅ¸³»±â À§Çؼ­´Â ¸Å¿ì À¯¿ëÇÑ °³³äÀÌÁÒ.

¸ÕÀú ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µÀº ¸ÖƼÇÁ·Î±×·¡¹ÖÀÇ ¸ñÀûÀÌ ¾ðÁ¦³ª È°¼ºÈ­µÇ¾îÀÖ´Â ÇÁ·Î¼¼½ºµéÀÌ Á¸ÀçÇÔÀ¸·Î½á CPU°¡ ³îÁö¾Ê°í ±× È°¿ëµµ¸¦ ±Ø´ëÈ­ ½ÃÅ°´Â °ÍÀÌ´Ï ¸¸Å­, ÀÌ¿¡ °É¸Âµµ·Ï ¼³°èµË´Ï´Ù. ½ºÄÉÁÙ¸µÀ» À§Çؼ­´Â ¾ðÁ¦³ª Å¥(queue°¡) ÇÊ¿äÇØ¿ä. Âü°í·Î Å¥(queue)¶õ FIFO(First In First Out)À» ±¸ÇöÇÏ´Â µ¥ÀÌÅÍ ½ºÆ®·°ÃÄÀÔ´Ï´Ù. ¸ÕÀú ¿Â³ðÀÌ ¸ÕÀú ¼­ºùÀ» ¹Þ´Â´Ù´Â ¾ÆÀ̵ð¾îÀÌÁö¿ä. ÇÑ°³ÀÇ ÇÁ·Î¼¼½º°¡ ½Ã½ºÅÛ¿¡¼­ »ý¼ºÀÌ µÇ¸é, ÀÏ´Ü ÀâÅ¥(job queue)¿¡ ¼ï, µé¾î°©´Ï´Ù. ÀâÅ¥¿¡ ÀÖ´ø ³à¼®µéÀÌ ¸Þ¸ð¸®¿¡ ·ÎµùµÇ°í ½ÇÇàÇÒ Áغñ¸¦ ¸¶Ä¡¸é ºñ·Î¼­ ·¹µðÅ¥(ready queue)·Î ´Ù½Ã ¼ï¼ï µé¾î°¡´Âµ¥ ·¹µðÅ¥´Â ¸µÅ©µå ¸®½ºÆ®·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. Áï, PBC·Î ¸µÅ©µå ¸®½ºÆ®¸¦ ¸¸µå´Â °ÍÀÌÁÒ. (À̸» ÀÌÇظøÇÏ´Â ³à¼®, ÀÏ¿äÀϸ¶´Ù ¾Æ¹«»ý°¢¾øÀÌ ³í³à¼®ÀÌ¿©!) À̹ۿ¡ ÇÊ¿äÇÑ Å¥·Î¼­´Â I/O¿Í °ü·ÃµÈ ÇÁ·Î¼¼½º¸¦ ´ã¾ÆÁÖ´Â µð¹ÙÀ̽ºÅ¥(device queue)¶ó´Â °ÍÀÌ ¶Ç Á¸ÀçÇÏÁÒ. °¢°¢ÀÇ µð¹ÙÀ̽º´Â °¢ÀÚÀÇ µð¹ÙÀ̽ºÅ¥¸¦ °¡Áö°í ÀְԵ˴ϴÙ.

ÀÌÁ¨ ¸ÖƼÇÁ·Î±×·¡¹ÖÀÌ ±¸ÇöµÇ´Â ¿ø¸®¸¦ »ìÆ캸ÁÒ. ½Ã½ºÅÛÀÌ p0À̶ó´Â ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ°í ÀÖ¾ú´Ù°í Ĩ½Ã´Ù, ±×·±µ¥ ºÒÇöµí p1À» À§ÇÑ ÀÎÅÍ·´Æ®³ª ½Ã½ºÅÛ ÄÝÀÌ È£ÃâµÇ¹ö¸®¸é, ¿À¿¡½º´Â Áï½Ã p0ÀÇ PCB ³»ºÎ ÇʵåÀÇ °ªµéÀ» ¸ðµÎ ¾÷µ¥ÀÌÆ® ½ÃŲ´ÙÀ½»óŸ¦ ·¹µð»óÅ·Πµ¹·Á¹ö¸®°í ·¹µåÅ¥¿¡ ¾¥¼Å ³ÖÁÒ. ±×´ë½Å p1ÀÇ PCB¸¦ ·¯´×»óÅ·ΠÀüȯ ½ÃÅ°°í ÇÊ¿äÇÑ °ªµéÀ» ¾¾ÇÇÀ¯ÀÇ ·¹Áö½ºÅÍ¿¡ ÁÖ¸£¸£ ÆîÃijõ°í ÀÛ¾÷À» ÇÏ°Ô µË´Ï´Ù. °°Àº ¹æ¹ýÀ¸·Î ´Ù½Ã p0Àº ¾¾ÇÇÀ¯¿¡ º¹±ÍµÇ°í p1Àº Âϰܳª°í,,,ÀÌ·±½ÄÀ¸·Î ¼ø°£¼ø°£ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½ºµéÀÌ ÀÚ½ÅÀÇ »óŸ¦ ¹Ù²Ù¾î°¡¸ç Áú¼­ÀÖ°Ô °¢ÀÚÀÇ Å¥¿¡¼­ ¾¾ÇÇÀ¯ÀÇ È£ÃâÀ» ±â´Ù¸®´Â °ÍÀÌÁÒ.

ÀÌ·¸°Ô ·¹µðÅ¥¿¡¼­ ±â´Ù¸®´Â ÇÁ·Î¼¼½ºµéÁß ¾î¶²³à¼®À» ¾¾ÇÇÀ¯¿¡ ºÒ·¯µå¸®´Â °úÁ¤À» µð½ºÆÐÄ¡(dispatched)µÇ¾ú´Ù!¶ó°í ¸»ÇÏ´Â °ÍÀÌ°í, µµµ¥Ã¼ ¾î¶² ÇÁ·Î¼¼½º¸¦ ¾î´À¶§¿¡ µð½ºÆÐÄ¡ ½Ãų°ÍÀΰ¡¸¦ °áÁ¤ÇÏ´Â ¾Ë°í¸®ÁòÀ» ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ ¾Ë°í¸®ÁòÀ̶ó°í ÇÕ´Ï´Ù. ÇÁ·Î¼¼½º ½ºÄÉÁÙ·¯(±¸ÇöµÈ ½ºÄÉÁÙ¸µ ¾Ë°í¸®Áò)´Â ¶Ç Å©°Ô µÎ°¡Áö·Î ³ª´©´Âµ¥ ù°´Â ·ÕÅÒ ½ºÄÉÁÙ·¯(long-term scheduler) ¶Ç´Â Àâ ½ºÄÉÁÙ·¯(job scheduler)¶ó°í ÀÏÄÂÁÒ. À̳༮Àº »ý¼ºµÉ ÇÁ·Î¼¼½ºÁß ¾î¶²°ÍÀ» ¸Þ¸ð¸®¿¡ ·Îµå ½Ãų°ÍÀΰ¡¸¦ °áÁ¤ÇÕ´Ï´Ù. ¶ÇÇϳª´Â ¼ôÅÒ ½ºÄÉÁÙ·¯(short-term scheduler)¶Ç´Â ¾¾ÇÇÀ¯ ½ºÄÉÁÙ·¯(cpu-scheduler)¶ó°í Çϸç À̳༮ÀÌ ¹Ù·Î ·¹µðÅ¥¿¡¼­ ¾î¶²°ÍÀ» µð½ºÆÐÄ¡ ½Ãų°ÍÀΰ¡¸¦ °áÁ¤ÇÏ°Ô µË´Ï´Ù. À̵ÑÀÇ °¡Àå Å« Â÷ÀÌÁ¡Àº °áÁ¤ÀÇ ºóµµ¿¡ ÀÖ´Ù°í ÇÒ¼ö Àִµ¥, ¼ôÅÒ ½ºÄÉÁÙ·¯ÀÇ °æ¿ì ÇÁ·Î¼¼½º´ç 100¹Ð¸®ÃÊ ¸¶´Ù ½ÇÇàÀÌ µÇ¾ßÇÒ°æ¿ì(ÇÁ·Î¼¼½º´ç ¾¾ÇÇÀ¯Á¡À¯ ½Ã°£) 10¹Ð¸®ÃÊ°¡ °É¸°´Ù¸é ¸Å ÇÁ·Î¼¼½º ½ÇÇà½Ã°£ÀÇ 9%¸¦ ´ÜÁö ´ÙÀ½¹ø ÇÁ·Î¼¼½º¸¦ °áÁ¤Çϴµ¥ »ç¿ëÇÏ´Â °á°ú¸¦ ÃÊÇØÇÏ°Ô µÇÁö¿ä. ÀÌ¿Í ´Þ¸® ·ÕÅÒÀº Á¤¸» ¸ÖƼÇÁ·Î±×·¡¹ÖÀÇ Á¤µµ (¾ó¸¶³ª ¸¹Àº ÇÁ·Î¼¼½º¸¦ »ý¼ºÇϴ°¡)¿¡ µû¶ó ±× ºóµµ°¡ ºñ±³Àû õõÈ÷ ¹ß»ýÇÏ´Â ¿©À¯¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.

ÀÚ! ¿©±â¼­ ¿ì¸®´Â ¿Ö ¸¹Àº ¾îÇÃÀ» ¶ç¿ì°Ô µÇ¸é ½Ã½ºÅÛÀÌ ±¦ÀÌ ´õ ¹ö¹÷µÇ´ÂÁö¸¦ ±ú´Ý°Ô µÇÁÒ?

ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ ³íÇÒ¶§ ·ÕÅÒ°ú ¼ôÅÒ ½ºÄÉÁÙ¸µ ÀÌ·¸°Ô µÎ°³¸¸À» ¿©±â¼­´Â ¼Ò°³ÇßÁö¸¸, ¿ø·¡´Â ÇÑ°³¸¦ ´õ °¬´Ù ºÙÀ̱⵵ ÇØ¿ä. ¹Ù·Î ¹ÌµåÅÒ(mid-term) ½ºÄÉÁÙ¸µÀÔ´Ï´Ù. ¹ÌµåÅÒ ½ºÄÉÁÙ¸µÀº ÀÌ¹Ì ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ´Â ÇÁ·Î¼¼½ºÁß ¸î°¡Áö¸¦ Á¦°ÅÇØÁÜÀ¸·Î½á ¸ÖƼÇÁ·Î±×·¡¹ÖÀÇ Á¤µµ, Áï ¾¾ÇÇÀ¯¹× ¸Þ¸ð¸®ÀÇ ºÎÇϸ¦ ÁÙÀ̴µ¥ »ç¿ëµÇ´Â ±â¹ýÀε¥ ´Ù¸¥¸»·Î´Â ½º¿ÍÇÎ(swapping)À̶ó°íµµ ÇÕ´Ï´Ù. ÀÌ´Â ¸Þ¸ð¸® ½ºÄÉÁÙ¸µ¿¡¼­µµ µîÀåÇÏ´Â ¸»Àε¥ ¸Þ¸ð¸®¿¡ ÇÁ·Î¼¼½º¸¦ ¿Ã¸®´Â ½º¿ÒÀÎ(swap in), ¸Þ¸ð¸®¿¡¼­ ÇÁ·Î¼¼½º¸¦ Á¦°ÅÇÏ´Â(¿ÏÀüÈ÷ Áö¿ì´Â °ÍÀÌ ¾Æ´Ï¶ó Çϵåµð½ºÅ©°°Àº ±â¾ïÀåÄ¡¿¡ º¸°üÀ» ÇÏ°Ô µÇÁö¿ä) ½º¿Ò¾Æ¿ô(swap out)µîÀÌ ÀÖ¾î¿ä. ¿©±â¼­ ÇÑ°¡Áö ´À³¥¼ö ÀÖ´Â »ç½ÇÀº ¸Þ¸ð¸® ½ºÄÉÁÙ¸µÀ» ÀßÇÏ¸é °á±¹ ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ ¶ÇÇÑ È¿À²ÀûÀ¸·Î ÀÌ·ç¾îÁø´Ù´Â °ÍÀÌÁÒ.

¾¾ÇÇÀ¯°¡ ÇÑ ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Ù°¡ ½ÇÇàÇÏ´ø ÇÁ·Î¼¼½ºÀÇ »óŸ¦ ÀúÀåÇÏ°í, ¶Ç ´Ù¸¥ ÇÁ·Î¼¼½º·Î ¼ø°£ÀûÀ¸·Î ÀüȯÇؼ­ ½ÇÇàÀ» Çϴ°ÍÀÌ ¸ÖƼÇÁ·Î±×·¡¹ÖÀÇ ¿ø¸®¶ó´Â »ç½ÇÀ» ÀÌÁ¨ ±ú´ÞÀ¸¼ÌÀ»°Ì´Ï´Ù. À̶§ ¸ÚÁø ´Ü¾î°¡ Çϳª µîÀåÇÏÁÒ. ¹Ù·Î 'ÄÁÅؽºÆ® ½ºÀ§Äª(context switching)'ÀÔ´Ï´Ù. ÄÁÅؽºÆ® ½ºÀ§ÄªÀ̶õ ¹Ù·Î ¾¾ÇÇÀ¯°¡ ±×·¸°Ô ÇÁ·Î¼¼½º¸¦ ÀüȯÇÏ´Â ¼ø°£À» ÀÏÄ´ ¸»Àä, ¹®Á¦´Â ÀÌ°ÍÀÌ Á¤¸» ¼ø¼öÇÑ ¿À¹öÇìµå¶ó´Â »ç½ÇÀÔ´Ï´Ù. ¸ÖƼÇÁ·Î±×·¡¹ÖÀ» ±¸ÇöÇϱâ À§ÇÏ¿©, º»·¡ÀÇ ÇÁ·Î¼¼½ºµéÀÇ ³»¿ë°ú´Â °ü°è¾øÀÌ ±×³É ÀÌ·ç¾îÁö´Â °ÍÀÌÀݾƿä. ÄÁÅؽºÆ® ½ºÀ§ÄªÀº ¿À¿¡½º ÀÚüº¸´Ù´Â Çϵå¿þ¾îÀûÀΠȯ°æ¿¡ ´õ¿í ¿µÇâÀ» ¸¹ÀÌ ¹Þ°ÔµÇÁÒ. ÀÌ ÄÁÅؽºÆ® ½ºÀ§ÄªÀº ÇÑ ½Ã½ºÅÛÀÇ ¼º´ÉÀ» Æò°¡ÇÔ¿¡ À־ º´¸ñÇö»óÀÇ ÁÖµÈ ¿øÀÎÀÌ µÇ±âµµ ÇØ¿ä. ±×·¡¼­ ÀÌÁ¦´Â ÇÁ·Î¼¼½ºµé ³¢¸®´Â ÇÊ¿¬ÀûÀ¸·Î ÄÁÅؽºÆ® ½ºÀ§ÄªÀ» ÇÊ¿ä·Î ÇÑ´Ù´Â »ç½ÇÀ» ±Øº¹ÇÏ·Á´Â °úÁ¤¿¡¼­ ž´Â°ÍÀÌ ¹Ù·Î ±× À̸§µµ À¯¸íÇÑ ¾²·¹µå(thread)ÀÔ´Ï´Ù. ¾²·¹µå¿¡ ´ëÇÑ ¼³¸íÀº Á» ³ªÁßÀ¸·Î ¹Ì·ç±â·Î ÇÏ°í, ÀÏ´Ü ¿Ö ¸ÖƼ ¾²·¹µùÀÌ ºü¸¥ ¼º´ÉÀ» º¸¿©ÁÖ´ÂÁö¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ°¡ µÇ½Ã°ÚÁö¿ä? - ¹Ù·Î ÄÁÅؽºÆ® ½ºÀ§ÄªÀÌ ¾ø±â ¶§¹®ÀÌÁÒ :)

ÀÏ´Ü ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÀÌ·ÐÀûÀÎ À̾߱â´Â ¿©±â±îÁö ÇÏ°í, ´ÙÀ½ Àå¿¡¼­´Â ±¸Ã¼ÀûÀ¸·Î ¾î¶»°Ô Æз±Æ® ¹× Â÷Àϵå ÇÁ·Î¼¼½º¸¦ »ý¼º½ÃÅ°°í ÀÌ¿ëÇϸç, ±×¸®°í Á¾·á½ÃÅ°´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀ» Çϱâ·Î ÇÏÁÒ.

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