1. Process °ü¸®¸¦ À§ÇÑ Ä¿³Î ÀڷᱸÁ¶
Linux ¿î¿µÃ¼Á¦¿¡¼ ÇÁ·Î¼¼½º °ü¸®ÀÇ ÇÙ½ÉÀº ÇÁ·Î¼¼½º¸¦ ÃßÀûÇÏ°í °ü¸®ÇÏ´Â Ä¿³Î ÀڷᱸÁ¶¿¡ ÀÖ´Ù. ÀÌ ÀڷᱸÁ¶´Â ½Ã½ºÅÛ ³»¿¡¼ ½ÇÇà ÁßÀÎ ¸ðµç ÇÁ·Î¼¼½º¿¡ ´ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖÀ¸¸ç, ±× ÇÙ½ÉÀÌ µÇ´Â °ÍÀÌ ¹Ù·Î `task_struct`ÀÌ´Ù. `task_struct`´Â °¢ ÇÁ·Î¼¼½º¸¦ ³ªÅ¸³»´Â ±¸Á¶Ã¼·Î, ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ´Ù¾çÇÑ ¼Ó¼º°ú »óÅ Á¤º¸¸¦ ÀúÀåÇÑ´Ù. ÀÌ ±¸Á¶Ã¼´Â ÇÁ·Î¼¼½ºÀÇ PID(ÇÁ·Î¼¼½º ½Äº°ÀÚ), »óÅÂ, ¿ì¼±¼øÀ§, ºÎ¸ð ÇÁ·Î¼¼½º, ÀÚ½Ä ÇÁ·Î¼¼½º, ¸Þ¸ð¸® °ü¸® Á¤º¸ µî ¿©·¯ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÇÁ·Î¼¼½ºÀÇ »óÅ´ `state` Çʵ忡¼ È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ Çʵå´Â ÇÁ·Î¼¼½º°¡ ½ÇÇà ÁßÀÎÁö, ´ë±â ÁßÀÎÁö, Á»ºñ »óÅÂÀÎÁö µîÀ» ³ªÅ¸³½´Ù. ÀÌ¿Í °°Àº Á¤º¸´Â ¿î¿µÃ¼Á¦°¡ ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µÀ» ÅëÇØ CPU ÀÚ¿øÀ» ÇÒ´çÇÒ ¶§ Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù. ¶ÇÇÑ, `task_struct`¿¡´Â ½ºÄÉÁÙ¸µ °ü·Ã Á¤º¸ÀÎ `prio`, `static_prio`, `rt_priority` µîÀÌ Æ÷ÇԵǾî ÀÖ¾î, ¿î¿µÃ¼Á¦°¡ ¾î¶² ÇÁ·Î¼¼½º¸¦ ¿ì¼±ÀûÀ¸·Î ½ÇÇàÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÏ´Â µ¥ µµ¿òÀ» ÁØ´Ù. ¸Þ¸ð¸® °ü¸® Ãø¸é¿¡¼ `mm_struct`¶ó´Â ¶Ç ´Ù¸¥ ÀڷᱸÁ¶°¡ »ç¿ëµÈ´Ù. ÀÌ ±¸Á¶Ã¼´Â ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸® ¡¦(»ý·«)
|