하드웨어와 응용 프로그램 사이에서 인터페이스를 제공한다.
응용 프로그램이 하드웨어에서부터 오는 자원을 관리하고 사용할 수 있게 도와준다.
리눅스 커널의 종류는 크게 4가지로 분류된다.
리누스 토르발스가 직접 관리하며 RC(Realease Candidate) 버전이라고 부른다.
신기능이 포함되지만, 안정성이 조금 떨어진다.
대체로 빠르게 신기능을 확인하려는 목적으로 사용한다.
구조에 따라 리눅스 커널의 종류는 3가지로 나뉜다.
최초의 구조로 커널의 핵심 기능을 구현하는 모듈들의 구분없이 main() 함수 하나에 모든 코딩을 넣은 구조이다.
장점
단점
유사한 기능을 갖는 모듈들을 집합시켜 계층을 만들고, 계층 간의 통신을 바탕으로 OS를 구현한 구조이다.
장점
단점
단일형 구조 커널 vs 마이크로 구조 커널
다양한 OS 서비스를 kernel Mode가 아닌 User Mode에서 처리하는 커널 구조이다.
단일형 구조 커널에서 핵심 서비스만을 남겨두고 나머지는 제외하여 가볍게 만든 최소한의 커널이다.
장점
커널의 크기가 작으므로 커널과 일부 서비스만으로 작은 OS를 구성하여 임베딩 시스템을 사용할 수 있다.
이식성이 좋으며, 모듈의 크기가 작아졌기 때문에 안정성이 높다.
각 모듈이 독립적으로 작동함으로, 하나의 모듈이 실패해도 전체 OS가 멈추지 않고, 하나의 커널로 다수의 OS를 동시에 수행시킬 수 있다.
단점