본문 바로가기
면접 질문/운영체제

[운영체제/OS] 운영체제 및 커널 면접 질문 및 답변

by 그적 2024. 1. 22.
  • 운영체제가 무엇인가요?
더보기

사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 돕는 프로그램입니다. 사용자와 하드웨어 사이에 인터페이스를 제공하거나 컴퓨터가 자원을 효율적으로 사용할 수 있도록 지원합니다.

 

  • 운영체제가 하는 일은 무엇인가요?
더보기

운영체제는 크게 유저 인터페이스와 커널로 구성되어 있습니다. 유저 인터페이스는 하드웨어가 동작할 수 있는 명령어를 실행하고 명령에 대한 결과를 사용자에게 보여주고, 커널은 프로세스 관리, 메모리 관리 등 컴퓨터 자원을 효율적으로 관리할 수 있는 일을 수행합니다.

 

  • 커널이란 무엇인가요?
더보기

커널은 사용자가 컴퓨터를 사용할 때 좀 더 편리하고 효율적으로 사용할 수 있도록 지원하는 시스템입니다.

 

  • 커널이 필요한 이유를 설명해 주세요.
더보기

사용자나 프로그램이 직접 메모리 등의 컴퓨터 자원에 접근하는 것을 막기 위해 필요합니다. 커널 모드라는 권한을 부여받아야 컴퓨터 자원을 이용할 수 있고, 시스템의 안정성을 유지할 수 있습니다.

 

  • 유저모드와 커널모드를 설명해 주세요.
더보기

먼저 커널은 컴퓨터 자원에 직접 접근하는 것을 막기 위함입니다. 메모리 등의 컴퓨터 자원을 사용해야 할 때는 커널 모드라는 권한을 통해 실행할 수 있는데, 따라서 이에 반해 유저 모드는 컴퓨터 자원을 필요로 하지 않는 프로그램 코드를 실행할 수 있는 낮은 권한을 의미합니다.

 

  • 커널모드로 동작할 때 어떤 일이 일어나나요?
더보기

유저 모드에서 커널 모드로의 권한이 필요할 때는 시스템 콜을 발생시킵니다. 시스템 콜이 발생하면서 인자 값을 전달받는데, 인자 값을 통해 실행 코드가 존재하는 주소 값으로 이동하고 관련 코드가 실행됩니다.

 

  • 시스템 콜에 대해 설명해 주세요.
더보기

시스템 콜이란 유저 모드에서 커널 모드로 권한 상승이 필요할 때 제공되는 인터페이스입니다. 메모리나 디스크 등 컴퓨터 자원이 필요한 명령을 수행해야 할 때 시스템 콜을 발생시킬 수 있습니다.

 

  • 인터럽트에 대해 설명해 주세요.
더보기

프로세스가 작업하면서 하드웨어 자원을 사용하거나 예외 상황이 발생했을 때 인터럽트를 발생시켜 CPU에게 상황을 알리기 위한 신호를 인터럽트라고 합니다.

 

  • 시스템콜과 인터럽트를 비교해 주세요.
더보기

인터럽트는 하드웨어 자원을 사용하거나 예외 상황이 발생했을 때 이를 CPU에게 보내는 신호이고, 시스템 콜은 유저 애플리케이션 코드가 동작하면서 하드웨어 자원을 필요로 할 때 CPU에게 보내는 신호입니다. 따라서 시스템 콜은 인터럽트의 포함된다고 말씀드릴 수 있습니다. 실제로 시스템 콜이 발생하면 128번이라는 인자 값을 넘겨주면서 인터럽트가 발생하는 흐름으로 동작합니다.

 

댓글