● FIFO 및 SJF
– 앞선 글에서 FIFO 알고리즘을 사용하면 버스트 시간(CPU 작업 시간)이 짧은 작업을 먼저 실행했을 때 평균 대기 시간이 줄어드는 것을 알 수 있었다(평균 대기 시간은 처리 작업 순서에 따라 달라진다. )
– 그렇다면 프로세스가 수신된 순서가 아닙니다. FIFO 알고리즘의 단점은 버스트 시간이 가장 짧은 프로세스를 먼저 실행함으로써 극복할 수 있습니다.오전.
– 버스트 시간이 가장 짧은 프로세스를 먼저 실행하는 알고리즘은 최단 작업 우선(SJF)오전.

● SJF
– 이론적으로만 보다 SJF는 FIFO보다 더 강력한 알고리즘이라고 할 수 있습니다.
– 그러나 SJF의 실제 구현에는 현실적인 문제가 많아 SJF 알고리즘을 사용하지 않는다.
1. 어떤 프로세스가 얼마나 오래 실행될지 예측하기 어렵습니다.

전)
현재 Chrome과 Melon을 사용하고 있다고 가정합니다.
– 노래 재생 중 크롬에서 이메일 확인 후 브라우저를 닫거나 웹에서 쇼핑을 계속할 수 있습니다.
– 또한 프로세스가 언제 종료될지 예측하는 것은 사실상 불가능합니다.당신은 말할 수 있습니다
2. 버스트 시간이 긴 프로세스는 오래 실행되지 않을 수 있습니다.
– SJF는 버스트 시간이 짧은 프로세스부터 먼저 실행된다. 버스트 시간이 긴 프로세스는 여전히 뒤로 밀릴 수 있습니다.
– 버스트 시간이 긴 프로세스가 대기하는 동안 버스트 시간이 짧은 프로세스가 중간으로 더 이동하면 버스트 시간이 긴 프로세스는 무한정 대기해야 합니다.
