- What is Device driver

Device driver는 Kernel안에서 hardware control을 담당하는 일종의 program이다.

모든 hardware는 자신을 위한 Device driver를 가지고 있고 Kernel은 최대한 다양한 hardware를 다루기 위해서 다양한 Devide driver를 지원한다.

실제로도 Kernel code에서 상당부분이 Device driver code이다.

 

- What is Kernel module?

Kernel module은 Kernel과 따로 build되었지만 run-time에 Kernel에 삽입될 수 있는 program이다.

(이를 위해 insmod라는 program이 지원됨)

 

- Device driver를 배우기전에 Kernel module의 기본 개념을 알아야 하는 이유

Device driver는 Kernel과 함께 build되어 처음부터 Kernel의 일부일 수도 있지만, Kernel module로 만들어져 run-time에 Kernel에 load 될수도 있다.

 

- 'Hello, world' Kernel module 예제

1. 'Hello, world' Kernel module code를 'test.c' 파일에 작성

 

2. Build를 위한 'Makefile' 파일 작성

 

3. Build하여 'test.ko' Kernel module 생성

 

4. 'test.ko' Kernel module을 Kernel에 load 및 load 확인

 

5. 'test.ko' Kernel module을 Kernel에서 제거

 

+ Recent posts