리눅스 커널(Kernel)이란? | 커널 버전

리눅스 커널과 커널은 같은 뜻을 가지고 있습니다. 커널을 말할 때 리눅스 커널을 이야기 하는 것입니다. 핵심(&알맹이)이라는 뜻을 가진 커널(Kernel)은 내부 계층에 속하며, Shell 명령과 하드웨어를 연결해 주는 역할을 합니다.

리눅스 커널(Kernel)의 개념

컴퓨터는 크게 물리적으로 만질 수 있는 하드웨어(키보드, 모니터, 본체:CPU, 메모리 등)와 소프트웨어로 나뉘게 됩니다. 소프트웨어는 운영체제인 윈도우, 리눅스, MacOS 등이며, 추가로 설치하는 응용 프로그램인 Chrome, MsOffice 등으로 나뉘게 됩니다.

리눅스 운영체제에서는 커널과 시스템 프로그램으로 나눌 수 있습니다.

리눅스 쉘(Shell)과 커널(Kernel)
출처: https://www.shiksha.com/online-courses/articles/unix-vs-linux/

앞서 언급한 것처럼 유저는 Shell 명령어를 입력하여 커널에 전달하게 되며, 핵심이란 뜻에서 알 수 있듯이 전달 받은 Shell 명령을 커널 기계가 이해할 수 있는 언어로 변환해서 하드웨어 및 프로세스, 메모리 등 윈도우에서 실행시켜 어떤 작업을 수행하는 것과 같은 역할을 합니다.

리눅스에서 커널은 OS의 핵심 기능을 담당하며, 디바이스, 프로세스, 메모리 관리와 시스템 콜 제공 기능을 가지고 있습니다. 운영체제의 리소스와 하드웨어 기능을 관리하는 것이 커널이라고 할 수 있습니다.

운영체제=커널과 시스템프로그램(보통 Shell)

▼ 실제로 복잡한 구성을 가진 커널의 구성도입니다.

리눅스 커널 구조도(출처 위키피디아)
리눅스 커널 구조도(출처 위키피디아)

✅ 커널의 역할

리눅스 커널(Kernel)의 역할(목적)

커널의 목적은 컴퓨터의 하드웨어(물리적 자원)와 추상화 자원을 관리하는 것입니다.

  • 테스크(Task) 관리자
  • 물리적 자원인 CPU를 추상적 자원인 Task로 제공
  • 메모리(Memony) 관리자
  • 물리적 자원인 메모리를 Page, Segment로 제공
  • 파일 시스템(Fiile System) 관리자
  • 물리적 자원인 디스크를 추상적 자원인 File로 제공
  • 네트워크(Network) 관리자
  • 물리적 자원인 네트워크 장치를 추상적 자원 Socket으로 제공

✅ 커널의 버전

1996년 4월 버전 2.0이 나왔으며, 2년 마다 마이너 버전(0.x)가 배포 되었으며, 2개월 마다 패치 버전(0.0.x)가 배포되는 방식이 기본 방식이었습니다. 2.6 버전 이후 7년 간 마이너 및 패치 버전 배포 없이 유지되다가 2012년 12월 3.8 버전, 2018년 4.17 버전, 2022년 6.1 버전, 이후 6.1.2 버전 등이 있습니다.

Similar Posts

  • 셔뱅(Shebang) [#! /bin/bash]

    shebang (셔뱅 또는 해시뱅)은 스크립트 파일의 첫 줄에 쓰이는 #!(해시 기호 + 느낌표)로 시작하는 구문입니다. 이 줄은 해당 스크립트를 어떤 인터프리터로 실행 할지를 지정합니다. 인터프리터(interpreter)는 프로그래밍 언어로 작성된 코드를 한 줄씩 읽고 즉시 실행하는 프로그램입니다. 이는 “작성된 명령을 번역해서 곧바로 실행해주는 번역기”라고 볼 수 있습니다. 보통 ASCII 텍스트 파일로 작성된 셸 스크립트에서 해시…

  • [Linux] 리눅스 mv 명령어 사용법 및 mv 명령어 옵션

    리눅스 mv 명령어는 Move의 약자로 파일 또는 디렉토리를 이동하거나 이름을 변경할 때 사용하는 명령어입니다. 기본적인 리눅스 mv 명령어 사용법과 옵션 및 활용 방법에 대해 알아 보겠습니다. 목차리눅스 커널(Kernel)의 개념✅ 커널의 역할✅ 커널의 버전✅ 리눅스 mv 명령어 기본 옵션 mv 명령어의 기본 사용 방법입니다. ✅ mv 명령어 옵션 ✅ mv 명령어 활용하기 1. 여러…

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차리눅스 커널(Kernel)의 개념✅ 커널의 역할✅ 커널의 버전 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는 모든 기능과 명령어들을 의미합니다. echo 명령어로 인수(or 인자: Argument)가 표시됩니다….

  • 리눅스 디바이스 드라이버 | 장치 파일(Device File) | /dev 디렉토리

    리눅스는 모든 것을 파일로 관리합니다. 리눅스에는 장치 파일(Device File)은 여러 프로그램에서 시스템에 설치된 하드웨어에 접근할 수 있게 하는 파일입니다. 디바이스를 구동하기 위해 리눅스 디바이스 드라이버가 필수 요구 사항입니다. 리눅스 시스템이 마우스 장치 파일을 참조해서 마우스의 조작을 하게 하거나 프린트의 출력 등을 담당하는 것을 생각할 수 있으며, 주로 스토리지를 마운트 하는데 많이 사용된다고 할…

  • [Linux] usermod 명령어

    usermod 명령어는 user modification(사용자 수정)의 약자로 이미 존재하는 사용자 계정의 속성을 변경할 때 사용됩니다. usermod는 사용자의 로그인 이름, UID (사용자 ID), 홈 디렉토리, 로그인 셸, 그룹 등의 속성을 변경할 수 있는 명령어입니다. 목차리눅스 커널(Kernel)의 개념✅ 커널의 역할✅ 커널의 버전✅ usermod 명령어 기본 옵션 ✅ 주요 옵션 ✅ 사용 예시 🔲 사용자 홈 디렉토리 변경…

  • 리눅스 파티션 설정 방법: gdisk 명령어

    리눅스 파티션 설정(생성과 수정, 삭제)을 진행할 때 fdisk 명령어 또는 gdisk 명령어를 사용합니다. gdisk를 이용한 파티션 정보 편집에 대해 다뤄 보겠습니다. 마운트 하기 전 파티션의 설정은 다음과 같은 순서로 진행됩니다. 저장 후 종료 전까지 파티션 작업 내용은 디스크에 반영되지 않습니다. 목차리눅스 커널(Kernel)의 개념✅ 커널의 역할✅ 커널의 버전✅ gdisk 명령어로 리눅스 파티션 설정하기 gdisk는…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   3   =