유휴 프로세서가 있어도 커널이 준비된 스레드를 실행하지 못하게 할 수 있습니까?

유휴 프로세서가 있어도 커널이 준비된 스레드를 실행하지 못하게 할 수 있습니까?

각 스레드의 선호도는 모든 프로세서라고 가정합니다. 스레드가 준비될 때마다 커널은 스레드를 실행할 유휴 프로세서를 찾으려고 합니까?

답변1

커널의 프로세스 스케줄러는 코어가 유휴 상태가 될 때까지 기다리지 않고 실제로 affinity및 를 기반으로 각 코어에서 순차적으로 처리 슬라이스를 가져오기로 결정합니다 priority.

스레드가 휴면 상태이거나 I/O를 기다리는 경우 스케줄러가 처리 대기열에서 해당 스레드로 다시 순환할 때까지 건너뜁니다.

이를 더 자세히 이해하려면 소스 코드를 읽어야 합니다. 이는이것커널의 가장 복잡한 부분.

관련 정보