CPU는 총 4개의 모드로 되어 있습니다. 이는 권한을 의미하는데요. 일반적인 user가 사용할 수 있는 권한은 level3, OS 서비스는 level 1&2, OS는 Level 0인 커널 모드를 사용합니다.
OS 핵심 기능을 사용하기 위한 권한입니다. OS 핵심 기능은 컴퓨터 시스템 전반에 큰 영향을 끼치므로 잘 모르는 유저가 함부로 해치지 못하도록 권한을 따로 두었습니다. shell이 운영체제 기능과 서비스를 조작할 수 있는 인터페이스라고 했는데 달리 말하면 이 커널에 진입하기 위한 툴입니다.
![https://velog.velcdn.com/images%2Fdev_crystal%2Fpost%2F025fb67a-2163-4f86-b053-bf3a2c304331%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fdev_crystal%2Fpost%2F025fb67a-2163-4f86-b053-bf3a2c304331%2Fimage.png)
위 구조에서 커널 영역은 시스템 호출 인터페이스, 시스템콜 부터입니다. 커널모드를 실행하려면 반드시 시스템 콜을 거쳐야 합니다.
시스템콜 위에 있는 API는 프로그래밍 언어별로 운영체제의 기능을 사용하기 위해 시스템콜을 기반으로 만든 API 입니다. 따라서 프로그래밍 언어로 API를 호출하면 그 API의 내부 코드가 시스템콜을 호출합니다.