[인프런 워밍업 클럽 CS 2기] - CS 2주차 미션

[인프런 워밍업 클럽 CS 2기] - CS 2주차 미션

[운영체제]

 

1. FIFO 스케줄링의 장단점이 뭔가요?

  • 장점은 단순하고 직관적이다.

  • 단점은 한 프로세스가 완전히 끝나야 다음 프로세스가 시작되기 때문에 실행 시간이 짧고 늦게 도착한 프로세스가 실행 시간이 길고 빨리 도착한 프로세스의 작업을 기다려야 한다는 것이다.

 

2. SJF를 사용하기 어러운 이유가 뭔가요?

  • 어떤 프로세스가 얼마나 실행될 지 예측하기가 힘들고 Burst Time이 긴 프로세스는 아주 오랫동안 실행되지 않을 수도 있기 때문에 SJF를 사용하기가 어렵다.

 

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

  • 타임 슬라이스가 아주 작으면 컨텍스트 스위칭이 너무 자주 일어나게 되고, 타임 슬라이스에서 실행되는 프로세스의 처리량보다 컨텍스트 스위칭을 처리하는 양이 훨씬 커져서 오버헤드가 커지는 상황이 발생한다.

 

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

  • CPU를 사용하는 프로세스가 실행하다가 스스로 CPU를 반납하면 CPU 사용이 적은거니 I/O Bound Process일 확률이 높고 반대로 CPU를 사용하는 프로세스가 타임 슬라이스 크기를 오버해서 CPU 스케줄러에 의해 강제로 CPU를 뺏기는 상황이면 CPU 사용이 많은 것이니 CPU Bound Process일 확률이 높다.

 

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

  • 프로세스 간 통신을 할 때 공동으로 이용하는 변수나 파일들이 있는데 이런 것들을 공유 자원이라고 한다.

 

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

  • 상호 배제 : 어떤 프로세스가 한 리소스를 점유했다면 그 리소스는 다른 프로세스에게 공유가 되면 안된다.

  • 비선점 : 어떤 프로세스가 리소스를 점유하고 있는데 다른 프로세스가 그 리소스를 빼앗을 수 없어야 한다.

  • 점유와 대기 : 어떤 프로세스가 한 리소스를 가지고 있는 상태에서 다른 리소스를 원하는 상태여야 한다.

  • 원형 대기 : 점유와 대기를 하는 프로세스들의 관계가 원형을 이루고 있는 것 이다.

 

 


[자료구조와 알고리즘]

 

1. 재귀함수에서 기저조건을 만들지 않거나 잘못 설정했을 때 어떤 문제가 발생할 수 있나요?

  • 무한 재귀 호출 : 기저 조건이 없거나 잘못 설정되어 재귀 호출이 끝나지 않고 계속 반복될 수 있다. 이 경우 함수는 끝없이 자기 자신을 호출하며, 결국 무한 루프에 빠지게 된다.

  • 스택 오버플로우 : 재귀 호출이 계속되면 함수 호출에 필요한 메모리가 쌓이게 되는데, 대부분의 시스템에서 사용할 수 있는 스택 메모리에는 한계가 있기 때문에 프로그램이 비정상적으로 종료된다.

 

2. 0부터 입력 n까지 홀수의 합을 더하는 재귀 함수를 만들어보세요.

function sumOdd(n){
    // 재귀 로직
}
  
console.log(sumOdd(10)) // 25

 

public class Main {
    public static void main(String[] args) {
        int n = 10;
        System.out.println(sumOdd(n)); // 25 출력
    }

    // 재귀 함수
    public static int sumOdd(int n) {
        // n이 0보다 작으면 더하지 않음
        if (n <= 0) {
            return 0;
        }

        // n이 홀수인 경우 더하기
        if (n % 2 != 0) {
            return n + sumOdd(n - 1);
        } else {
            // n이 짝수인 경우 다음 홀수로 넘어가기
            return sumOdd(n - 1);
        }
    }
}

 

image

 

 

댓글을 작성해보세요.

채널톡 아이콘