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

인프런 워밍업 클럽 스터디 3기 - CS 전공지식(운영체제) -2주차 미션-

인프런 워밍업 클럽 스터디 3기 - CS 전공지식(운영체제) -2주차 미션-

1. 선입선출(FIFO)의 장단점

장점

  • 스케쥴링의 이해와 구현이 단순하다.

  • 자원의 효율성이 높다.

단점

  • 실행시간이 긴 프로세스가 앞에서 장시간 독점하는 경우 다른 프로세스들이 오래 대기해야한다.

  • 평균 응답 시간이 길어질 수 있다.


2. 최소작업 우선 - SJF(Shortest Job First)을 사용하기 어려운 이유

준비큐에 있는 프로세스 중에서 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식이다.

그러므로 실행 시간이 긴 프로세스들이 무한정 대기하는 현상이 발생한다.


3. RR 스케줄링에서 타임 슬라이스가 아주 작으면 어떤 문제가 발생할까요?

라운드 로빈 스케줄링

준비 큐에 가장 먼저 삽입된 프로세스부터 시작하여순서대로 프로세스에 CPU자원을 할당해서 실행

실행할 때마다 일정하게 정해진 시간만큼만(time slice) 실행하고 다음 프로세스로 CPU자원을 넘겨주는데, 이 정해진 시간을 너무 작게(짧게) 설정하면 프로세스 간의 CPU 사용 교체가 빈번해져 실행 프로세스 교체에 소요되는 리소스가 과도해짐에 따라 오버헤드가 발생한다.


4. 운영체제가 MLFQ에서 CPU Bound Process와 I/O Bound Process를 어떻게 구분할까요?

일반적으로 연산이 많이 필요한 로직은 CPU Bound

로컬 파일 시스템 혹은 네트워크 통신이 많은 로직은 I/O Bound 라고 한다.

여기서 프로세스 수행과정 중에 CPU burst , I/O burst가 계속 변경, 수행되며 프로세스 작업의 종류에 따라 각자가 일어나는 시간이 달라진다.

이 때 CPU burst가 많이 일어나는 작업을 CPU Bound Process라고 하고 I/O burst가 많이 일어나는 작업을 I/O Bound Process라고 한다.

 

버스트 여기서 버스트란 연속된 신호 또는 데이터의 모임, 어떤 현상이 짧은 시간에 집중적으로 일어하는 현상을 뜻하거나 주기억 장치의 내용을 캐시 기억 장치에 블록 단위로 한꺼번에 전송하는 것을 뜻한다.

CPU Bound

CPU Bound는 프로세스가 진행될 때, CPU 사용 시간이 I/O Waiting 보다 많은 경우이다. 그러므로 CPU의 성능에 의해 작업 속도가 결정된다.

I/O Bound

프로세서가 진행될 때 I/O Waiting이 많은 경우이다.

파일 쓰기, 디스크 작업, 네트워크 통신을 할 때 주로 나타나며


5. 공유자원이란 무엇인가요?

시스템 내에서 여러 프로세스나 스레드가 함께 접근할 수 있는 자원이다.

메모리, 파일, 데이터 등을 말한다.

공유자원은 공동으로 이용되기 때문에 누가 언제 데이터를 읽거나 쓰느냐에 따라 그 결과가 달라질 수 있다.


6. 교착상태에 빠질 수 있는 조건은 어떤 것들을 충족해야할까요?

교착상태는 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다리는데 무한 대기 상태에 빠지는 상황을 일컫는다.

즉, 한정된 자원을 여러 곳에서 사용하려고 함으로써 다음 처리를 하지 못하는 상태이다.

요약

  1. 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁

  2. 한 프로세스가 자원을 점유하고 있다면 동시에 다른 자원이 사용할 수 없는 상황 발생

  3. 이 때 점유하지 못한 다른 프로세스는 대기 상태로 들어감.

  4. 대기 상태로 들어간 프로세스들이 실행 상태로 변경될 수 없을 때, 교착 상태 발생

발생 조건

  • 상호 배제

자원 하나 당 한 프로세스만 사용할 수 있다.

  • 점유 대기

다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 존대

  • 비선점

할당된 자원은 사용이 끝나서 반납될 때까지 강제로 빼앗을 수 없다.

  • 순환대기

프로세스들의 집합이 점유대기 상태를 순환하는 것

댓글을 작성해보세요.


채널톡 아이콘