Internet °ü·Ã ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   [Java] ¾²·¹µå #3 1998/12/03 (17:33)
À̸§ ±èÈ¿¿ø
¹øÈ£ 58
Á¶È¸ 540
º»¹® ¾È³çÇϼ¼¿ä ÀáÅÊÀÌÀÔ´Ï´Ù.
¿äÁò Çб³¿¡¼­ ÇÑÂü ¿î¿µÃ¼Á¦¸¦ °øºÎÇÏ°í Àִµ¥,
ÀÌ°Í ¸øµû¸é Á¹¾÷¸øÇϰŵé¶û¿ä..
Áøµµ°¡ ¾²·¹µå, ÇÁ·Î¼¼½ºµîÀ» ¹è¿ì´Â °÷Àε¥, ¸¶Ä§ ¾²·¹µå°¡
ºñ±³Àû Àß ¼³¸íµÇ¾î ÀÖ¾î ±³¼ö´ÔÀÌ Á¤¸®ÇØÁֽŠ³ëÆ®¸¦ Áß½ÉÀ¸·Î
Àç ÆíÁýÇؼ­ ¿Ã¸³´Ï´Ù.

¹°·Ð ÀÌ ³»¿ëÀº ÀÚ¹ÙÀÇ ¾²·¹µå¿Í ´Ù¸¦ ¼öµµ ÀÖÁö¸¸,
¿Ö ÀÚ¹Ù¿¡¼­ ¾²·¹µå¸¦ »ç¿ëÇÏ´ÂÁö¿¡ ´ëÇØ ÀÌÇØÇÒ ¼ö ÀÖ´Â
ÁÁÀº ±âȸ°¡ µÉ °ÍÀ̶ó »ý°¢ÇÕ´Ï´Ù.

±³Àç´Â Operating System Concept - Silberschatz Galvin (4ÆÇ)
      ÃâÆÇ»ç´Â Addison Wesley °í¿ä, ¾Õ Ç¥Áö¿¡ °ø·æ ±×¸²ÀÌ ÀÖÀ½


 ¡¡ ÇÁ·Î¼¼½º¿Í ¾²·¹µå  ¡¡
            ¡á


£±. ÇÁ·Î¼¼½º¶õ ¹«¾ùÀΰ¡ ?

 ÇÁ·Î¼¼½º¶õ ?
¢± ¼öÇàÁßÀÎ ÇÑ ÇÁ·Î±×·¥
¢± ÇÑ ÇÁ·Î¼¼½ºÀÇ ¼öÇàÀº ¼øÂ÷ÀûÀ¸·Î ÁøÇàµÊ
¢± Áï ¾î¶² ½ÃÁ¡¿¡µµ ÇÁ·Î¼¼½ºÀÇ ÇÑ ÀνºÆ®·°¼Ç¸¸ÀÌ ¼öÇàµÉ ¼ö ÀÖÀ½

 ÇÁ·Î±×·¥°ú ÇÁ·Î¼¼½ºÀÇ Â÷ÀÌ
¢± ÇÁ·Î±×·¥ : Passive Entry (Static)
¢± ÇÁ·Î¼¼½º : Active Ebtry (Dynamic)
  : ÇÁ·Î±×·¥ + ·¹Áö½ºÅÍ + ÇÁ·Î±×·¥ Ä«¿îÅÍ + ÀÚ¿ø(Resource)

 ÇÁ·Î¼¼½ºÀÇ ±¸¼º¿ä¼Ò
¢± Code(TEXT) : ¿ì¸®°¡ »ý°¢ÇÏ´Â ¼Ò½ºÄڵ尡 ¾Æ´Ï¶ó ½ÇÇàÄÚµå
¢± ÇÁ·Î±×·¥ Ä«¿îÅÍ
¢± ·¹Áö½ºÅÍ
¢± µ¥ÀÌŸ
¢± ½ºÅÃ
¢± µ¥ÀÌŸ ¼½¼Ç(Àü¿ªº¯¼ö) : À¯´Ð½º¿¡¼­´Â À̹ÌÁö(image)¶ó°í ºÎ¸§
¢± ÇÁ·Î¼¼½º´Â ÇÁ·Î±×·¥ÀÇ À̹ÌÁö ¼öÇàÀ» À§ÇØ ÇÊ¿äÇÑ ÀÚ¿ø
  (¸Þ¸ð¸®, CPU, PCB)µîÀÌ ÇÒ´çµÇ¾î »ý±è

 ÇÁ·Î¼¼½ºÀÇ »óÅÂ
¢± New
¢± Ready (´Ù¼ö)
¢± Running (1°³)
¢± Waiting (´Ù¼ö)
¢± Terminate


    ¦£¦¡¦¡¦¡¦¤          ¨èCpu Scheduler           ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¤
    ¦¢ New  ¦¢          ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤        ¦¢ Terminate  ¦¢
    ¦¦¦¡¦¨¦¡¦¥      ¦£¦¡¦ª¦¡¦¤    ¦£¦¡¦¡¦ª¦¡¦¡¦¤  ¦¦¦¡¦¡¦¨¦¡¦¡¦¡¦¥
        ¦¦¦¡¦¡¦¡¦¡¦¡¦© Ready¦¢    ¦¢ Running  ¦§¦¡¦¡¦¡¦¡¦¥
     ¨çJob Scheduler¦¦¦¨¦¡¦¨¦¥    ¦¦¦¨¦¡¦¨¦¡¦¡¦¥
                      ¦¢  ¦¦¦¡¦¡¦¡¦¡¦¥  ¦¢¨ê
                      ¦¢  ¨éInterrupt   ¦¢I/O or Event
                      ¦¢¦£¦¡¦¡¦¡¦¡¦¡¦¤  ¦¢ Wait
                      ¦¦¦© Waiting  ¦§¦¡¦¥
                        ¦¦¦¡¦¡¦¡¦¡¦¡¦¥


¨ç Job Scheduler : »õ·Î¿î Process°¡ »ý±â¸é(new) ÀÌ ½ºÄÉÁì·¯°¡ ÀûÀýÇÏ°Ô
                  Ready Queue¿¡ Áý¾î ³Ö¾î ÁØ´Ù

¨è Cpu Scheduler : Ready Queue¿¡ µé¾î ÀÖ´Â ProcessÁß¿¡ ´ÙÀ½¹ø¿¡ ¼öÇàµÉ
                  Process¸¦ °ñ¶ó Running.(¼±Åà ¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖÀ½)

¨é Interrupt : RunningÁß¿¡ ³Ê¹« ¸¹ÀÌ ¼öÇàµÈ´Ù°Å³ª Çϸé Interrupt¸¦ °É¾î
              Ready Queue·Î »óŸ¦ ¹Ù²Ù°Ô ÇÑ´Ù.

¨ê I/O or Event Wait : ÆÄÀÏ ÀÔÃâ·Âµî·Î ÀÎÇØ ´ë±â ½Ã°£ÀÌ ±æ¾îÁö¸é Waiting
                      »óÅ·Π³Ñ°Ü¹ö¸®°í, CPU·Î ÇÏ¿©±Ý ´Ù¸¥ ÀÏÀ» ÇÏ°Ô ÇÑ´Ù.

ÀÌ·¸°Ô ÇÁ·Î¼¼½º¸¦ °ü¸®ÇÏ´Â °ÍÀº CPUÂ÷¿ø¿¡¼­ ³î°í ÀÖ´Â ½Ã°£(¨êÀÇ °æ¿ì)À»
ÃÖ¼ÒÈ­ÇÏ°í, ÀüüÀûÀ¸·Î ÇÁ·Î¼¼½ºµé°£¿¡ ½Ã°£ºÐ¹è¸¦ °øÆòÇÏ°Ô ÇÒ·Á°í(¨é) Çϱâ
¶§¹®ÀÌ´Ù. ¹¹ ´Ù¸¥ ÀÌÀ¯µéµµ ¸¹ÀÌ ÀÖ±ä ÇÏÁö¸¸... ±×¸®°í ¸ÖƼ ÇÁ·Î¼¼½Ì¿¡¼­.

¡Û ÇÁ·Î¼¼½º Á¦¾î ºí·°(Process Control Block, PCB)
Á¤ÀÇ : ÇÑ ÇÁ·Î¼¼½º¿¡ °ü·ÃµÈ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â µ¥ÀÌŸ ºí·ÏÀ̳ª ·¹ÄÚµå

¢± ÇÁ·Î¼¼½º »óÅ                     ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
                                    ¦¢ Æ÷ÀÎÅÍ     ¦¢ÇÁ·Î±×·¥Ä«¿îÅͦ¢
¢± ÇÁ·Î±×·¥ Ä«¿îÅÍ                   ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
: ´ÙÀ½¿¡ ¼öÇàÇÒ ÀνºÆ®·°¼Ç ÁÖ¼Ò     ¦¢  ÇÁ·Î¼¼½º ¹øÈ£             ¦¢
                                    ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
¢± CPU ·¹Áö½ºÅÍµé                    ¦¢  ÇÁ·Î¼¼½º »óÅ             ¦¢
                                    ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
¢± CPU ½ºÄÉÁ층 Á¤º¸                 ¦¢  CPU ·¹Áö½ºÅÍµé            ¦¢
                                    ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
¢± ¸Þ¸ð¸® °ü¸® Á¤º¸                  ¦¢  CPU ½ºÄÉÁÙ·¯µé            ¦¢
                                    ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
¢± ȸ°è Á¤º¸                         ¦¢  È¸°è Á¤º¸                 ¦¢
: CPU»ç¿ë·®, ÇÁ·Î¼¼½º ¹øÈ£          ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
                                    ¦¢  I/O »óÅ Á¤º¸             ¦¢
¢± I/O »óÅ Á¤º¸                     ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
: I/O ¿äûµé, I/O ÀåÄ¡µé            ¦¢  Swapping »óÅ Á¤º¸        ¦¢
  Open File ¸®½ºÆ®                  ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
                                              PCB  ±×¸²

 ½ºÄÉÁ층°ú Context Switching
¿î¿µ üÁ¦´Â ÇÁ·Î¼¼½º»Ó¸¸ ¾Æ´Ï¶ó I/O, DeviceµîÀÇ Å¥¿¡¼­ ÇÁ·Î¼¼½ºµéÀ»
¼±ÅÃÇؼ­ Running ½ÃÄÑÁà¾ß ÇÔ. ¿©±â¼­ ¼±ÅÃÇÏ´Â °ÍÀÌ ¹Ù·Î ½ºÄÉÁÙ¸µÀÌ°í
¼±ÅÃµÈ ÇÁ·Î¼¼½º¿Í ·±´×ÁßÀÎ ÇÁ·Î¼¼½º°£À» ¹Ù²Ù¾î ÁÖ´Â °ÍÀÌ Context
SwitchingÀÌ´Ù.
½ÇÁ¦ Context SwitchingÀÌ ÀϾ ¶§ »ç¿ëÇÏ´Â °ÍÀÌ PCB¸¦ ÀÌ¿ë
±×¸²À¸·Î µÎ°³ÀÇ ÇÁ·Î¼¼½º°£¿¡ ½ºÀ§ÄªÀ» »ìÆ캸¸é ´ÙÀ½°ú °°´Ù.

¦¬¦¬ ½ÇÇà(Running)
¦¡¦¡ ´ë±â(Idle)
  Swithcing

ÇÁ·Î¼¼½º P0                                        ÇÁ·Î¼¼½º P1
  ¦­                                                    ¦¢
  ¦­P0 ½ÇÇà                                             ¦¢
  ¦­                                             Idle   ¦¢
              ¡á                      p1    ¦¢
  ¦¢                      ¡¡                            ¦¢
  ¦¢      ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤          ¦¢
  ¦¢      ¦¢Save state into PCB0            ¦¢          ¦¢
  ¦¢      ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥          ¦¢
  ¦¢      ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤          ¦¢
  ¦¢      ¦¢   Load  state from PCB1        ¦¢          ¦¢
  ¦¢      ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥          ¦¢
  ¦¢                                    ¦¬¦´
  ¦¢                                                    ¦­
  ¦¢                                           P1 ½ÇÇà  ¦­
  ¦¢  Idle P0                                           ¦­
  ¦¢                                                    ¦­
  ¦¢                                                    ¦­
  ¦¢                                     ¦´
  ¦¢      ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤          ¦¢
  ¦¢      ¦¢   Save  state from PCB1        ¦¢          ¦¢
  ¦¢      ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥    Idle  ¦¢
  ¦¢      ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤     p1   ¦¢
  ¦¢      ¦¢   Load  state from PCB0        ¦¢          ¦¢
  ¦¢      ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥          ¦¢
  ¦¢                      ¡¡                            ¦¢
              ¡á                            ¦¢
  ¦­                                                    ¦¢
  ¦­ P0 ½ÇÇà                                            ¦¢
  ¦­                                                    ¦¢

               ±×¸² Context ½ºÀ§ÄªÀÌ ¹ß»ýÇÒ¶§


 À§ÀÇ ±×¸²¿¡¼­ º¸À̵íÀÌ Context SwitchingÀÌ ¹ß»ýÇÒ ¶§
  °¢ ÇÁ·Î¼¼½ºµéÀÇ ÇöÀç »óŵéÀ» ±â·ÏÇÑ PCB¸¦ ±â·ÏÇÏ°í
  ·ÎµåÇØ¿Í¾ß ÇÑ´Ù. À̶§ ¹ß»ýÇÏ´Â ¸ð½ÀÀ» ±×¸²À¸·Î »ìÆ캸¾ÒµíÀÌ
  ÇÁ·Î¼¼½º°¡ ³¶ºñµÇ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù.(¹°·Ð ±×¸²À̶ó »ó´çÈ÷
  Å©°Ô °úÀåµÇ¾î ÀÖ´Ù)

  ¿©±â¼­ À¯½ÉÈ÷ »ìÆì º¸¾Æ¾ß ÇÒ °ÍÀº ÇÁ·Î¼¼½º°¡ ¼öÇàµÇ±â
  À§Çؼ­ ¸¹Àº ÀÚ¿øµéÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.

  ±×·¡¼­ ÀÌÁ¦ Thread¶ó´Â °³³äÀÌ µîÀåÇÏ°Ô µÈ´Ù.



£². ¾²·¹µå¶õ ¹«¾ùÀΰ¡ ?

 ¾²·¹µå¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯.
¢± ÇÁ·Î¼¼½º¸¦ °øµ¿À¸·Î ¾µ ¼ö ÀÖ°Ô ÇÑ´Ù.
¢± ÇÁ·Î¼¼½º Context SwitchingÀ» ÇÒ¶§ ½Ã°£ÀÌ ¸¹ÀÌ °É¸°´Ù.

 ¾²·¹µå
¢± LightWeight Process(LWP)¶ó°í ÇÔ.
¢± CPU ÀÌ¿ëÀÇ ±âº»´ÜÀ§
¢± ±¸¼º¿ä¼Ò
  ÇÁ·Î±×·¥ Ä«¿îÅÍ
  ·¹Áö½ºÅÍ ¼Â
  ½ºÅà °ø°£(Stack Space)
¢± ¿¬°üµÈ ¾²·¹µåµéÀÌ ¸Þ¸ð¸®¿Í È­ÀÏÀ» °øÀ¯ÇÔÀ¸·Î½á
  Reduced State¸¦ °®´Â LWP ÇÁ·Î¼¼½º
¢± ¾²·¹µå - based ½Ã½ºÅÛ¿¡¼­´Â ¾²·¹µå°¡ ½ºÄÉÁ층 ´ÜÀ§
¢± °¢ ¾²·¹µå´Â ÇÑ ÇÁ·Î¼¼½º¿¡¸¸ ¼ÓÇÔ
¢± ÇÁ·Î¼¼½º ÀÌ¿ÜÀÇ ¸ðµç ÀÚ¿øÀ» enclosing ÇÁ·Î¼¼½º°¡ °ü¸®
  °ü·ÃµÈ thread°£ÀÇ switchingÀº ºü¸£°í È¿À²ÀûÀÓ.
¢± ¾²·¹µåµµ ÀÚ½Ä ¾²·¹µå¸¦ °¡Áú ¼ö ÀÖÀ½
¢± ÇÑ ¾²·¹µå°¡ ºí·Ï(Block)µÇ¾úÀ»¶§, µ¿ÀÏ ÇÁ·Î¼¼½º³»ÀÇ
  ´Ù¸¥ ¾²·¹µå ¼öÇà°¡´É
¢± ÇÑ ÇÁ·Î¼¼½º³»ÀÇ ThreadµéÀº »óÀÌÇÑ ÇÁ·Î¼¼½ºµé¸¸Å­ µ¶¸³ÀûÀÌÁö ¾ÊÀ½
¢± ¾²·¹µåµé°£ÀÇ º¸È£°¡ ¾ø´Â ÀÌÀ¯(Protection ÇÒ ¼ö ¾ø´Ù)
  - ºÒ°¡´É(µ¿ÀÏÇÑ ÁÖ¼Ò °ø°£À» °¡Áö¹Ç·Î µ¿ÀÏÇÑ Àü¿ª º¯¼ö¸¦ °øÀ¯)
  - ºÒÇÊ¿ä.
  - (÷ºÎ) µ¿±âÈ­(Synchronized)¸¦ ÀÌ¿ëÇÏ¸é µÊ : ÀÚ¹Ù¿¡¼­
¢± ÇÑ ÀÀ¿ë³»¿¡¼­ Concurrency¸¦ ³ôÀ̴µ¥ È¿°úÀûÀÌ´Ù.
¢± ºñ±³Àû ÃÖ±Ù¿¡ °³¹ßµÈ ¿î¿µÃ¼Á¦ °³³ä
 ¿¹) Sun's Unix, Mach, OS/2, Windosw95(?)



À½³Ä ´ëÃæ Á¤¸®¸¦ ÇØ º¸¾Ò´Âµ¥, ¾ÆÁ÷µµ °³³äÀÌ Àúµµ Àß ¾È ÀâÈ÷´Â ±º¿ä.
ÀÚ¼¼ÇÑ ¼³¸íÀ» ¸øµå¸®´Â °ÍÀ» ÀÌÇØÇØÁֽñ⠹ٶø´Ï´Ù.
±×¸®°í http://www.sun.com/¿¡ °¡¼Å¼­ ÀÚü °Ë»ö¿£ÁøÀ¸·Î
Thread¸¦ °Ë»öÇÏ½Ã¸é ¼Ö¶ó¸®½º¿ë ¾²·¹µå¿¡ °üÇÑ ÀÚ·á°¡ ¸¹ÀÌ ³ª¿É´Ï´Ù.
¿¹Àü¿¡ Àú´Â ±×°Ô ÀÚ¹Ù¶û »ó°ü¾ø´Ù°í Çؼ­ ±×³É ¹ö·È´Âµ¥.. ÈæÈæ
±Ùµ¥ °Å±â¼­ºÎÅÍ °³³äÀ» ºô·Á¿Â °Í °°¾Æ¿ä...
°ü½ÉÀÖ´Â ºÐµéÀº Çѹøµé ã¾Æ°¡¼­ Á÷Á¢ º¸½Ã¸é ±×¸²µµ ÀÖ°í ÁÁ½À´Ï´Ù.

               ½Å¼¼´ë ¾ð¾î ÀÚ¹Ù Àü¹®°¡¸¦ ²Þ²Ù´Â
               ÀáÅÊÀÌ 3Àιæ, ½ÅÁ¤È£, Á¦°¥¿µ, Á¶±¹




HomePage Backward Forward Post Reply List
1998 by swindler