맨위로가기

하이브리드 커널

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

하이브리드 커널은 마이크로커널과 유사한 구조를 가지지만, 모놀리식 커널 방식으로 구현되는 운영 체제 커널이다. 대부분의 운영 체제 서비스가 커널 공간에 존재하여, 마이크로커널과 같은 사용자 공간 서비스 배치로 인한 신뢰성 향상은 없지만, 모놀리식 커널과 유사하게 커널과 사용자 모드 간의 메시지 전달 및 문맥 전환에 따른 성능 저하가 없다. 대표적인 하이브리드 커널로는 윈도우 NT 커널, XNU 커널 등이 있다.

더 읽어볼만한 페이지

  • 운영체제 기술 - 프로세스
    프로세스는 컴퓨터에서 실행되는 프로그램의 인스턴스로, 운영 체제가 시스템 자원을 효율적으로 관리하며 멀티태스킹 환경에서 독립적인 실행 흐름을 유지한다.
  • 운영체제 기술 - 커널 (컴퓨팅)
    커널은 운영 체제의 핵심으로, 하드웨어와 소프트웨어 간 상호 작용을 관리하며 시스템 보안, 자원 관리, 하드웨어 추상화, 프로세스 스케줄링, 프로세스 간 통신, 다중 작업 환경 지원 등의 기능을 제공하고, 모놀리식, 마이크로, 혼합형 커널 등으로 구현되며 가상화 및 클라우드 컴퓨팅 환경에서 중요성이 커지고 있다.
하이브리드 커널
기본 정보
단일형 커널과 하이브리드 커널의 비교
단일형 커널과 하이브리드 커널의 비교
유형커널
패러다임마이크로커널모놀리식 커널
개요
설명하이브리드 커널은 마이크로커널모놀리식 커널 아키텍처의 요소를 결합한 커널 아키텍처임.
특징모놀리식 커널처럼 커널 공간에서 실행되는 일부 서비스 (예: 장치 드라이버, 파일 시스템)
마이크로커널처럼 커널 공간과 사용자 공간 사이의 통신을 통해 서비스 제공
장점모놀리식 커널에 비해 모듈성과 유지 보수성이 향상됨.
마이크로커널에 비해 성능이 우수함.
단점모놀리식 커널만큼 빠르지 않음.
마이크로커널만큼 모듈화되지 않음.
동작 방식
핵심커널의 핵심 서비스 (예: 메모리 관리, 프로세스 스케줄링)는 커널 공간에서 실행됨.
추가 서비스장치 드라이버와 파일 시스템 같은 다른 서비스는 커널 공간 또는 사용자 공간에서 실행될 수 있음.
통신커널 공간과 사용자 공간 사이의 통신은 메시지 전달 또는 공유 메모리를 통해 이루어짐.
예시
운영 체제Microsoft Windows NT (Windows 2000, XP, Vista, 7, 8, 10, 11 포함)
macOS (XNU 커널)
BeOS
DragonFly BSD
추가 정보
관련 용어마이크로커널
모놀리식 커널
커널

2. 하이브리드 커널의 개념

하이브리드 커널은 마이크로커널과 유사한 커널 구조를 갖지만, 모놀리식 커널 방식으로 구현하는 것을 뜻한다. "하이브리드"라는 용어는 하이브리드 커널과 일반적인 모놀리식 커널의 유사성으로 인해 논란의 여지가 있으며, 리누스 토르발즈는 이 용어를 단순한 마케팅으로 일축했다.[3]

마이크로커널과 달리 하이브리드 커널에서는 모든(또는 거의 모든) 운영 체제 서비스가 여전히 커널 공간에 있다. 마이크로커널처럼 사용자 공간에 서비스를 배치함으로써 얻을 수 있는 신뢰성 향상 효과는 없다. 그러나 일반적인 모놀리식 커널과 마찬가지로 마이크로커널에서 일반적으로 발생하는 커널과 사용자 모드 간의 메시지 전달 및 문맥 전환에 대한 성능 오버헤드는 없다.

3. 대표적인 하이브리드 커널

3. 1. 윈도우 NT 커널

마이크로소프트의 윈도우 NT 커널은 Windows NT 계열 운영 체제, Windows Phone 8 이후 버전, Xbox One 이후 콘솔 등에서 사용되는 하이브리드 커널이다.[4] Windows 11과 Windows Server 2022를 포함한다. 이는 Mach 마이크로커널의 영향을 받은 수정된 마이크로커널로 설계되었지만, 대부분의 시스템 구성 요소가 커널과 같은 주소 공간에서 실행된다는 점에서 순수 마이크로커널과는 차이가 있다.[4]

기본 운영 체제 개성은 Windows API를 통해 구현되며, 에뮬레이션 서브시스템(클라이언트/서버 런타임 서브시스템, csrss.exe)이 사용자 모드에서 실행된다.[4] NT 4.0 이전 버전에서는 창 관리자, 그래픽 장치 인터페이스, 그래픽 장치 드라이버도 이 서브시스템 프로세스에 포함되었으나, 성능 향상을 위해 4.0 이상 버전에서는 이러한 모듈들이 커널 모드 서브시스템으로 실행된다.[4]

응용 프로그램은 OS 개성 중 하나에 작성되며, NT 런타임 라이브러리(ntdll.dll)를 통해 커널 모드로 트래핑하여 커널 모드 Executive 루틴을 호출하거나, 로컬 프로시저 호출 (LPC)을 통해 사용자 모드 서브시스템 서버 프로세스와 통신한다.[5]

3. 2. XNU 커널

'''XNU'''는 애플이 macOS, iOS, watchOS, tvOS 운영 체제에 사용하기 위해 개발하고 다윈 운영 체제의 일부로 자유-오픈 소스 소프트웨어로 배포한 커널이다. ''XNU''는 ''X is Not 유닉스''의 약자이다.[6]

원래 넥스트에서 넥스트스텝 운영 체제용으로 개발한 XNU는 마하 커널 2.5 버전과 4.3BSD 구성 요소, 그리고 드라이버 작성을 위한 객체 지향 API인 드라이버 키트를 결합한 하이브리드 커널이었다.

애플이 넥스트를 인수한 후, 마하 구성 요소는 마이크로커널인 OSFMK 7.3으로 업그레이드되었다.[7][8] 애플은 FreeBSD의 일부가 포함된 하이브리드 커널로서 기능하는 크게 수정된 OSFMK 7.3을 사용한다.[7] BSD 구성 요소는 FreeBSD 프로젝트의 코드로 업그레이드되었고, 드라이버 키트는 드라이버 작성을 위한 C++ API인 I/O Kit로 대체되었다.

다른 현대적인 커널들과 마찬가지로, XNU는 모놀리식마이크로커널의 특징을 모두 포함하는 하이브리드 커널이며, 두 기술의 장점을 최대한 활용하려고 시도한다.

3. 3. 기타 하이브리드 커널


  • BeOS 커널
  • * 하이쿠 커널
  • BSD 기반
  • * DragonFly BSD (하이브리드 커널을 사용하기 위한 최초의 비마하 BSD 운영 체제: 아미가OS로부터 개념을 빌려 옴)
  • * XNU 커널 (다윈의 코어: macOS에서 쓰임)
  • NetWare 커널[11]
  • 플랜 9 커널
  • * 인페르노 커널
  • NT 커널
  • * ReactOS 커널
  • BeOS
  • * 하이쿠
  • 실라블
  • BSD 기반
  • * 드래곤플라이 BSD (하이브리드 커널을 사용하는 최초의 비매치 BSD 운영 체제)
  • 넷웨어[9]
  • 벨 연구소 출신 플랜 9
  • * 인퍼노
  • OS/2[10]
  • * 이컴스테이션
  • * 아르카OS
  • * OS/4
  • 리액토스

3. 3. 1. BeOS 계열

3. 3. 2. BSD 계열

DragonFly BSD는 하이브리드 커널을 사용하는 최초의 비마하 BSD 운영 체제이다. 아미가OS로부터 개념을 빌려 왔다.[11]

3. 3. 3. NetWare 계열

NetWare 커널[11][9]

3. 3. 4. 플랜 9 계열

벨 연구소 출신 플랜 9 커널

  • 인페르노 커널

3. 3. 5. OS/2 계열

OS/2[10]

  • * 이컴스테이션
  • * 아르카OS
  • * OS/4

3. 3. 6. 기타

참조

[1] 웹사이트 Hybrid Kernel - OSDev Wiki https://wiki.osdev.o[...] 2021-01-11
[2] 웹사이트 What is Hybrid Kernel? - Definition from Techopedia http://www.techopedi[...] Techopedia.com 2011-08-22
[3] 웹사이트 Linus Torvalds http://www.realworld[...]
[4] 웹사이트 MS Windows NT Kernel-mode User and GDI White Paper https://docs.microso[...] Microsoft Corporation 2022-08-24
[5] 웹사이트 Overview of Windows Architecture https://web.archive.[...] Microsoft Research/Asia - Beijing 2007-03-01
[6] 웹사이트 Porting UNIX/Linux Applications to OS X: Glossary https://developer.ap[...] Apple Computer 2017-06-16
[7] 비디오 WWDC 2000 Session 106 - Mac OS X: Kernel https://www.youtube.[...]
[8] 학회 A Trusted, Scalable, Real-Time Operating System Environment https://web.archive.[...]
[9] 웹사이트 An Overview of the NetWare Operating System http://www.usenix.or[...]
[10] 웹사이트 OS/2 Kernel http://www.edm2.com/[...] 2020-09-04
[11] 웹사이트 An Overview of the NetWare Operating System http://www.usenix.or[...] 2007-02-07



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com