🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

[인프런 워밍업 클럽 3기 CS] 운영체제 2주 차 미션

[인프런 워밍업 클럽 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): 프로세스들이 자원을 서로 기다리는 순환 구조를 가짐

 

교착 상태를 예방하려면 위 조건 중 하나 이상을 제거해야 함.

댓글을 작성해보세요.


채널톡 아이콘