Linux 커널 스케줄러 코드가 실행 대기열을 잠그는 이유는 무엇입니까? 스케줄러는 커널 스레드를 생성하고 잠금은 두 스레드가 동시에 실행 대기열을 수정하지 못하도록 방지하는 것입니까?
답변1
각 프로세서에는 실행 대기열이 있으며 다른 프로세서의 다른 실행 대기열에 액세스하려고 할 수 있습니다. 실행 큐가 두 개 이상의 프로세서에 의해 작동되는 경우 손상을 방지하기 위해 잠금이 필요합니다.
참조: Robert Love의 "Linux Kernel Development"(부분은 다음에서 사용 가능)http://www.informit.com/articles/article.aspx?p=101760&seqNum=2)