티스토리 뷰

1. 커널과 인터페이스

커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것이다.

자동차의 엔진에 해당한다.

자동차가 움직이는 데에는 엔진은 물론이고 사람이 조작할 수 있는 핸들과 브레이크가 필요하다. 또한 현재 시속, 기어의 상태, 엔진의 온도 등을 알려주는 계기판이 있어야 하는데 이를 인터페이스라고 한다.

 

운영체제는 크게 두 부분으로 나뉜다.

사용자와 응용 프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용 프로그램에 돌려주는 인터페이스운영체제의 핵심 기능을 모아놓은 커널이 그것이다.

운영체제는 커널과 인터페이스를 분리하여, 같은 커널을 사용하더라도 다른 인터페이스를 가진 형태로 제작할 수 있다. 같은 커널이라도 다른 인터페이스가 장착되면 사용자에게는 다른 운영체제처럼 보인다.

2. 시스템 호출과 디바이스 드라이버

커널 내부에 있는 시스템 호출과 드라이버에 대해 알아보자.

2.1 시스템 호출

시스템 호출(System Call)은 커널이 자신을 보호하기 위해 만든 인터페이스다. 커널은 사용자나 응용프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단한다. 따라서 자원을 이용하려면 시스템 호출이라는 인터페이스를 이용하여 접근해야 한다.

 

시스템 호출은 커널이 제공하는 시스템 관련 서비스를 모아놓은 것이며 함수 형태로 제공된다. ( write(), printf() 등 )

응용프로그램이 하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용하려 할 때는 시스템콜을 사용해야 한다.

2.2 드라이버

커널과 하드웨어의 인터페이스드라이버가 담당한다. 컴퓨터 하드웨어는 종류가 아주 많은데, 운영체제가 많은 하드웨어를 다 사용할 수 있는 환경을 제공하려면 각 하드웨어에 맞는 프로그램을 직접 개발해야 한다. 그러나 커널이 모든 하드웨어에 맞는 인터페이스를 다 개발하기는 어렵다. 또한 각 하드웨어의 특성은 하드웨어 제작자가 가장 잘 알고 있기 때문에 하드웨어 제작자가 관련 소프트웨어를 만드는 것이 더 유리하다.

 

커널은 입출력의 기본적인 부분만 제작하고, 하드웨어의 특성을 반영한 소프트웨어를 하드웨어 제작자에게 받아 커널이 실행될 때 함께 실행되도록 한다. 이때 하드웨어 제작자가 만든 소프트웨어를 디바이스 드라이버라고 부른다. 마우스, 키보드와 같이 복잡하지 않은 디바이스 드라이버는 커널에 포함되어 있어 컴퓨터에 꽂기만 하면 동작되지만 그래픽카드, 프린터와 같이 크기가 크고 복잡한 디바이스 드라이버는 사용자가 직접 설치해야 한다.

 

하드웨어는 커널과 직접 연결되기도 하고 하드웨어 제작자가 제공하는 드라이버를 통해 연결 되기도 한다.

'운영체제' 카테고리의 다른 글

[운영체제] 프로세스와 프로그램의 차이  (0) 2023.01.04
댓글