프로세스의 fork()시스템 호출 동작과 다음 스케쥴링 epoch시에
글쓴이: swhong / 작성시간: 목, 2003/02/27 - 9:24오후
제목이 조금 길었네요...^^;;
정말 궁금한데요...
다음은 Understanding the Linux Kernel에서 본 내용입니다.
do_fork()함수의 호출시, parent(current)와 child(p)의 counter field값은 다음과 같이 조정된다고 합니다.
current->counter >>= 1; p->counter = current->counter;
즉 parent의 time quantum을 반으로 쪼개서 child에게 나누어 주는 셈이지요...
그렇다면, parent와 child가 time quantum을 모두 소비(exhaust)한후 다음 scheduling epoch에서(즉, 모든 프로세스가 time quantum을 소비하여 다시 time quantum을 부여해 줄때)
이 두 parent와 child의 time quantum은 어떻게 부여되나요?
아무 관계없이 process의 종류에 따라 배분이 되나요... 아니면 어떤 penalty가 주어지나요?
마지막으로, 만약 parent가 하나가 아닌 두개의 같은 종류의 process를 fork()했다면 또 어떻게 되나요?
아.... 정말.... 머리아포라....
커널 코드에서 한 epoch 가 끝나서(모든 프로세스의 time quantum이 다 소모되어) 다시 time quantum을 할당 하는 부분의 코드는 어디에 있죠?
아..... 정말.... 머리 아푸시죠?
죄성합니다.... 그래도 열씸히 하는 하수에게 가르침을....
Forums:
댓글 달기