![[인프런 워밍업 클럽 3기 CS] 운영체제 2주 차 과제](https://cdn.inflearn.com/public/files/blogs/90594b90-e4e1-4fef-8eb4-78c97e89bec3/336224.png)
[인프런 워밍업 클럽 3기 CS] 운영체제 2주 차 과제
1. FIFO 스케줄링의 장단점이 뭔가요?
장점
프로세스를 요청 순서대로 처리하므로 구현이 간단하다.
먼저 도착한 프로세스가 먼저 실행되므로 기아 상태(Starvation)가 발생하지 않는다.
단점
실행 시간이 긴 프로세스가 먼저 도착하면 뒤의 짧은 프로세스들이 오래 기다려야 하는 문제가 발생할 수 있다.
CPU 사용률이 떨어진다.
2. SJF를 사용하기 여러운 이유가 뭔가요?
프로세스의 종료 시간을 예측하기 어렵다.
Burst Time이 긴 프로세스는 영원히 실행되지 않을 수 있다.
3. RR 스케줄링에서 타임 슬라이스가 아주 작으면 어떤 문제가 발생할까요?
타임 슬라이스가 너무 작으면 컨택스트 스위칭이 자주 발생하여 오버헤드가 커진다.
실제로 작업 처리보다 스케줄링 오버헤드가 커서 전체적인 성능이 저하된다.
4. 운영체제가 MLFQ에서 CPU Bound Process와 I/O Bound Process를 어떻게 구분할까요?
CPU 점유 시간을 기반으로 레벨을 조정해 CPU를 많이 사용하는 프로세스는 낮은 우선순위 큐로 이동하고, I/O 중심 프로세스는 높은 우선순위 큐에 머무르는 방식으로 동작한다.
I/O 요청을 자주 발생시키는 프로세스는 CPU 사용 시간이 짧고, 반대로 CPU Bound Process는 긴 CPU 실행 시간을 가진다.
5. 공유자원이란무엇인가요?
프로세스 간 통신을 할 때 공동으로 이용하는 변수나 파일 등
공유자원은 여러 프로세스가 공유하기 때문에 각 프로세스의 접근 순서에 따라 결과가 달라질 수 있다.
컨텍스트 스위칭으로 시분할 처리를 하기 때문에 어떤 프로세스가 먼저 실행되고 나중에 실행되는지 예측하기 어렵다.
6. 교착상태에 빠질 수 있는 조건은 어떤 것들을 충족해야할까요?
상호배제: 어떤 프로세스가 한 리소스를 점유했다면 그 리소스는 다른 리소스에게 공유되면 안 된다.
비선점: 프로세스 A가 리소스를 점유하고 있는데 프로세스 B가 빼앗을 수 없어야 한다.
점유와 대기: 어떤 프로세스가 리소스 A를 가지고 있는 상태에서 리소스 B를 원하는 상태여야 한다.
원형 대기: 점유와 대기를 하는 프로세스들의 관계가 원형을 이루고 있는 것
댓글을 작성해보세요.