운영체제의 스케줄링에 대해서 설명해주세요.
- 운영체제가 프로세스들에게 CPU와 메모리와 같은 하드웨어 자원을 배정하는 작업을 말합니다.
- 효율적인 스케줄링을 적용하는 것으로 시스템의 성능을 향상시킬 수 있습니다.
- 크게 장기 스케줄링, 중기 스케줄링, 단기 스케줄링으로 나눌 수 있습니다.
장기 스케줄링에 대해서 설명해주세요.
- 생성된 프로세스 중에서 CPU와 메모리의 할당을 허가할 프로세스를 결정하는 작업을 말합니다.
- (클럽의 입구 가드가 입구컷하는 것과 비슷합니다)
중기 스케줄링에 대해서 설명해주세요.
- CPU와 메모리의 할당이 허가된 프로세스 중, 일부의 허가를 일시적으로 유보하는 작업을 말합니다.
- (이 작업을 다른 말로 swap이라고 합니다)
- (클럽 안에서 직원이 물관리하는 것과 비슷합니다)
단기 스케줄링에 대해서 설명해주세요.
- (CPU 스케줄링이라고도 합니다)
- CPU의 할당이 허가된 프로세스 중, 실제 CPU를 할당시킬 프로세스를 결정하는 작업을 말합니다.
- 대표적인 단기 스케줄링으로는 FCFS, SJF, SRTF, Round Robin이 있습니다.
FCFS 스케줄링에 대해서 설명해주세요.
- (First Come, First Served 스케줄링의 약자입니다)
- 먼저 queue에 올라온 프로세스에게 먼저 CPU를 할당해주는, 비선점 스케줄링 중 하나입니다.
- 단순하게 구현할 수 있지만, 소요시간이 긴 프로세스가 그렇지 않은 프로세스보다 먼저 오게 될 경우 효율성이 떨어질 수 있습니다.
Round Robin 스케줄링에 대해서 설명해주세요.
- 각 프로세스에게 동일한 시간동안 CPU를 할당하고, 할당 시간이 지나면 다시 queue에 넣는 스케줄링입니다.
- 적절한 할당 시간을 설정하면 효율적으로 프로세스들을 처리할 수 있습니다.
- 또, 모든 프로세스의 반응시간이 보장할 수 있습니다.