일반 응용프로그램의 경우 시스템의 자원이나 하드웨어를 직접적으로 컨트롤 할 수 없으며, 이를 위해선 시스템 콜을 사용해야 한다. 각 시스템 골에는 번호가 할당되고 시스템콜 인터페이스는 이러한 번호에 따라 인덱스되는 테이블을 유지한다.
시스템 콜의 유형
- 프로세스 제어: 프로세스 특권 모드를 사용해 직접적으로 프로세스 제어가 가능
- 파일조작: 파일을 생성하거나 삭제, 관리
- 장치관리: 장치 요구 및 장치 해제, 읽기, 쓰기, 재배치
- 정보유지: 시간과 날짜 설정 획득, 시스템 자료의 설정과 획득
- 통신: 통신 연결의 생성 및 제거, 메시지의 송수신, 상태 정보 전달
open() 시스템 콜을 호출했을때, 운영체제에 의해 처리되는 과정

- 사용자 프로그램이 시스템 콜을 하게 되면 운영체제는 자신의 커널 영역에 정의된 시스템 콜 처리 코드를 수행한다.
- CPU가 컨트롤 레지스터를 세팅해 디스크 컨트롤러에게 데이터를 읽어오라고 명령한다.
- 디스크 컨트롤러는 디스크로부터 데이터를 읽어와서 자신의 로컬 버퍼에 저장한다.
- 작업이 완료되면 디스크 컨트롤러가 CPU에게 인터럽트를 발생시켜 입출력 작업이 완료되었음을 통지한다.
커널모드 vs 사용자 모드