Kernel   커널

(2023-09-03)

사용자 공간, 커널 공간


1. 커널 (Kernel)

  ※ 여러 분야에서, 핵심/근원을 이루는 부분을 가리킬 때 쓰이는 용어로써, 널리 사용됨

  ㅇ [일반] 
     - 사상,주제의 핵심, 속씨/씨알 등

  ㅇ [수학]
     - 커널은, 동차 선형 연립방정식(A x = 0)의 해 집합 (때론,해 공간 라고도 함)
        
        . 즉, 선형변환 T:V→W 에서 0으로 사상하는 V의 벡터 집합을 변환 T의 핵(Kernel)이라 함

  ㅇ [운영체제]
     - 커널은, 운영체제의 가장 핵심적인 역할을 하는 부분
        . CPU,메모리,프로세스,파일시스템,입출력 등 주요 자원을 관리
        . 최초 기동시(부팅) 메모리에 로드 됨
        . 항상 메모리 안에 거주하며, 하드웨어 및 실행중인 프로그램을 관리하는 소프트웨어


2. [운영체제]  커널

  ㅇ 커널은, 메모리에 항상 존재하며, 모든 프로세스가 사용할 수 있는 핵심 루틴들의 집합

  ㅇ 주요 기능
     - 모든 프로세스의 상위에 존재하며, 이들을 보호,제어 함 
        . 실행중인 모든 프로세스에 대한 정보를 갖는 데이터구조를 유지관리
        . 프로세스의 생성,변경,종료 때마다 정보 갱신
     - 제한된 메모리효율적 관리
        . 가상 메모리 관리
     - 스케쥴링 (Scheduling)
        . 각종 실행중인 프로세스 또는 CPU 순서배정
     - 인터럽트 요청의 처리
        . Interrupt Handler
     - 파일시스템제어 관리
        . 화일의 생성,검색,갱신,삭제 등
     - 네트워킹
        . 패킷의 송수신, 경로 설정 등
     - 주변장치와 해당 프로그램의 입출력 처리
        . 디바이스 드라이버를 통해 장치 관리
     - 시스템 콜 제공

  ㅇ 주요 커널 이미지명
     - 초기 유닉스 버젼     :  unix
     - BSD 기반의 유닉스    :  가상메모리 구현 버젼 vmunix
     - 리눅스               :  vmlinuz (/boot/vmlinuz)
     - MS사의 NT/2000/XP 등 :  ntoskrnl.exe


3. [운영체제]  (참고사항)운영체제와 사용자 프로그램은, 하드웨어,소프트웨어 자원을 공유함에 따라, 
     - 올바른 실행 보장을 위해, 다음과 같이 둘을 구분(차별화)할 수 있도록 함

  ㅇ 2개의 독립된 모드로 구분시킴 
     - 사용자 모드 or 보호 모드
        . 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용 못함
        . 응용 프로그램이 이 모드로 동작함 
     - 커널 모드(kernel mode) or 수퍼바이저 모드 or 시스템 모드 or 특권 모드(previleged mode)
        . 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용 못함
        . 운영체제가 이 모드로 동작함

  ㅇ 이를 지원토록, 현재의 모드를 나타내기 위한, 모드 비트컴퓨터 하드웨어(CPU)에 추가함
     - 사용자 모드 (1), 커널 모드 (0)
 
  ㅇ 따라서, 시스템 보호를 위해, 개념적으로 영역(공간) 분리되어 실행됨
     - 사용자 공간 : 메모리 일부, 안전한 CPU 작업 일부, 하드웨어 일부 등 제한적임
        . 프로세스가, 사용자 모드로 실행 중이면, 사용자 공간에서 프로세스를 실행한다고 함
     - 커널 공간 : 커널 만이 접근할 수 있는 메모리 및 하드웨어 모든 영역

  ㅇ 특권 명령 (privileged instruction)
     - 일부 CPU 명령들을 특권 명령으로 지정하고, 커널 모드에서 만 실행되도록 함
     - 만일, 사용자 모드에서 특권 명령 시도하면, CPU운영체제트랩을 검 
     - 특권 명령 例) 커널모드로의 전환, I/O 제어, 타이머 관리, 인터럽트 관리 등 

  ㅇ 사용자 모드에서 커널 모드로의 제어권이 전환되는 수단 : 인터럽트, 트랩, 시스템콜



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"