Embedded Linux

리눅스 커널 버전

작성자 임베디드코리아 작성일24-11-29 22:21 조회701회 댓글0건
■ 리눅스 커널 개요
    커널의 사전적 의미는 '알맹이'이며, 운영체제에 있어 가장 핵심이며, 운영체제 맨 하층에서 작동되는 소프트웨어이다.
    커널이라는 이름은 단단한 껍질 안의 씨앗처럼 OS 내에 위치하고 전화기, 노트북, 서버 또는 컴퓨터 유형에 관계없이
    하드웨어의 모든 주요 기능을 제어하기 때문에 붙은 이름입니다.
    여러 개의 프로세스들을 관리하기 위하여 스케줄링 알고리즘이다.
    Linux 커널은 Linux 운영 체제(OS)의 주요 구성 요소이자 컴퓨터 하드웨어와 프로세스를 잇는 핵심 인터페이스 이다.
    두 가지 관리 리소스 사이에서 최대한 효과적으로 통신 한다.
    < 추상화 자원관리 >
  • 커널의 가장 큰 역할은 컴퓨터의 물리적 자원과 추상화 자원을 관리하는 것이다.
      - 추상화란 물리적으로 하나 뿐인 하드웨어를 여러 사용자들이 번갈아 사용하게 중재함으로써,
        마치 한 개의 하드웨어가 여러 개인 것처럼 보여지도록 하는 기술이다.
    •  추상화된 환경에서 각 사용자들은 본인이 하나의 하드웨어를 독점하여 활용 하는 것처럼 느낄 수 있다.
    • 물리적 자원이라 할 수 있는 하드웨어에 접근하기 위한 방법은 매우 복잡하고 어렵다.
        -  사용자가 이를 직접 접근하기에는 무리가 있다.
          - 물리적 자원을 추상화하여 사용자가 보다 쉽게 접근할 수 있도록 도와주는 것이 커널이다.

■ 커널의 기능
    커널은 다음과 같은 4가지 기능을 수행한다.ㅁ
    ①  메모리 관리 : 메모리가 어디에서 무엇을 저장하는 데 얼마나 사용되는지를 추적한다.
    ② 프로세스 관리 : 어느 프로세스가 중앙 처리 장치(CPU)를 언제 얼마나 오랫동안 사용할지를 결정한다.
    ③ 장치 드라이버 : 하드웨어와 프로세스 사이에서 중재자/인터프리터의 역할을 수행한다.
    ④ 시스템 호출 및 보안 : 프로세스의 서비스 요청을 수신다.
 
■ OS 내에서 커널의 위치
    커널과 관련하여 Linux 시스템은 다음과 같은 3개 레이어로 구성되어 있다.

    ①  하드웨어 : 시스템의 토대가 되는 물리적 머신으로, 메모리(RAM)와 프로세서 또는 중앙 처리 장치(CPU)
                          그리고 입출력(I/O) 장치(예: 스토리지, 네트워킹 및 그래픽)로 구성된다.
                          ( CPU는 계산을 수행하고 메모리를 읽고 쓰기 함.)
      ② Linux 커널 : OS의 핵심으로 메모리에 상주하며 CPU에 명령을 내리는 소프트웨어이다.
      ③ 사용자 프로세스 : 실행 중인 프로그램으로, 커널이 관리한다.
                                      사용자 프로세스가 모여 사용자 공간을 구성한다.
                                      사용자 프로세스를 단순히 프로세스라고도 한다.
                                      또한, 커널은 이러한 프로세스 및 서버가 서로 통신(프로세스 간 통신 또는 IPC라고 함)할 수 있도록 해준다.

■  모드
    시스템에서 실행되는 코드는 커널 모드 또는 사용자 모드라는 두 가지 모드 중 하나로 CPU에서 실행된다.
      커널 모드에서 실행 중인 코드는 하드웨어에 무제한 액세스가 가능한 반면, 사용자 모드에서는 CPU 및 메모리가 SCI를 통해 액세스하는 것을 제한한다.
      메모리도 이와 유사하게 구분된다(커널 공간 및 사용자 공간). 이러한 두 가지 작은 세부 사항이 보안, 컨테이너 구축 및 가상 머신을
      위한 권한 구분과 같은 복잡한 작업의 토대가 된다.
          또한, 이는 프로세스가 사용자 모드에서 실패할 경우 손상이 제한적이며 커널에 의해 복구될 수 있음을 의미한다.
      그러나 커널 프로세스는 메모리와 프로세서에 액세스할 수 있기 때문에 충돌이 발생하면 시스템 전체가 중지될 수 있다.
      안전 장치가 마련되어 있고 경계를 넘기 위해서는 권한이 필요하기 때문에, 사용자 프로세스 충돌은 일반적으로 큰 문제를 유발하지는 않다.
      또한 Linux 커널은 실시간 패치 적용 중에 계속 작업할 수 있으므로 패치가 보안 수정에 적용되는 동안 다운타임이 발생하지 않다.

■  리눅스 커널 버전
      리눅스 커널 버전은 다양한 종류가 있으며, 크게 안정 버전, 개발 버전, 미리보기 버전 등으로 나눌 수 있다.
      - 안정 버전은 일반 사용자들이 사용하는 버전이며, 개발 버전은 새로운 기능이나 개선 사항을 테스트하기 위한 버전이다.
      -  미리보기 버전은 안정 버전보다 앞선 버전으로, 새로운 기능을 미리 체험해 볼 수 있다.

      < < 리눅스 커널 버전 종류  >>
        ►  안정 버전 (Stable): 6.14.7 (2025년 5월 18일 기준)
        ► 미리보기 버전 (Development): 6.15-rc7 (2025년 5월 18일 기준)
        ► LTS 버전 (Long Term Support): 5.15, 5.10, 5.4 등
            ** LTS 버전 (Long Term Support)이란?
            - LTS 버전은 장기간 지원을 제공하는 커널 버전으로 안정성과 신뢰성이 높은 것이 특징이다.
            - 장기간 지원은 보안 업데이트와 버그 수정 등을 포함하여 2~5년 이상 지원이 제공된다.

          < 리눅스 커널 버전 의미 >
            주버전(Major Version) ,부버전(Minor Version).패치버전(Patch Version)
            EX)    linux-6.14.9     
                      주버전 : 6    , 부버전 : 14    , 패치버전 : 9
                    ( 부버전이 홀수 일 경우 테스트용 버전이고, 짝수 일 경우 안정 버전을 의미 함.)

■ 리눅스의 버전 특징
    ► Linux 1.0 : 1994년 소스코드를 GPL 라이선스로 공개
    ► Linux 2.0 : 1996년  Linux 2.6.39까지 발전
    ► Linux 3.0 :  2011년  Linux 3.18.48까지 발전
    ► Linux 4.0 :  2015년  2017년 2월말 현재 Linux 4.10까지 발전
    ► Linux 5.0 :
    ► Linux 6.0 :