- 요즘 실제 운영체제에서는 작업의 단위가 스레드라고 배웠다.
- 프로세스의 작업단위인 스레드는 스케줄링을 어떻게 하는지 알아보자
1) 경쟁 범위
- 프로세스간 경쟁 범위(Process Contention Scope-PCS)
- 사용자 수준 스레드를 가용한 LWP상에서 스케줄한다. 동일한 프로세스에 속한 스레드간 경쟁
- 시스템간 경쟁 범위(System Contention Scope - SCS)
- CPU상에서 동작하게 하기위해 운영체제가 LWP의 커널 스레드를
물리적인 CPU 코어로 스케줄링할지 경쟁
2) Pthread 스케줄링
- 사용자 수준과 커널 수준의 스레드를 지정할 수 있는 Pthread 라는 api 프로그램의 스케줄링
- 주요 함수
- PTHREAD_SCOPE_PROCESS : LWP를 스케줄 해주는 부분
- PTHREAD_SCOPE_SYSTEM : LWP를 생성하고, 이를 바인드 하게하는 부분