
<출처:유노코딩>
운영체제는 하나의 프로그램이라고 볼 수 있고 핵심기능인 프로세스나 메모리, 저장장치를 관리하 는 기능을 커널 이라는 part가 제공한다. 따라서 핵심적이고 중요한 part여서 사용자가 직접 접근할 수는 없다.
커널이 제공하는 핵심적인 기능을 사용하고 싶으면 사용자가 이를 요청할 수 있도록하는 함
: CLI(command line interface) or GUI(graphic user interface)
GUI : 컴퓨터를 켰을 때 나오는 바탕화면 같은 것이 대표적인 GUI 라는 인터페이스 이다. 마우스로 클릭하고 이동함으로 이용 할 수 있게 하는 인터페이스 이다.
CLI : CLI는 텍스트로 된 명령어를 기반으로 커널과 상호작용하는 인터페이스 이다. 일반사용자들에 게는 친숙하지 않은 인터페이스이다. 예를들어, 맥북에서 터미널을 이용해 명령어로 상호작용 하는 것을 말한다.
시스템 콜
커널은 사용자로 부터 자신을 보호하기 위한 시스템 콜 이라는 인터페이스를 가지고 있다.
어플리케이션이 컴퓨터의 자원에 접근할 때 위험성 없이 적절한 방법으로 작업을 실행 할 수 있도록 해주는 어플리케이션(응용프로그램)과 커널 간의 인터페이스 이다.
예를들어, 프로그램 코드를 짤 때 커널에 직접적으로 접근하는 코드를 짜는 것이 아니라 커널 에서 정해준 함수만 이용할 수 있다.
드라이버
운영체제와 하드웨어 간의 인터페이스로 제공된다. 외부기기와 컴퓨터를 연결 했을 때 정상적 으로 사용되려면 운영체제(커널)이 지원을 해줘야 하는데, 외부기기 종류가 다양해서 커널이 이에대한 지원을 모두 갖추고 있지 않기 때문에 드라이버라는 인터페이스가 필요하다.