
CS/OS
[운영체제/OS] CPU 스케쥴링 - (1)
1. 들어가면서 CPU 스케줄링은 어떤 프로세스를 어느 시간동안 실행시킬 것인가를 결정하는 과정이라고 생각할 수 있습니다. 스케줄링을 공부하기 이전에 두 가지 용어를 우선 정의하면 좋을 것 같은데요. Nonpreemptive scheduling : 이미 할당된 자원을 다른 프로세스가 빼앗을 수 없는 방식 Preemptive scheduling : Time slice가 소진되었거나 I/O Interrupt, system call 등이 발생하면 현 실행 프로세스로부터 강제로 CPU를 회수하여 프로세스를 스위칭하는 방식 이 두 가지 용어는 앞으로 정말 많이 나올 예정이니, 헷갈리지 않게 잘 알아두면 좋을 것 같습니다. 헌편, 예전에 프로세스의 다섯 가지 상태에 대해서 글을 썼을 때 참고한 그림이 있었습니다. ..