
인프런 워밍업 클럽 CS 3기 - 2주차 미션(운영체제)
운영체제
FIFO 스케줄링의 장단점이 뭔가요?
장점
단순하고 직관적임
CPU가 스케쥴링 큐에 먼저 들어온 작업부터 순차적으로 처리하는 방식
단점
FIFO 방식으로 처리되기 때문에 프로세스 실행 시간이 짧은 프로세스가 프로세스 실행 시간이 긴 프로세스보다 스케쥴링 큐에 늦게 들어오면 먼저 들어온 프로세스가 다 끝날 때까지 기다려야 하는 비효율성이 발생
I/O 작업이 발생하면 I/O 작업이 끝날 때까지 CPU가 쉬게 되어 CPU 사용률이 떨어지게 됨
SJF를 사용하기 어러운 이유가 뭔가요?
CPU에 실행할 프로세스의 종료 시간을 예측할 수 없음
사용자가 프로세스를 종료해야 끝나는 경우 CPU는 언제 프로세스가 종료될지 알 수 없기 때문에 실제로 프로세스의 종료 시간을 예측하기 어려움
Burst Time이 긴 프로세스는 오랫동안 실행되지 않을 수 있음
프로세스 실행 도중에 Burst Time이 짧은 프로세스가 계속 추가로 들어오는 경우 Burst Time이 긴 프로세스의 실행이 뒤로 밀려서 Burst Time이 짧은 프로세스가 전부 끝날 때까지 기다리게 됨
RR 스케줄링에서 타임 슬라이스가 아주 작으면 어떤 문제가 발생할까요?
타임 슬라이스가 작으면 프로세스를 실행하는 시간이 짧아서 컨텍스트 스위칭이 빈번하게 일어나서 CPU를 컨텍스트 스위칭하는 것에 많이 사용하게 되어 성능 저하가 발생
운영체제가 MLFQ에서 CPU Bound Process와 I/O Bound Process를 어떻게 구분할까요?
CPU Bound Process : CPU 사용률이 높은 경우가 많기 때문에 정해진 타임 슬라이스 크기를 오버하여 스케쥴러가 CPU를 강제로 뺏을 확률이 높음
I/O Bound Process : CPU 사용률이 낮은 경우가 많기 때문에 정해진 타임 슬라이스 크기를 오버하지 않고 스스로 CPU를 반납할 확률이 높음
공유자원이란무엇인가요?
프로세스 간의 통신을 할 때 사용하는 변수나 파일
교착상태에 빠질 수 있는 조건은 어떤 것들을 충족해야할까요?
다음 조건을 모두 충족하는 경우에만 교착상태가 발생함
상호 배제 : 어떤 프로세스가 자원을 점유하고 있으면 해당 자원은 다른 프로세스에게 공유되면 안됨
비선점 : 어떤 프로세스가 자원을 점유하고 있으면 해당 자원의 사용이 끝날 때까지 뺏을 수 없음
점유와 대기 :
어떤 프로세스가 자원을 점유한 상태에서 다른 프로세스의 자원을 할당 받기 위해 기다림
원형 대기 : 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음
댓글을 작성해보세요.