ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [운영체제] 커널(Kernel)
    운영체제 2023. 8. 7. 15:30

    Overview


    커널(Kernel)은 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램(Software)입니다.

    커널은 시스템의 모든 것을 완전히 제어합니다.

    OS의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공합니다.

    커널의 역할


    kernel에 대한 이미지, 위키를 참고하여 제작

    1. 보안
      • 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임짐
    2. 자원 관리
      • 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 함
      • 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 함
    3. 추상화
      • 일반적으로 커널은 OS의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화들을 구현함

    커널의 종류


    단일형 커널

    단일형 커널, 위키를 참고하여 제작

    • OS에서 일어나는 모든 일들을 한 개의 커널이 다 처리하는 방식
    • 속도가 빠르고 설계가 편리함
    • 잠재적 안정성 문제에 커널의 크기도 무지막지하게 커짐
    • 단일형 커널로는 리눅스, BSD 등이 있음

    마이크로 커널

    마이크로 커널, 위키를 참고하여 제작

    • 일반적으로 커널이 제공하는 네트워킹 가은 다른 서비스들은 사용자 공간 프로그램인 서버로 구현함
    • 시스템 콜, 그리고 주변 장치 관리는 서버라는 응용프로그램 계층으로 제공하는 방식으로 커널에서 제외하여 안정성을 높이고 크기도 줄인 설계 방식
    • 안정성과 보안 수준이 높아지지만 성능이 떨어짐

    혼합형 커널

    혼합형 커널, 위키를 참고하여 제작

    • 마이크로 커널 + 단일형 커널 (장점을 혼합)
    • XNU 커널이 혼합형 커널임

    XNU 커널


    • XNU 커널은 다윈(Darwin) OS의 일부분임
    • XNU 기반의 다윈은 macOS와 iOS의 핵심 요소로 사용
    • Mach 커널 + BSD 커널을 합친 혼합형 커널

    참고


    https://ko.wikipedia.org/wiki/커널_(컴퓨팅)

    https://namu.wiki/w/커널(운영 체제)

    https://github.com/apple/darwin-xnu

    '운영체제' 카테고리의 다른 글

    [운영체제] 스레드(Thread)  (0) 2023.08.11
    [운영체제] 프로세스(Process)  (0) 2023.08.10
    [운영체제] 시스템 호출 (System Call)  (0) 2023.08.09
Designed by Tistory.