온라인 인터뷰를 준비하던 중 이런 질문을 보았습니다.
비선점형 커널이 주어지면 어떤 유형의 프로세스가 성능 측면에서 더 많은 어려움을 겪게 되며 그 이유는 무엇입니까?
I\O 제한 사항
CPU 한도
알아요:
CPU 집약적인 프로세스는 긴 퀀텀을 갖지만 우선순위는 낮고, I/O 집약적인 프로세스는 짧은 퀀텀을 갖지만 우선순위는 더 높습니다.
처음에는 디스크에서 읽기가 완료될 때까지 기다려야 하기 때문에(준비가 되었을 때 OS에 깨우도록 요청하는 대신) I\O 바인딩이 더 많은 영향을 받을 것이라고 생각했습니다. 비선점형 커널 프로세스는 자체 재량에 따라 작업을 완료하고 다른 프로세스가 작업을 계속하도록 할 수 있습니다.
여기서 누락된 내용에 대한 통찰력을 제공하기 위해 자세한 답변을 찾고 있습니다.
답변1
"CPU 집약적인 프로세스는 긴 퀀텀을 갖지만 우선순위는 낮은 반면, I/O 집약적인 프로세스는 높은 우선순위의 짧은 퀀텀을 얻습니다."라는 것은 사실이 아닙니다.
그렇다면 이상적일 것입니다. 그러나 일반적으로 각 프로세스는 거의 동일한 시간 분할을 갖습니다. I/O 집약적인 프로세스는 CPU를 빠르게 포기합니다.
다양한 우선순위를 정하세요동적으로그렇지 않으면 어려운 일이고 커널이 선점할 수 없기 때문에 이 우선순위를 달성하는 방법이 명확하지 않습니다.