커널과 시스템 콜

0andme·2021년 7월 29일
0

운영체제

목록 보기
3/6
post-custom-banner

◼ 커널

운영체제 또한 컴퓨터의 전원이 커지면 동시에 수행되어야 하기 때문에 운영체제 역시 메모리에 올라가게 된다. 그러나 용량이 큰 운영체제 전부를 메모리에 올리지 않고 운영체제의 가장 중요한 핵심 부분만 메모리에 올려두는데 그것이 커널이다. 그래서 좁은 의미의 운영체제를 커널이라고 부른다

그러나 사용자나 응용프로그램이 운영체제의 핵심 부분인 커널에 직접 접근하는 것은 위험한 일이다. 또한 사용자 공간에서 기계어 명령을 실행하는 것이 불가능하다. 따라서 운영체제는 시스템 콜을 제공한다.

◼ 시스템 콜

사용자와 응용프로그램이 커널에 직접 접근하지 않고도 운영체제의 기능을 사용할 수 있도록 운영체제가 제공하는 인터페이스이다. API라고도 한다. 사용자 수준 프로세스에서 제공하지 않는 기능을 운영체제의 루틴을 호출하여 제공받는 방법이다.

사용자는 명령 해석기 을 사용하여 대화 형태로 시스템콜을 호출하고 응용프로그램은 프로그램 내 명령어나 서브루틴 호출 형태로 호출한다.

◼ 쉘 (Shell)

사용자가 운영체제의 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램이다. 하나의 응용프로그램이라고 할 수 있다. 쉘은 터미널 환경(CLI)과 GUI환경이 있다. (ex. 명령 프롬프트 와 파일 탐색기)

◼ API (Application Programming Interface)

운영체제가 응용프로그램에게 제공하는 인터페이스이다. 함수 형태로 제공되며 주로 종류 별로 묶어서 라이브러리 형태로 제공된다. 시스템 콜을 호출하는 형태로 만들어져있다. 쉽게 말해 각 언어별 운영체제 기능 호출 인터페이스 함수이다.


◼ 요약

  • 운영체제는 커널을 보호하기 위해 시스템 콜 또는 이를 위한 시스템 호출 인터페이스 를 제공한다.

  • 인터페이스에는 응용 프로그램을 위한API, 사용자를 위한이 있다.

  • API는 운영체제 기능 호출 인터페이스 함수, 시스템 콜은 운영체제 기능 호출 함수이다.


profile
개발이 하고 싶어? 정말 하고 싶긴 한거야?
post-custom-banner

0개의 댓글