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

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

운영체제

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

  • 장점:

    • 구현이 간단하며 요청된 순서대로 처리(선입선출).

    • CPU 점유가 긴 프로세스가 없다면 응답 속도가 빠를 수 있다.

  • 단점:

    • 긴 작업이 앞에 있을 경우 짧은 작업이 오래 기다려야 한다.

     

  1. SJF를 사용하기 여러운 이유가 뭔가요?:

  • 각 프로세스의 실행 시간을 미리 예측하기 어렵다.

  • 실행시간이 너무 긴 프로세스는 너무 늦게 실행된다.

 

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

  • 컨텍스트 스위칭 비용이 증가하여 CPU 시간이 많이 소모된다.

  • 실제로 작업 처리 시간이 감소하여 성능 저하 발생 가능하다.

 

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

  • PU 사용량이 많다 보니 타임 슬라이스를 넘어 CPU가 뺏기게 된다.

  • I/O Bound Process의 경우 CPU 사용량이 적다 보니 타임 슬라이스 내에 CPU를 반납한다.

 

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

  • 여러 프로세스가 동시에 접근할 수 있는 자원을 말한다(예: 프린터, 파일, 데이터베이스 등).

 

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

  1. 상호 배제: 자원을 프로세스가 가져갔다면 다른 프로세스에게 공유되면 안된다.

  2. 비선점: 다른 프로세스가 자원을 강제로 뺏을 수 없어야 한다.

  3. 점유 및 대기: 자원을 점유한 채 다른 프로세스는 이 리소스를 원하면서 기다리고 있어야 한다.

     

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

     

    위에 조건이 하나라도 충족되지 않으면 교착상태가 일어나지 않는다.


자료구조와 알고리즘

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

  • 무한 루프: 기저 조건이 없거나 잘못 설정되면 함수가 종료되지 않고 계속 호출되면서 무한 루프가 발생한다.

  • Stack Overflow: 재귀 호출이 무한정 계속되면 스택 메모리가 가득 차서 Stack Overflow 에러가 발생하게 된다.

 

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

function sumOdd(n){
    // 재귀 로직
    if (n <= 0) return 0;

    n % 2 !== 0 ? n + sumOdd(n - 2) : sumOdd(n - 1);
}
  
console.log(sumOdd(10)) // 25

 

댓글을 작성해보세요.

채널톡 아이콘