토픽 89 / 97·비교표
운영체제 개요
모놀리식 커널 vs 마이크로커널 vs 하이브리드 커널
| 항목 | 모놀리식 커널 | 마이크로커널 | 하이브리드 커널 |
|---|---|---|---|
| 정의 | 모든 기능이 단일 주소공간에서 실행 | 최소 기능만 커널, 나머지는 사용자 공간 서버 | 모놀리식+마이크로 조합 |
| 성능 | 높음 (함수 호출 통신) | 낮음 (IPC 오버헤드) | 중간 |
| 안정성 | 낮음 (드라이버 버그→전체 크래시) | 높음 (서버 크래시→커널 무사) | 중간 |
| 보안성 | 낮음 | 높음 (공격 표면 최소) | 중간 |
| 사례 | Linux, Unix, FreeBSD | QNX, seL4, Minix | Windows NT, macOS XNU |
커널 모드 vs 사용자 모드
| 항목 | 커널 모드 | 사용자 모드 |
|---|---|---|
| 권한 | 모든 명령어, 하드웨어 직접 접근 | 제한된 명령어, 자신의 주소공간만 |
| 실행 대상 | 커널, 디바이스 드라이버, ISR | 응용 프로그램, 라이브러리 |
| 전환 방식 | 인터럽트/시스템 호출/예외로 진입 | Return으로 복귀 |
| 보호 | 시스템 전체 접근 가능 | 커널 서비스는 시스템 호출로만 접근 |
| CPU 모드 비트 | 0 (x86 Ring 0, ARM EL1) | 1 (x86 Ring 3, ARM EL0) |
시스템 호출 vs 라이브러리 함수
| 항목 | 시스템 호출 | 라이브러리 함수 |
|---|---|---|
| 실행 공간 | 커널 모드 | 사용자 공간 |
| 속도 | 느림 (모드 전환 오버헤드) | 빠름 |
| 기능 | 특권 연산 (I/O, 메모리 관리) | 일반 연산 |
| 예시 | open(), read(), fork() | printf(), strlen(), malloc() |
BIOS vs UEFI
| 항목 | BIOS | UEFI |
|---|---|---|
| 비트 | 16비트 | 32/64비트 |
| 부팅 방식 | MBR | GPT |
| 디스크 제한 | 2TB / 4파티션 | 무제한 / 128파티션 |
| Secure Boot | 미지원 | 지원 |
| 인터페이스 | 텍스트 기반 | GUI 지원 |