OS가 지원하는 하드웨어 서비스 인터페이스
OS는 다양한 서비스들을 수행하기 위해 하드웨어를 직접적으로 관리한다.
이와 반면 응용 프로그램은 OS가 제공하는 인터페이스를 통해서만 자원을 사용할 수 있다.
OS가 제공하는 이런 인터페이스를 시스템 콜(system call)이라고 한다.
시스템콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게한다.
즉 프로세스가 하드웨어에 직접 접근해서필요한 기능을 할 수 있게 해준다.
-> 응용 프로그램은 시스템콜을 사용해 원하는 기능을 수행할 수 있다.
보통 직접적으로 시스템콜을 사용하기보다는 API를 사용한다.

위 그림처럼 운영체제는 메모리에 프로그램 적재, I/O 처리, 파일시스템 처리 등 여러 서비스들을 제공하는데,
사용자 프로세는 아예 직접적인 접근이 아닌 시스템 콜 호출을 통해 서비스를 제공받을 수 있다.
| 분류 | 주요 역할 | 대표 시스템 콜(예시) |
|---|---|---|
| 프로세스 제어 | 프로세스 생성, 실행, 종료 및 자원 할당 | fork, exec, exit, wait |
| 파일 조작 | 파일 생성, 삭제, 읽기, 쓰기 | open, read, write, close |
| 장치 관리 | 하드웨어 제어 및 상태 정보 획득 | ioctl, read, write |
| 정보 유지 | 시스템 시간, 프로세스 ID 등 정보 확인 | getpid, time, alarm |
| 통신 | 프로세스 간 메시지 교환 (IPC) | pipe, shm_open, mmap |
| 보호 | 접근 권한 설정 및 보안 관리 | chmod, chown,umask |