정의
: 운영체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
사용자 모드
: 사용자, 프로그램이 접근할 수 있는 범위를 두고 범위 내에서 동작함
커널 모드
: 컴퓨터의 자원들이 운영체제의 제어 하에 동작하며 모든 종류의 명령을 사용할 수 있게 됨
비트 0 커널 모드
비트 1 사용자 모드
버그를 방지하고 CPU의 부담을 줄이기 위해 시스템 콜 동작은 인터럽트를 발생시켜서 동작함
시스템 호출은 인터럽트의 한 종류이다. 시스템 호출은 유저가 발생시키는 것임으로 동기식이지만, 인터럽트 중 하드웨어에 의한 것은 그렇지 않은 경우도 있다. 사용자가 키보드를 누르는 것고 같이 예기치 않은 이벤트로 인해 비동기적으로 언제든지 인터럽트 발생 가능하다.
시스템 콜(System Call)은 운영 체제의 서비스를 사용자 프로그램이 호출하는 인터페이스
사용자 프로그램은 유저모드(User Mode)에서 실행되며, 시스템 콜을 호출하면 운영 체제의 기능을 필요로 하는 작업을 커널모드(Kernel Mode)에서 실행함. 이러한 유저모드와 커널모드의 구분은 보안, 안정성, 리소스 관리 등 다양한 이유로 필요함.
유저모드와 커널모드를 구분함으로써, 운영 체제는 안정성과 보안을 유지하면서 사용자 프로그램들이 효율적으로 시스템 리소스를 활용할 수 있도록 함