인프런 커뮤니티 질문&답변
FIFO 알고리즘에 대한 질문입니다.
해결된 질문
작성
·
299
1
예전 강의에서 여러 프로세스를 동시에 실행하는 것처럼 보이게 하려고 운영체제의 스케줄러가 시분할 처리를 이용해 멀티 프로세싱을 구현한다고 배웠는데, FIFO 알고리즘을 사용하면 한 번에 한 가지 프로세스만 처리하니까 멀티 프로세싱이 아닌 건가요? 멀티 프로세싱이 아니라면 애초에 스케줄링과 시분할 처리의 의미가 없을 텐데 헷갈립니다ㅠ
또한 I/O 요청이 들어오면 CPU가 쉰다고 하셨는데, 위의 질문과 마찬가지로 애초에 스케줄링을 하는 이유가 I/O 요청이 들어와도 CPU가 쉬지 않게 하려는 거잖아요? 제가 어떤 부분을 잘못 알고 있는 걸까요?
퀴즈
운영체제가 여러 프로세스에게 CPU 사용 시간을 배분하는 역할을 무엇이라고 할까요?
메모리 관리
파일 시스템 관리
주변 장치 제어
CPU 스케줄링
답변 1
0
감자
지식공유자
예전에는 프로그램 하나 하나를 오퍼레이터가 일일이 실행시켰기 때문에 결과를 확인하는데 오버헤드가 있었습니다.
이를 해결하기 위해 데이터를 한번에 모아서 처리했는데 이 방법이 FIFO였습니다.
FIFO는 일괄처리 시스템에 적합한 스케줄링 방식입니다!
하지만 FIFO는 I/O요청이 들어오면 CPU가 쉬기 때문에 CPU사용률이 떨어집니다.
이를 개선하기 위해 시분할처리 방식이 나온것이고 단점이 많은 FIFO는 현대 운영체제에서는 거의 쓰이지 않는 스케줄링 방식입니다.
"운영체제의 역사" 강의를 한 번 더 참조하시면 이해가 잘 가실겁니다!





