시스템 호출

위키백과, 우리 모두의 백과사전.
(시스템 콜에서 넘어옴)
이동: 둘러보기, 찾기

시스템 호출(system call)은 운영 체제가 제공하는 서비스에 대한 프로그래밍 인터페이스이다. 보통 C나 C++과 같은 고급 언어로 쓰였다. 대부분의 프로그램들은 직접 시스템 호출을 사용하기보다는 고급 API를 통해 시스템 호출에 접근한다.

시스템 호출이란 프로그래밍 언어에서 지원하지 않는 기능에 대하여 운영체제의 루틴을 호출하여 이용하는 것을 말한다. 시스템 콜의 세 가지 기능은 다음과 같다.

  1. 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 하는 것.
  2. 시스템 콜을 부르면 사용자 모드에서 커널 모드로 바뀐다
  3. 커널에서 시스템 콜을 처리하면 커널 모드에서 사용자 모드로 바뀌어 작업을 계속한다.

시스템 호출의 유형

  1. 프로세서 제어(process Control)
  2. 파일 조작(file manipulation)
  3. 장치 관리(Device Management)
  4. 정보 유지(Information maintenance)
  5. 통신(Communication)

명령어 실행과 시스템 호출 [편집]

명령어 인터프리터 또는 을 통해 입력된 명령을 수행하는 과정에서 새로운 프로세스를 시작하기 위해서는 시스템 호출을 해야 한다. 예를 들어 유닉스 시스템에서는 새로운 프로세스를 시작하기 위해 exec 시스템 호출 이후 fork 시스템 호출이 뒤따른다. exec 호출이 호출 프로세스 위로 다른 실행가능한 새로운 프로세스를 띄우는 동안, fork 호출은 현재 실행 중인 프로세스를 복제한다.

같이 보기 [편집]

바깥 고리 [편집]