OS - 시스템 콜

itonse·2024년 5월 22일
0

CS 스터디

목록 보기
39/56

해당 주제의 기술면접 질문 미리보기

Q1. 시스템 콜에 대해 간결하게 설명해주세요.
Q2. 우리가 사용하는 시스템 콜의 예시를 들어주세요.


시스템 콜이란?

  • 시스템 콜은 운영체제가 제공하는 인터페이스로, 응용 프로그램이 운영체제의 기능을 사용할 수 있게 합니다.
  • 이는 User 프로그램이 운영체제의 특권 명령을 실행하도록 운영체제에게 요청하는 방식입니다.

비유)
손님(유저)이 카페에서 커피를 마시고 싶을 때, 직접 커피를 만들 수는 없습니다. 대신 "커피를 만들어 주세요"라고 요청하면, 직원(OS)이 커피를 만들어 손님에게 제공합니다. 손님은 커피를 만드는 과정을 알 필요 없이, 단지 요청만 하면 됩니다.

시스템 콜도 이와 같이, 응용 프로그램이 직접 수행할 수 없는 작업을 운영체제에게 요청하여 처리합니다.



시스템 콜과 CPU 모드 전환

프로세스는 프로세스의 생성이나 하드웨어의 조작 등 커널의 도움이 필요할 경우 시스템 콜을 통해
커널에 처리를 요청
합니다.

CPU 모드 변경

이미지
이미지 출처
  • 프로세스는 사용자 모드로 실행되다가 커널의 처리가 필요할 때 시스템 콜을 호출합니다.

  • 이때, 인터럽트가 발생하여 CPU가 사용자 모드에서 커널 모드로 전환됩니다. 커널 모드로 전환된 CPU는 요청된 작업을 처리하기 위해 커널을 실행합니다.

  • 요청된 작업 처리가 완료되면, 시스템 콜 처리가 종료되고 CPU는 다시 사용자 모드로 돌아가 프로세스의 동작을 계속 진행합니다.



시스템 콜의 예시

  • fork()

    • 자식 프로세스를 생성하는 시스템 콜입니다.
  • exec()

    • 메모리 공간을 다른 프로세스 내용으로 교체하는 시스템 콜입니다.
  • wait()

    • 자식 프로세스가 종료될 때 까지 대기하는 시스템 콜입니다.



시스템 콜 관련 기술면접 질문

Q1. 시스템 콜에 대해 간결하게 설명해주세요.

시스템 콜은 운영체제가 제공하는 인터페이스로, 응용 프로그램이 운영체제의 기능을 사용할 수 있게 합니다.


Q2. 우리가 사용하는 시스템 콜의 예시를 들어주세요.

시스템 콜의 대표적인 예로는 프로세스를 생성하는 fork()와 부모 프로세스가 자식 프로세스의 수행을 기다리는 wait() 등이 있습니다.



ref.
https://thebook.io/080367/0007/
https://spongerice.tistory.com/207
운영체제 면접 질문 모음

0개의 댓글