안녕하세요 저는 Understanding of the Linux Kernel을 공부 시작한지 얼마안되었고 보다가 질문이 생겨서 그런데요
실시간 프로세스가 Runqueue에 밑의 그림처럼 들어와있다고 가정하구요.
(sched_rr : round robin, sched_fifo : FIFO 실시간 프로세스)
우선순위 runqueue (active)
--------------------------------------------------------------
0 없음
--------------------------------------------------------------
1 b(sched_rr) -> c(sched_rr) -> d(sched_fifo)
2
.
.
.
99 e(sched_fifo)
--------------------------------------------------------------
그럼 bc는 라운드 로빈이고 time slice를 쓰는 녀석이라서 CPU를 다음 녀석한테 줄꺼 잖아요. b -> c -> d까지요.
그런데 d까지 오게되면 실시간 프로세스가 fifo 정책이라서 우선순위가 더 높은 녀석이 오거나 block 당하거나 아니면 종료될때까지는 CPU를 양보해주지 않을텐데요.
그러면 여기서 질문을 하자면
1. d -> b -> c에서 block 당하거나 종료될때까지 계속 무한으로 d가 점유하는게 맞는지요.
2. 그리고 같은 우선순위에 저렇게 다른 스케줄링 정책을 (우선순위 1에 round robin, fifo 두가지 정책이 다있음) 가진 프로세스가 들어가도 되는것도 맞지요?
댓글 2
.
흠...... 제가 잘 안다고는 못하겠지만...
질문이 좀 모호한게 아닌가 싶습니다.
사실 답을 할 순 없어도 질문 내용을 이해하고는 싶은데... 잘 이해가 안됩니다..