Computer Science/운영체제

운영체제 면접 예상 질문 답변 준비하기 1-2

somm12 2024. 8. 14. 22:36
  • 커널모드에 대해 설명해주세요.
    • 운영체제의 핵심 부분인 커널이 실행되는 모드로, 운영체제의 핵심 기능인 프로세스 관리, 파일 시스템과 메모리 관리 등을 수행할 수 있고 모든 자원에 접근과 명령을 할 수 있습니다.
  • 유저모드에 대해 설명해주세요.
    • 어플리케이션과 같은 사용자 프로그램이 실행되는 모드로, 커널모드와 달리 HW 자원에 직접 접근할 수 없으며, 제한적인 명령만을 수행할 수 있습니다.
  • 폴링에 대해 설명해주세요.
    • CPU가 io장치로부터 이벤트가 없는지 수시로 체크하는 것을 말합니다.
      • +) 매번 체크는 비효율적이기 때문에, 장치에서 이벤트 발생시, 이벤트를 통지해주는 인터럽트가 사용됨.
  • 인터럽트에 대해 설명해주세요.
    • 프로그램이 실행하는 동안 IO장치의 사용이나 예외가 발생하면 이를 CPU에게 알려서 처리하도록 하는 것을 말합니다.
  • DMA에 대해 설명해주세요.
    • I/O 디바이스 장치가 CPU 도움 없이 바로 메모리로 데이터를 전송할 수 있게 하는  방식입니다.
    • I/O 장치가 메모리에 직접 접근을 할 수 없고 CPU가 접근할 수 있기 때문에 데이터 전송 때마다 인터럽트를 걸어야했고 빈번한 인터럽트는 CPU에 오버헤드를 야기합니다. DMA의 등장으로 인터럽트 오버헤드를 줄이고 CPU가 효율적으로 일할 수 있도록 해주었습니다.
  • 동기식 I/O에 대해 설명해주세요.
    • 프로그램이 I/O를 요청하고 그 작업이 완료되어야 해당 프로그램이 다음 작업을 할 수 있는 방식입니다. IO가 완료되면 인터럽트로 완료를 알리고,CPU제어권이 기존 프로그램에게 넘어갑니다. IO가 진행시 CPU는 다른 프로그램 작업을 수행하게 됩니다.
      • ex) 읽어오는 데이터가 반드시 있어야 수행할 수 있는 일들은 입출력이 완료된 이후에 수행하게 되므로 동기식 입출력이 사용됩니다.
  • 비동기식 I/O에 대해 설명해주세요.
    • 프로그램이 I/O를 요청하고 그 작업이 완료되기 까지 기다리지 않고 CPU제어권을 I/O 호출한 프로그램에게 곧바로 부여하는 방식입니다.
      • ex) 디스크에 쓰는 요청이라면 쓰기 작업이 완료되기 전에도 다음 명령을 수행할 수 있으므로 비동기식 입출력이 사용됩니다.