![[인프런 워밍업 클럽 3기 CS] 운영체제 2주 차 미션](https://cdn.inflearn.com/public/files/blogs/fd45c8e7-bcd1-4ae1-880c-507dd721461d/IMG_3742.jpeg)
[인프런 워밍업 클럽 3기 CS] 운영체제 2주 차 미션
운영체제
1. FIFO 스케줄링의 장단점
장점:
• 구현이 간단하고 직관적이다.
• 공정한 스케줄링 방식으로, 먼저 도착한 프로세스가 먼저 실행된다.
단점:
• Convoy Effect(호위 효과)가 발생할 수 있다. → 실행 시간이 긴 프로세스가 먼저 도착하면 짧은 프로세스들이 오래 대기해야 한다.
• 응답 시간이 일정하지 않아 실시간 시스템에 부적합하다.
2. SJF(Shortest Job First)를 사용하기 어려운 이유
• 프로세스의 실행 시간을 미리 알 수 없다. (CPU Burst Time 예측이 어렵다.)
• 새로운 작업이 짧은 실행 시간을 가진다면, 긴 실행 시간의 작업이 계속 뒤로 밀리는 기아 상태(Starvation)가 발생할 수 있다.
• 동적 우선순위 조정을 위해 예측 기법(Exponential Averaging 등)을 적용해야 하는데, 오버헤드가 발생할 수 있다.
3. RR 스케줄링에서 타임 슬라이스가 아주 작으면 발생하는 문제
• 문맥 전환(Context Switching) 비용 증가 → CPU가 프로세스를 너무 자주 교체하면 성능 저하 발생
• CPU 사용률 감소 → 실행보다 문맥 전환에 더 많은 시간이 소비됨
• 오버헤드 증가 → 캐시 효율성이 떨어지고, 프로세스 실행이 지연됨
4. MLFQ에서 CPU Bound Process와 I/O Bound Process를 구분하는 방법
• I/O Bound Process: 자주 입출력을 수행하기 때문에 짧은 CPU Burst 후 대기 상태로 전환됨 → 높은 우선순위 큐에 머무름
• CPU Bound Process: CPU를 길게 사용하는 프로세스 → 시간이 지나면서 우선순위가 낮은 큐로 이동
• MLFQ는 시간 제한(Time Quantum)과 큐 강등을 통해 CPU Bound와 I/O Bound 프로세스를 자동으로 분리함
5. 공유 자원이란?
• 여러 프로세스가 동시에 접근할 수 있는 자원
• 예: 파일, 데이터베이스, 프린터, 메모리, CPU 등
• 공유 자원을 잘못 관리하면 경쟁 상태(Race Condition), 데드락(Deadlock) 등의 문제가 발생할 수 있음
6. 교착 상태(Deadlock) 발생 조건
교착 상태가 발생하려면 다음 4가지 조건이 동시에 만족해야 함:
1. 상호 배제(Mutual Exclusion): 한 번에 한 프로세스만 자원을 사용할 수 있음
2. 점유 및 대기(Hold and Wait): 이미 자원을 가진 프로세스가 추가 자원을 기다림
3. 비선점(Non-preemption): 자원을 강제로 빼앗을 수 없음
4. 순환 대기(Circular Wait): 프로세스들이 자원을 서로 기다리는 순환 구조를 가짐
교착 상태를 예방하려면 위 조건 중 하나 이상을 제거해야 함.
댓글을 작성해보세요.