[운영체제(OS)] CPU 스케줄링 - (2) 스케줄링 알고리즘
2022. 2. 25. 13:42
CS/운영체제
0.🚶들어가며 지난 글에서는 CPU 스케줄링이 무엇인지에 대해 알아보았습니다. 이번 글에서는 CPU 스케줄링 성능을 측정할 때 척도는 무엇이 있는지, 스케줄링 알고리즘은 어떤 것들이 있는지에 대해 알아보겠습니다. 1.⏰CPU 스케줄링 성능 척도 스케줄링 알고리즘에 대해 알아보기 전, 각 알고리즘의 성능은 어떤 기준으로 측정할 것인지에 대해 먼저 알아보겠습니다. CPU 스케줄링의 성능은 시스템 입장에서의 성능과 사용자 입장에서의 성능, 두 가지로 나누어 고려해볼 수 있습니다. 시스템 입장에서는 CPU를 쉬지 않고 최대한 많이 돌리는 것이 중요하고, 사용자 입장에서는 자신이 요청한 작업이 빨리 처리되는 것이 중요합니다. 하지만 두 입장 모두를 만족시키는 것이 쉽지 않습니다. 따라서 상황에 맞게 CPU 스케줄..
[운영체제(OS)] CPU 스케줄링 - (1) CPU 스케줄링의 개념
2022. 2. 17. 21:40
CS/운영체제
0.🚶들어가며 이전 글에서는 프로세스와 스레드에 대해 알아보았었습니다. 프로세스가 CPU에 할당을 받아야 작업을 수행한다고 했었죠. 이때 여러 프로세스 중 누가 CPU의 할당을 받을 것인지에 대한 내용을 다룬 CPU 스케줄링에 대해 글을 작성해보겠습니다. 1.⏰CPU 스케줄링이란? 이전 글에서 알아봤듯 프로세스는 생성되고 난 뒤 여러 상태를 거치게 됩니다. 운영체제의 CPU 스케줄러는 Ready 상태의 프로세스 중에서 어떤 프로세스에게 CPU를 할당할지 결정합니다. 이를 CPU 스케줄링이라 하는 것이죠. 또한 Dispatcher는 CPU 제어권을 CPU 스케줄러에 의해 선택된 프로세스에게 넘깁니다. 이를 Context Switch라고 합니다. CPU 스케줄링은 규모에 따라 장기, 중기, 단기 스케줄링으로..