계층적 접근 (Layered Approach)
Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”운영체제를 여러 계층(layer)으로 나누어, 각 계층이 하위 계층의 기능만 사용하도록 구조화하는 방식이다. 모놀리식의 밀접한 결합(tightly coupled) 문제를 해결하기 위해 등장했다.
계층 구조
섹션 제목: “계층 구조” 계층 N 사용자 인터페이스
계층 N-1 ...
계층 M 데이터 구조 + 함수 집합
계층 1 ...
계층 0 하드웨어
계층의 특성
섹션 제목: “계층의 특성”각 계층은 추상 객체의 구현으로:
- 데이터와 그 데이터를 조작하는 연산으로 구성
- 상위 계층에 의해 호출될 수 있는 데이터 구조와 함수 집합으로 구성
- 하위 계층의 연산만 호출 가능
정보 은닉 (Information Hiding)
섹션 제목: “정보 은닉 (Information Hiding)”각 계층은 하위 계층의 연산이 어떻게 구현되는지 알 필요 없다:
- 연산이 무엇을 하는지만 알면 됨
- 존재, 인터페이스, 기능을 나머지 시스템으로부터 숨김
Loosely Coupled System
섹션 제목: “Loosely Coupled System”느슨하게 결합된 시스템의 특징:
- 별도의 작은 구성 요소들로 분리
- 각 구성 요소는 특정하고 제한된 기능을 가짐
- 한 구성 요소의 변경이 해당 구성 요소에만 영향
디버깅 이점
섹션 제목: “디버깅 이점” 1 1단계
첫 번째 계층은 기본 하드웨어만 사용 → 하드웨어 정확성 가정하에 디버깅 2 2단계
첫 번째 계층 디버깅 완료 후, 두 번째 계층 디버깅 3 3단계
오류 발생 시 해당 계층에서 발생했음을 확신 가능 트레이드오프
섹션 제목: “트레이드오프”| 장점 | 단점 |
|---|---|
| 구성과 디버깅의 단순화 | 계층 정의가 어려움 |
| 시스템 검증 용이 | 각 계층이 하위 계층만 사용하도록 신중히 계획 필요 |
| 오류 발생 위치 파악 용이 | 계층 간 호출 오버헤드 |
| 모듈화로 유지보수 용이 | 실제로는 적은 계층에 더 많은 기능을 넣는 경향 |
관련 개념
섹션 제목: “관련 개념”- 모놀리식 구조 (Monolithic Structure) - 모든 기능을 단일 주소 공간에서 실행하는 밀접하게 결합된 구조
- 마이크로커널 (Microkernel) - 최소한의 커널만 남기고 나머지를 사용자 공간에 구현한 구조
- THE 시스템 (THE System) - 운영체제를 계층으로 분리한 최초의 시스템
- 정책과 메커니즘 (Policy and Mechanism) - 계층 간 분리 설계를 뒷받침하는 핵심 원칙
- Windows 계층 구조 - HAL, Kernel, Executive 3계층으로 구성된 실제 계층적 아키텍처
- Operating System Concepts, 10th Edition, Chapter 2, p.83-84