¿Ã·¹Æ÷Æ® : ´ëÇз¹Æ÷Æ®, Á·º¸, ½ÇÇè°úÁ¦, ½Ç½ÀÀÏÁö, ±â¾÷ºÐ¼®, »ç¾÷°èȹ¼­, Çо÷°èȹ¼­, ÀÚ±â¼Ò°³¼­, ¸éÁ¢, ¹æ¼ÛÅë½Å´ëÇÐ, ½ÃÇè ÀÚ·á½Ç
¿Ã·¹Æ÷Æ® : ´ëÇз¹Æ÷Æ®, Á·º¸, ½ÇÇè°úÁ¦, ½Ç½ÀÀÏÁö, ±â¾÷ºÐ¼®, »ç¾÷°èȹ¼­, Çо÷°èȹ¼­, ÀÚ±â¼Ò°³¼­, ¸éÁ¢, ¹æ¼ÛÅë½Å´ëÇÐ, ½ÃÇè ÀÚ·á½Ç
·Î±×ÀΠ ȸ¿ø°¡ÀÔ

ÆÄÆ®³Ê½º

ÀÚ·áµî·Ï
 

Àå¹Ù±¸´Ï

´Ù½Ã¹Þ±â

ÄÚÀÎÃæÀü

¢¸
  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (1 ÆäÀÌÁö)
    1

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (2 ÆäÀÌÁö)
    2

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (3 ÆäÀÌÁö)
    3

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (4 ÆäÀÌÁö)
    4

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (5 ÆäÀÌÁö)
    5

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (6 ÆäÀÌÁö)
    6

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (7 ÆäÀÌÁö)
    7

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (8 ÆäÀÌÁö)
    8


  • º» ¹®¼­ÀÇ
    ¹Ì¸®º¸±â´Â
    8 Pg ±îÁö¸¸
    °¡´ÉÇÕ´Ï´Ù.
¢º
Ŭ¸¯ : Å©°Ôº¸±â
  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (1 ÆäÀÌÁö)
    1

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (2 ÆäÀÌÁö)
    2

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (3 ÆäÀÌÁö)
    3

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (4 ÆäÀÌÁö)
    4

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (5 ÆäÀÌÁö)
    5

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (6 ÆäÀÌÁö)
    6

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (7 ÆäÀÌÁö)
    7

  • ½º·¹µå °ü·Ã ·çƾ ºÐ¼®   (8 ÆäÀÌÁö)
    8



  • º» ¹®¼­ÀÇ
    (Å« À̹ÌÁö)
    ¹Ì¸®º¸±â´Â
    8 Page ±îÁö¸¸
    °¡´ÉÇÕ´Ï´Ù.
  ´õºíŬ¸¯ : ´Ý±â
X ´Ý±â
Á¿ìÀ̵¿ : µå·¡±×

½º·¹µå °ü·Ã ·çƾ ºÐ¼®

ÀÎ ¼â
¹Ù·Î°¡±â
Áñ°Üã±â Űº¸µå¸¦ ´­·¯ÁÖ¼¼¿ä
( Ctrl + D )
¸µÅ©º¹»ç ¸µÅ©ÁÖ¼Ò°¡ º¹»ç µÇ¾ú½À´Ï´Ù.
¿øÇÏ´Â °÷¿¡ ºÙÇô³Ö±â Çϼ¼¿ä
( Ctrl + V )
¿ÜºÎ°øÀ¯
ÆÄÀÏ  ½º·¹µå °ü·Ã ·çƾ ºÐ¼®.hwp   [Size : 24 Kbyte ]
ºÐ·®   8 Page
°¡°Ý  1,000 ¿ø


īƮ
´Ù¿î¹Þ±â
īī¿À ID·Î
´Ù¿î ¹Þ±â
±¸±Û ID·Î
´Ù¿î ¹Þ±â
ÆäÀ̽ººÏ ID·Î
´Ù¿î ¹Þ±â
µÚ·Î

ÀÚ·á¼³¸í
½º·¹µå °ü·Ã ·çƾ ºÐ¼®¿¡ ´ëÇÑ ±ÛÀÔ´Ï´Ù.
alarmschedulerthreadsclassºÐ¼®
º»¹®/³»¿ë
+ Scheduler::FindNextToRun()
▪ read »óÅ¿¡ ÀÖ´Â threadÀ» ¼±ÅÃÇϰí ÀÌ thread¸¦ returnÇÑ´Ù.
▪ FindNextToRun()ÇÔ¼ö´Â ´Ü¼øÈ÷ ready listÀÇ ¾Õ¿¡ ÀÖ´Â thread¸¦ returnÇÑ´Ù.
▪ codeºÐ¼®
- ASSERT()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿©¼­ (kernel->interrupt->getLevel() == IntOff) °¡ trueÀÏ °æ¿ì
Áï, interrupt°¡ disableÇÏ°Ô µÇ¾úÀ» °æ¿ì °è¼Ó ½ÇÇàÇÑ´Ù.
- ready list¿¡ thread°¡ ¾ø´Ù¸é NULLÀ» returnÇÑ´Ù.
- ready list¿¡ thread°¡ Á¸ÀçÇÑ´Ù¸é readyList->RemoveFront()ÀÇ return°ªÀ» returnÇÑ´Ù.
+ SynchList::RemoveFront()
▪ lock->Acquire()ÇÔ¼ö¸¦ È£ÃâÇÏ¿©¼­ listÀÇ mutual exclusive access¸¦ ½Ç½ÃÇÑ´Ù.
▪ ready list°¡ ºñ¿ö ÀÖÁö ¾ÊÀ» ¶§±îÁö ±â´Ù¸°´Ù.
▪ listÀÇ Á¦ÀÏ ¾ÕÀÇ itemÀ» ÃëÇØ¼­ itemº¯¼ö¿¡ ÀúÀåÇÑ´Ù.
▪ lock->Release()ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
▪ item¸¦ returnÇÑ´Ù.
+ Scheduler::Run(Thread *nextThread, bool finishing)
▪ current thread¸¦ suspendÇÏ°í »õ·Î¿î thread¸¦ switchÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù.
&¡¦(»ý·«)



📝 Regist Info
I D : kwgs*****
Date : 2011-03-11
FileNo : 16136678

Cart