
시스템 호출(System Call)은 운영체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다. 보통 C, C++ 같은 고급 언어로 작성된 프로그램들은 직접 시스템 호출을 사용할 수 없기 때문에 고급 API 를 통해 시스템 호출에 접근하게 하는 방법이다. | 출처 : 위키피디아


System Call 을 통해 직접적인 H/W 요청이나 중요한 시스템 요청을 하는 것이다.응용프로그램이다. 유저레벨의 프로그램은 유저레벨의 함수들 만으로는 많은 기능을 구현하기 힘들기 때문에 커널의 도움을 반드시 받아야 한다. 커널에 관련된 것은 커널모드로 전환된 후에야 해당 작업을 수행할 권한이 생긴다. 커널모드를 통한 이러한 작업은 반드시 시스템 콜을 통해 수행하도록 설계되어 있다.
Mode bit를 통해 구분하는데, 모든 비트가 0 이면 커널 모드, 1 이면 사용자 모드가 된다.시스템 콜을 하게 되면 운영체제는 자신의 커널 영역에 정의된 시스템 콜 처리 코드를 수행한다.인터럽트를 발생시켜 입출력 작업이 완료되었음을 알린다.