본문 바로가기
Embedded/Kernel Programing

Linux Kernel 구조

by 와인한잔의여유 2010. 2. 15.

커널의 동작방식은 유저모드의 프로세스에서 시스템콜 인터페이스를 통해,커널영역의 함수를 호출한다. 커널영역의 함수를 통해 하드웨어를 제어하는 흐름으로 동작한다.위에 그림에선 나타나 있진 않지만, 타이머도 들어가 있다.
크게 Filesystem Manager , Device Manager , Memory Manager , Process Manager , Network Manager로 나누어진다.
커널 프로그래밍을 하려면, 커널의 동작방식을 주관하는 기능에 대해서 알아야 한다.
프로세스 스케쥴러 - 복수의 프로세스에 대해 제어 권한을 교대로 부여해서, 동시에 프로세스가 실행하고 있는것처럼 보이는데, 이러한 프로세스를 관리하는 기능을 말한다.
인터럽트 처리와 지연 처리 - 하드웨어의 이벤트는 인터럽트라는 형태로 리눅스 커널에 전달하게 되는데, 인터럽트가 발생하면, 커널에서 실행중인 처리를 중단하고, 인터럽트를 처리하게 된다.
타이머 - 하드웨어로부터 발생하는 인터럽트를 잡아 타이머를 작동시키는데, 인터럽트 처리가 끝난 후에, 지정된 처리를 할수 있도록 한다.
시스템 콜  - 응용프로그램이 커널에 어떤 처리를 요청할때 유일하게 이용할수 있는 수단이다. 유저모드와 커널모드의 중계자로 이해하면 쉽다.


더 자세한 커널구조 보려면 : http://www.makelinux.net/kernel_map