inflearn logo
강의

講義

知識共有

図で簡単に学ぶオペレーティングシステム

FIFO

FIFO 알고리즘에 대해서 질문이 있습니다.

128

dlwlals1207

投稿した質問数 12

1

안녕하세요. 감자님.

FIFO 알고리즘에서 질문사항이 있어서 이렇게 글을 남기게 되었습니다.

FIFO 알고리즘은 "현재 실행 중인 프로세스가 완전히 끝나야 다음 프로세스가 실행되기 때문에

먼처 도착한 실행기간이 긴 프로세스가 완료될 때까지 기다려야 한다."라는 Convoy effect(호위 효과)단점이 있다고 말씀을 하셨습니다.

특정 프로세스가 실행시간이 너무 길어서 할당 받은 CPU 점유 시간을 넘어가면 운영체제가 인터럽트를 걸어서 강제로 CPU를 뺏는 경우도 있지 않을까 싶어서요.

FIFO 알고리즘에서는 타임아웃에 따른 인터럽트를 크게 고려하지 않는 걸까요?

운영체제

回答 2

0

gamja5

안녕하세요 이지민님!
FIFO 알고리즘을 공부하시다가 단점을 해결하시려고 스스로 고민해보고 해결방법을 찾으신 것 같습니다.

FIFO 알고리즘의 이러한 단점때문에 지민님이 생각하신 것처럼 CPU 점유 시간이 길어져 강제로 뺏는 것은 뒤에 나올 라운드 로빈 알고리즘입니다.

FIFO 알고리즘은 다른 프로세스가 CPU 점유를 빼앗을 수 없습니다.

궁금증이 해결되셨나요?😊

1

dlwlals1207

아 FIFO 알고리즘은 프로세스가 스스로 CPU 점유를 포기하지 않는 이상 빼앗을 수 없는 비선점형 알고리즘이군요..! 답변 너무 감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

이지민님께서 FIFO 알고리즘에 대해 질문해주셨네요! FIFO(First-In-First-Out) 알고리즘은 가장 먼저 도착한 프로세스가 먼저 실행되며, 특정 프로세스가 완료될 때까지 다른 프로세스는 기다려야 하는 특징을 갖고 있어 ‘Convoy effect’를 일으킬 수 있습니다. 이로 인해 CPU의 효율적인 활용이 어려워질 수 있습니다.

FIFO에서의 타임아웃 및 인터럽트는 스케줄링이 비선점형이라는 특성 때문에 고려되지 않습니다. 비선점형 스케줄링 방식에서는 프로세스가 자발적으로 CPU를 포기하지 않는 경우, 프로세스를 중간에 멈추고 다른 프로세스로 컨텍스트 스위치를 행하지 않습니다. 이는 타임 슬라이스가 있는 선점형 스케줄링(Round Robin 등)과 차이가 있는 부분입니다.

FIFO 알고리즘에서는 인터럽트를 통해 CPU 점유를 강제로 중단하는 개념은 잘 사용되지 않으며 그대로 진행하여야 하는 방식으로 설계되어 있습니다. 이러한 이유로 Convoy effect 문제가 발생할 수 있지만, 현대의 운영체제는 일반적으로 이런 비효율성을 피하고자 선점형 스케줄링 방식을 주로 사용합니다.

해당 주제에 대한 더 자세한 설명은 다음 질문들을 참고하시면 도움이 될 것입니다:

  1. 운영체제의 FIFO 알고리즘에 대한 이해
  2. FIFO와 시분할 처리의 차이점

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

여러 의문점

1

63

1

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

1

57

2

CPU Bound Process와 sleep, yield에 대해

1

60

1

커널과 인터페이스 개념

1

64

2

exit() 함수

0

154

2

LRU 관련 질문

1

182

2

고정 분할 방식도 연속 할당으로 알고 있는데 애니메이션이 다소 헷갈립니다.

0

115

2

Swapping, Manual Overlay, Dynamic Loading, Dynamic Linking의 개념이 헷갈립니다

0

147

2

각 메모리의 최대 요구 CPU 리소스는 어떻게 아나요?

1

167

2

PCB들이 연결리스트로 저장되는 이유가 뭔가요?

1

127

2

IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이

0

116

2

고정 분할 방식에 질문입니다

0

120

2

세마포어에 관련해 질문입니다

1

144

2

IPC 통신 중 파일을 이용한 방법이 정확히 어떤 건가요?

0

152

1

공유자원과 동기화 문제에 관해서 질문이 있습니다.

0

152

2

멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱

1

163

1

새로 올라온 영상에서 스와핑 언급이 빠졌는데

1

80

2

유니프로그래밍과 멀티프로세싱이 어떻게 공존할 수 있는 건가요?

3

173

2

인터럽트에 대해 질문 드립니다.

1

93

2

수업 노트 설명에 대해 이해가 안가는 부분이 있어 질문 드립니다.

0

113

2

3:59초에 대해서 궁금해요!

0

117

2

실무적으로 궁금한게 있습니다ㅠ

0

95

1

완강을 해보니 오히려 더 궁금한게 많아지네요

1

166

2

파일디스크립터 질문드려요.

0

128

2