kernel

joooon na·2024년 2월 19일
0

CS

목록 보기
2/2

0. 개념


  • 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공한다.

  • 응용 프로그램이 하드웨어에서부터 오는 자원을 관리하고 사용할 수 있게 도와준다.

1. 리눅스 커널의 종류


리눅스 커널의 종류는 크게 4가지로 분류된다.

  • Prepatch
  • Mainline
  • Stable
  • Longterm

1-1. Prepatch


  • 리누스 토르발스가 직접 관리하며 RC(Realease Candidate) 버전이라고 부른다.

  • 신기능이 포함되지만, 안정성이 조금 떨어진다.

  • 대체로 빠르게 신기능을 확인하려는 목적으로 사용한다.

1-2. Mainline


  • 리누스 토르발스가 실제로 운영하는 버전이다. Prepatch에서 구현된 신기능을 보다 안정적으로 사용할 수 있다.

1-3. Stable


  • Mainline에서 대부분의 버그가 잡힌, 안정화된 커널을 의미한다. 실제 사용에 큰 문제가 없는 버전이다.

1-4. Longterm


  • Stable 버전보다 조금 더 안정적이며 장기간 업데이트를 지원한다. 많은 리눅스 회사가 이 Longterm 버전을 사용해 배포판을 만든다. 22년 말 기준, 최신버전은 5.15이다.

2. 구조에 따른 리눅스 커널의 종류


구조에 따라 리눅스 커널의 종류는 3가지로 나뉜다.

  • 단일형 구조 커널
  • 계층형 구조 커널
  • 마이크로 구조 커널

2-1. 단일형 구조 커널


  • 최초의 구조로 커널의 핵심 기능을 구현하는 모듈들의 구분없이 main() 함수 하나에 모든 코딩을 넣은 구조이다.

  • 장점

    • 모듈들이 거의 분리되지 않았기 때문에, 통신 비용이 적다.
  • 단점

    • 높은 의존도로 인해, 작은 버그에도 시스템 전체에 영향이 간다.
    • 유지보수가 어려우며, OS가 복잡해질수록 구현도가 올라간다.

2-2. 계층형 구조 커널


  • 유사한 기능을 갖는 모듈들을 집합시켜 계층을 만들고, 계층 간의 통신을 바탕으로 OS를 구현한 구조이다.

  • 장점

    • 단일형 구조보다 디버깅이 쉬우며, 버그를 쉽게 처리할 수 있다.
  • 단점

    • 상하 관계가 생성되며, 특정 계층에 이상이 생기면 위/아래 계층도 동작하지 못 할 수 있다.
    • OS가 복잡해질수록 많은 계층들이 발생하게 되어 구현도가 올라간다.

3-2. 마이크로 구조 커널


  • 단일형 구조 커널 vs 마이크로 구조 커널

  • 다양한 OS 서비스를 kernel Mode가 아닌 User Mode에서 처리하는 커널 구조이다.

  • 단일형 구조 커널에서 핵심 서비스만을 남겨두고 나머지는 제외하여 가볍게 만든 최소한의 커널이다.

  • 장점

    • 커널의 크기가 작으므로 커널과 일부 서비스만으로 작은 OS를 구성하여 임베딩 시스템을 사용할 수 있다.

    • 이식성이 좋으며, 모듈의 크기가 작아졌기 때문에 안정성이 높다.

    • 각 모듈이 독립적으로 작동함으로, 하나의 모듈이 실패해도 전체 OS가 멈추지 않고, 하나의 커널로 다수의 OS를 동시에 수행시킬 수 있다.

  • 단점

    • 잦은 통신이 필요하기 때문에 성능 저하의 우려가 있다.
profile
배고프다

0개의 댓글

관련 채용 정보