Skip to main content
컴퓨터 내부에서 시스템 콜이 호출되면, 아래와 같은 작업이 수행된다. 핵심은, 소프트웨어 인터럽트커널 모드, 사용자 모드이다. 시스템 콜 운영 체제에는 인터럽트를 발생시키는 특정 명령어가 있는데, 시스템 콜도 이러한 소프트웨어 인터럽트의 일종이다.

소프트웨어 인터럽트가 발생했을 때 수행되는 과정

  1. CPU는 현재 수행 중인 작업을 백업한다.
  2. 커널 영역 내 인터럽트를 처리하기 위한 코드 (여기서는 시스템 콜을 구성하는 코드)를 실행한다.
  3. 사용자 영역의 코드 실행을 재개한다.
CPU는 명령어를 실행하는 과정에서 사용자 영역을 실행할 때의 모드커널 영역을 실행할 때 모드를 구분하여 실행한다.
  • 사용자 모드: 사용자 영역에 적재된 코드르 실행할 때의 모드
    • 사용자 모드로 실행 중인 CPU는 입출력 명령어와 같이 자원에 접근하는 명령어를 만나도 이를 실행하지 않는다.
  • 커널 모드: 커널 영역에 적재된 코드를 실행할 때의 모드
이렇게 두 가지의 모드로 구분하여 실행하는 것을 이중 모드라고 한다.