OS에 대해 공부한 것을 복습해가며 예전 학교에서 배운 내용들도 같이 참고해가며 보고 있습니다.
그러다가 제가 공부한 내용과 학교에서 배운 내용이 서로 상반되어 어떤 것이 맞는지몰라 질문드립니다.
리눅스 커널 내부구조의 77페이지의 내용에 따르면 SCHED_FIFO와 SCHED_RR은 실시간 스케쥴링 정책이고 SCHED_OTHERS는 비실시간 스케쥴링 정책이라는 내용이 나옵니다.
하지만 제가 학교에서 배운내용은 SCHED_FIFO와 SCHED_RR도 실시간 스케쥴링이 아니라는 것이었습니다. 사실 교수님의 교재에도 둘은 실시간 클래스에 속한다는 표현이 있지만 그걸 굳이 X표를 치라고까지 하신걸보면 제가 내용을 틀리게 기억하고 있는것 같지는 않습니다. 교수님의 설명은 리눅스는 RT패치를 하지않은이상 중첩인터럽트를 지원하지 않기때문에 위 둘의 스케쥴링이 실시간이 될 수 없다고 말씀하셨습니다. 즉, 스케쥴링이 필요한 경우에도 커널안의 task는 스케쥴링이 되지 않기때문에 실시간 스케쥴링이 아니라는 뜻 입니다.
이에 대해 어떤 것이 맞는 설명인지, 아니면 제가 잘못 이해하고 있는 부분이 있는지 궁금합니다.
댓글 0
.