Layered Architecture — High level에서 low level에 이르는 추상화(Abstraction)가 핵심인 모듈형 아키텍처. 하위 레이어의 복잡한 세부를 감추고, 추상화된 기능을 상위 레이어에 제공한다. 인터페이스는 Function Call — 동기식 호출 기반이다. 상위 아키텍처 맥락은 소프트웨어 아키텍처 참고.
계층 구조와 도메인 매핑
| Layer | 예시 기술 |
|---|---|
| Applications | — |
| Application Framework | AUTOSAR, Android |
| Middleware · Database | AUTOSAR, ROS |
| Communication | — |
| Hypervisor · Container Mgr. | VirtualBox, Docker |
| Virtualization | — |
| Operating System | Linux, RTOS |
| Resource Mgmt. & Scheduling | — |
| Hardware | — |
각 계층은 바로 아래 계층의 기능을 추상화하여 위로 노출한다. 상위 계층은 하위 구현을 몰라도 된다.
Linux Architecture
User Space
├─ User Applications
├─ GNU C Library (glibc)
└─ System Call Interface
Kernel Space
├─ Kernel
└─ Architecture-Dependent Kernel Code
Hardware PlatformSystem Call Interface가 User Space와 Kernel Space의 경계 인터페이스 역할.
Android Architecture
Applications
└─ Application Framework
Libraries · Android Runtime
└─ Hardware Abstraction Layer (HAL)
Linux KernelHAL이 하드웨어 세부를 추상화하여 상위 런타임/프레임워크가 하드웨어 독립적으로 작성되도록 한다.
AUTOSAR Architecture
Application Layer
└─ Runtime Environment (RTE)
Services
├─ System Services
├─ Communication Services
├─ Memory Services
└─ Crypto Services
Hardware Abstraction
└─ Complex Drivers
Drivers
MicrocontrollerRTE가 Application Layer와 하위 BSW(Basic Software) 서비스의 경계. 상위 애플리케이션은 RTE만 보고 작성하면 된다. Classic Platform의 4계층 구조·BSW sub-layer·Complex Driver의 상세는 AUTOSAR Classic Platform에서 다룬다.
특성 요약
- 추상화 중심 — 상·하위 계층 간 관심사 분리
- 인터페이스 = Function Call
- 동기식(Synchronous) — 호출한 쪽이 반환을 기다림
- 관련된 비동기 패턴·Component 기반은 Component-Based Architecture / 실행·통신 아키텍처 패턴