User mode에서 사용이 불가능한 Protected Instruction을 사용하기 위해 OS가 제공하는 system call을 이용하여 Kernel mode로 switch할때 사용한다.
OS는 Kernel Mode와 User Mode로 나뉘어서 구동된다.
명령어의 일부와 HW feature의 일부만 사용이 가능하다.
→ I/O나 memory protection을 포함한 명령은 사용이 불가능하다.
프로세스의 실행, 종료나 I/O 작업 등의 사용자가 함부로 사용하면 문제가 될 만한 명령들
→ OS의 kernel mode와 user mode 중 kernel mode에서만 사용이 가능하다.
→ 이와 같은 기능을 사용하기 위해서 user mode에서 kernel mode로 trap하는 system call을 사용한다.
프로세스 제어
e.g. exec()
: 다른 프로그램의 실행, fork()
: 새 프로세스의 생성, wait()
: 자식 프로세스가 끝날 때 까지 대기
파일 조작
e.g. open()
, read()
, write()
등
장치 관리
: 장치의 부착, 분리 등
정보 유지
: 시간, 날짜의 설정 등
통신
: 공유 메모리에서 다른 프로세스 소유 메모리 접근 시