FIFO 알고리즘에 대한 질문입니다.
예전 강의에서 여러 프로세스를 동시에 실행하는 것처럼 보이게 하려고 운영체제의 스케줄러가 시분할 처리를 이용해 멀티 프로세싱을 구현한다고 배웠는데, FIFO 알고리즘을 사용하면 한 번에 한 가지 프로세스만 처리하니까 멀티 프로세싱이 아닌 건가요? 멀티 프로세싱이 아니라면 애초에 스케줄링과 시분할 처리의 의미가 없을 텐데 헷갈립니다ㅠ
또한 I/O 요청이 들어오면 CPU가 쉰다고 하셨는데, 위의 질문과 마찬가지로 애초에 스케줄링을 하는 이유가 I/O 요청이 들어와도 CPU가 쉬지 않게 하려는 거잖아요? 제가 어떤 부분을 잘못 알고 있는 걸까요?
답변 1
0
예전에는 프로그램 하나 하나를 오퍼레이터가 일일이 실행시켰기 때문에 결과를 확인하는데 오버헤드가 있었습니다.
이를 해결하기 위해 데이터를 한번에 모아서 처리했는데 이 방법이 FIFO였습니다.
FIFO는 일괄처리 시스템에 적합한 스케줄링 방식입니다!
하지만 FIFO는 I/O요청이 들어오면 CPU가 쉬기 때문에 CPU사용률이 떨어집니다.
이를 개선하기 위해 시분할처리 방식이 나온것이고 단점이 많은 FIFO는 현대 운영체제에서는 거의 쓰이지 않는 스케줄링 방식입니다.
"운영체제의 역사" 강의를 한 번 더 참조하시면 이해가 잘 가실겁니다!
프로그램과 프로세스 강의 3분47초
1
642
1
컴파일 과정
1
549
1
페이징&가상메모리 관련 질문 드립니다.
1
399
1
페이징(배치정책) CPU에 논리주소를 물리주소로 전달해 줄때 계산 단위
1
477
1
운영체제의 역사 영상에서
1
475
2
프로세스 동작 및 스케줄링 알고리즘 관련 질문 드립니다.
1
493
1
인터럽트 발생 시점과 비동기 방식
1
589
2
PCB 상태 실행에서 대기 상태에서 준비 상태로 변경시
1
466
2
프로세스 동기화 질문 드립니다.
1
347
1
부모 프로세스는 프로그램을 실행하지 않아도 생기는 건가요?
1
415
1
페이지드 세그멘테이션 기법에서 메모리 주소 변환 할때요
4
402
1
오버헤드란?
1
4043
1
논리주소와 BoundAddress의 비교에 대한 질문
1
310
1
MLFQ 알고리즘
2
407
1
FIFO 알고리즘 / RR 알고리즘
1
445
1
블로그 업로드 질문
1
379
1
다중큐 강의에서 I/O 작업시 질문
2
248
1
예제코드 질문
1
301
1
하드디스크와 메모리 질문 있습니다!
0
219
1
컴파일 과정 예시와 관련해서 질문드립니다!!
1
276
1
예제 코드 관련 질문입니다!
1
256
1
공유 메모리 및 프로세스 생성 관련
3
496
1
레지스터 관련
2
390
1
"컴파일과 프로세스" 강의 1분 37초
1
244
1





