 
    인프런 워밍업 클럽 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를 반납할 확률이 높음 
- 공유자원이란무엇인가요? 
- 프로세스 간의 통신을 할 때 사용하는 변수나 파일 
- 교착상태에 빠질 수 있는 조건은 어떤 것들을 충족해야할까요? 
- 다음 조건을 모두 충족하는 경우에만 교착상태가 발생함 - 상호 배제 : 어떤 프로세스가 자원을 점유하고 있으면 해당 자원은 다른 프로세스에게 공유되면 안됨 
- 비선점 : 어떤 프로세스가 자원을 점유하고 있으면 해당 자원의 사용이 끝날 때까지 뺏을 수 없음 
- 점유와 대기 : - 어떤 프로세스가 자원을 점유한 상태에서 다른 프로세스의 자원을 할당 받기 위해 기다림 
- 원형 대기 : 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음 
 
댓글을 작성해보세요.
