리눅스 커널에서 정적 우선순위와 동적 우선순위에 대해 이론이 궁금합니다.
글쓴이: bbyongi / 작성시간: 토, 2010/10/30 - 9:26오후
리눅스 커널을 공부하다 보니 리눅스 커널에서는 우선순위가 140단계까지 있고
정적 우선순위기 0~99까지 100개, 동적 우선순위는 nice 값이라는 걸로 -20~19인
40단계로 구분된다고 어디선가 주어들었습니다.
제가 궁금한 부분은 리눅스 커널에서 우선순위에 의해 스케줄링이 될 때
정적 우선순위는 커널이 부팅하면서 부터 정해지는 고정된 0~99 단계의 우선순위라면
동적으로 할당가능한 nice값은 정적 우선순위 이후인 100(-20)~139(19) 로 매칭이 되는건가요?
아니면 정적 우선순위에 nice값을 더해서 최종 우선순위가 정해지는 건가요?
제가 가진 책에 이런 부분에 대한 설명이 나와있지 않아서 질문드립니다.
예를들면 정적 우선순위 50인 프로세스가 있다면
여기에 nice값을 조정하여 우선순위를 50+(-20)=30 까지 높일 수 있고,
반대로 우선순위를 50+(19)=69까지 낮출 수 있는 방식인건가요?
아니면 정적 우선순위 50인 프로세스는 말 그대로 정적 우선순위 50인거고
동적으로 변경가능한 nice값은 이 정적 우선순위 프로세스에 할당할 수 없으며
따로 동적으로 생성된 프로세스에 한해서만 nice값을 설정할 수 있으며
이런 동적으로 생성된 프로세스는 아무리 우선순위를 변경해도
0~99가지의 정적 우선순위보다 우선순위가 높아질 수 없는 방식인건지
리눅스 커널 우선순위 정책에 대해 명확한 답변을 듣고 싶습니다.
Forums:
댓글 달기