Skip to content

Latest commit

 

History

History
130 lines (85 loc) · 6.43 KB

os_expected_question.md

File metadata and controls

130 lines (85 loc) · 6.43 KB

Operating System Expected question

운영체제와 컴퓨터

  1. 운영체제란 무엇인지 설명해 주세요.
  2. 운영체제의 역할에 대해 2가지 말씀해 주세요.
  3. 시스템 콜에 대해 설명해 주세요.
  4. 커널의 역할이 무엇인지 설명해 주세요.
  5. DMA 컨트롤러 (Direct Memory Access Controller)에 대해 설명해 주세요.

메모리 계층

  1. 만약 필요한 데이터가 하드디스크에 있다면, CPU에서 바로 하드디스크에 접근해서 데이터를 가져오면 더 빠를텐데 왜 굳이 모든 계층구조를 모두 통해서 가져올까요?
  2. RAM을 주기억장치라고 표현하는 이유는?
  3. 왜 불편하게 전원이 차단되면 모든 기억된 내용이 지워지는 휘발성 장치를 사용할까요?
  4. 현재 사용하는 컴퓨터에 캐시와 메모리의 속도와 성능 차이는 얼마나 있을까요?
  5. 캐시 메모리에 대해 설명해 주세요.
  6. 캐시 메모리와 주기억장치의 차이점에 대해 설명해 주세요.

프로세스와 스레드

  1. Process와 Thread의 차이를 설명해 주세요.
  2. Multi Process와 Multi Thread 차이를 설명해 주세요.
  3. Thread Safe이 무엇인지 설명해 주세요.
  4. Context Switching이 무엇인지 설명해 주세요.

CPU 스케줄링 알고리즘

  1. SJF를 Preemptive한 방식으로 구현하기 위해서는 ready queue에 새로운 프로세스가 도착할 때마다 CPU에게 interrupt를 걸어야하나? 어떻게 새로운 프로세스가 도착했음을 알고, 그것이 더 짧은 프로세스임을 알고, CPU 제어권을 넘기는가?
  2. 타임 슬라이스방식에서 각 queue에 CPU time을 비율로 할당한다는 것의 의미는 무엇인가? 어떤 것에 대한 비율인가?
  3. 별개의 Queue를 두는 방식이 왜 load sharing과 관련이 있는가?
  4. CPU 스케줄링의 목적은 무엇인가요?
  5. 최단 작업 우선 스케줄링에서 선점형 방식으로 구현할 때, Ready Queue에서 새로운 프로세스가 도착할 때마다 CPU에게 Interrupt를 걸어야 하나요?
  6. 스케줄링 알고리즘에서 어떻게 새로운 프로세스가 도착했음을 알고, 그것이 더 짧은 프로세스임을 인지해서 CPU 제어권을 넘기는 건가요?
  7. MLFQ에서 두 번째 프로세스를 처리하던 중에 첫 번째 프로세스가 채워지면 선점형 방식으로 어떻게 동작을 할까요?

인터럽트(Interrupt)

  1. 인터럽트(Interrupt)가 무엇인가요?
  2. 인터럽트 발생 시 처리 과정을 설명해 주세요.

시스템 콜(System Call)

  1. 운영체제의 Dual Mode 에 대해 설명해 주세요
  2. 시스템 콜의 유형에 대해 설명해 주세요
  3. 서로 다른 시스템 콜을 어떻게 구분하는지 설명해 주세요

PCB와 Context Switching

  1. Context Switching은 무엇인지 설명해 주세요.
  2. 프로세스의 Context Switching이 발생하는 원인과 문제점이 무엇인가요?
  3. Context Switching의 문제점에 대한 해결방안을 설명해 주세요.

주소 공간과 가상 메모리

  1. 메모리 가상화가 생긴 이유는 무엇인가요?
  2. 가상 메모리 계층 구조에 대해서 설명해 주세요.
  3. 메모리 가상화의 목적은 무엇인가요?

주소 변환

  1. 주소 변환 기법에 대한 개념은 무엇인가요
  2. 동적 재배치 기술에 대해 설명해 주세요.
  3. MMU에 대해 설명해 주세요.
  4. OS가 개입해야 하는 상황들(3가지)에 대해서 설명해 주세요.

세그먼테이션

  1. 세그먼테이션은 무엇이고, 세그먼테이션으로 인해 어떤 장점이 있는지 설명해 주세요.
  2. 세그먼테이션으로 주소변환 하는 방법에 대해 설명해 주세요.
  3. 세그먼테이션의 문제점과 해결방안은 무엇인지 설명해 주세요.
  4. 단편화의 종류와 발생하는 이유에 대해 설명해 주세요.

페이징

  1. Paging(페이징)이 왜 나오게 되었고, 개념에 대해 설명해 주세요.
  2. 세그멘테이션과 페이징의 차이점에 대해 설명해 주세요.
  3. Paging의 장점과 단점에 대해 설명해 주세요.
  4. Paging을 이용한 주소 변환 과정에 대해 설명해 주세요. (Page table, PTE, PFN 개념 언급)

가상메모리와 요구 페이징, 페이징 교체

  1. 가상메모리에 대해 설명해 주세요.
  2. 페이징 교체에 대해 설명해 주세요.
  3. 가상메모리를 사용할 때 하드디스크의 swap공간의 관리 방법에 대해 설명해 주세요.
  4. 페이지 폴트(page fault)에 대해 설명해 주세요.

TLB(Translation Lookaside Buffers)

  1. TLB가 나오게 된 배경은 무엇이고, TLB 개념에 대해 설명해 주세요.
  2. TLB를 사용한 전체적인 페이지 탐색과정에 대해 설명해 주세요.
  3. TLB가 메모리 성능을 어떻게 향상시키는지 TLB hit rateSpatial Locality 개념과 연관지어 설명해 주세요.
  4. TLB 히트, 미스, 페이지 히트 미스의 경우 속도 차이에 대해 설명해 주세요.
  5. TLB를 사용할 때 Context Switching이 발생한다면 어떻게 해결하는지 설명해 주세요. (2가지 해결방안)
  6. TLB에 저장 가능한 공간이 꽉 찼을 경우 새로운 프로세스가 실행된다면, 어떤 프로세스를 빼고 새로운 것을 넣어야 하는지 과정에 대해 설명해 주세요. (TLB Replacement policy)
  7. TLB hit과 miss가 어떤 의미인지 설명해 주세요.

Paging : Smaller Table

  1. Page table의 크기를 줄이는 방법 3가지 중 2가지를 각각의 장단점을 포함하여 설명해 주세요.
  2. Multi-level Page Tables에 대해 설명해 주세요. (page directory 언급)
  3. Multi-level Page Tables의 장점과 단점은 무엇인가요?

동기화(스핀락, 세마포어, 뮤텍스)

  1. 임계영역이 무엇인가요? 임계영역이 만족해야 하는 조건이 있나요? (키워드 : 상호 배제(Mutual exclusion), 진행(Progress), 한정 대기(Bounded waiting)
  2. Race Condition(경쟁 상태)에 대하여 간단한 예시를 들어 설명해 주세요.
  3. 뮤텍스와 세마포어 차이점에 대해 설명해 주세요.

교착상태(DeadLock)

  1. 데드락이 무엇인가요?
  2. 데드락 발생조건 4가지를 설명해 주세요.
  3. 데드락의 해결방법에 대해서 설명해 주세요.

멀티프로세스, 스레드와 멀티스레딩

  1. 멀티 프로세싱은 무엇인가요?
  2. 스레딩과 멀티스레딩에 대해 설명해 주세요.