스케줄러 활성화

Scheduler activations

스케줄러 활성화는 운영 체제의 프로세스 스케줄러에서 구현될 때 사용자 레벨 스레드 유연성과 성능을 갖춘 커널 레벨 스레드 기능을 제공하는 스레딩 메커니즘이다.이 메커니즘은 소위 "N:N개의 애플리케이션 스레드 수를 일부 커널 엔티티 또는 "가상 프로세서"에 매핑하는 M" 전략.이것은 커널 레벨("1:1")과 사용자 레벨("N:1") 스레딩 사이의 절충이다.일반적으로 "N:M" 스레딩 시스템은 커널이나 사용자 스레드에 비해 구현이 더 복잡하며, 커널과 사용자 공간 코드에 대한 변경이 모두 필요하기 때문이다.

스케줄러 활성화는 1991년 스케줄러 활성화: 평행주의 사용자 수준 관리를 위한 효과적인 커널 지원에서 Anderson, Bershad, Lazowska 및 Levy에 의해 제안되었다.지원은 Nathan Williams에[1] 의해 NetBSD 커널에서 실행되었지만, 이후 1:1 스레딩을 선호하여 포기되었다.[2]FreeBSD는 커널 스케줄링 엔티티라는 유사한 스레딩 구현을 가지고 있었는데, 이 역시 1:1 스레딩을 위해 폐기되고 있다.스케줄러 활성화는 마르셀 스레드 라이브러리에서 수행되고 있는 사용자 수준 파트인 빈센트 단장: 리눅스 액티베이션에 의해 리눅스 커널의 패치로도 구현되었다.

참조