스케줄링에 대한 내용에 들어가기 앞서 필요한 내용들을 쭉 정리해보겠습니다. 프로세스들이 life cycle 동안 state transition을 진행하는 과정에서 발생하는 이벤트가 스케줄링입니다. 실행 중인 프로세스가 중단되고 다른 프로세스로 변경될려면 CPU를 할당받아 사용하던 프로세스는 안전한 곳으로 대피시키는 교체 작업을 했었는데 이것이 context switching 이였습니다. context switching은 dispatcher라는 모듈이 진행해줍니다. OS 스케줄러는 dispatcher와 밀접한 관계를 가지며, 위에는 또다른 scheduling policy로 구성된 2-level architecture 형태를 띕니다. 스케줄러는 여러 프로세스들에게 공평하면서 효율적이게 CPU를 공유시킬 수 ..