하이브리드 커널
"오늘의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. 기타 하이브리드 커널
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]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