26.1 파일 시스템 계층(FHS) 기반 다중 워크스페이스 체인 아키텍처
표준 리눅스(Linux) 환경에서 운영체제의 커널 시스템 영역과 사용자 프로세스 영역의 파일들을 논리적으로 정리하고 배치하는 명세는 파일 시스템 계층 표준(Filesystem Hierarchy Standard, FHS)에 그 근간을 둔다. 로봇 운영체제(ROS 2)는 설계 초기 단계부터 이 FHS 모델을 핵심 아키텍처로 채택하여, 시스템 전역에 분산되는 패키지 실행 바이너리와 정적 리소스 파일들을 체계적이고 호환성 높은 구조로 배열한다. 자율 에이전트 드론을 구동하기 위한 방대한 제어 알고리즘과 내부 통신 레이어 패키지들은 무정형의 디렉터리가 아닌, 파일 계층의 물리적 분리 원칙에 따라 컴파일되고 탑재된다. ROS 2 환경의 다중 워크스페이스 런타임 체인(Chain) 아키텍처는 이러한 단일 FHS 구조를 복원력이 뛰어난 형태로 계층적 연속 확장한 모델이다.
1. ROS 2 런타임 설치 환경(Install Space)의 FHS 매핑 메커니즘
하나의 단위 ROS 2 모듈이 colcon 빌드 프레임워크를 통해 컴파일 전 과정을 마치게 되면, 최종적으로 생성된 런타임 구동 파일들은 워크스페이스 내부의 install 디렉터리 레이어에 리눅스 FHS와 구조적으로 동일한 골격으로 배치된다. 이는 단순히 소스 코드를 아카이빙하는 목적이 아니라, 운영 시스템이 런타임 바이너리를 최적의 위상으로 해석하고 동적 공유 메커니즘을 적용할 수 있도록 하는 엄격한 표준화 작업의 일환이다.
빌드된 패키지 산출물은 다음과 같이 FHS 개념을 차용한 구조에 정밀하게 매핑된다.
첫째, bin 하위 디렉터리에는 실제 노드(Node) 프로세스의 컴퓨팅을 개시하는 실행 가능한 C++ 바이너리 타겟 및 기본 셸 래퍼 스크립트 세트가 위치한다.
둘째, lib 하위 디렉터리는 메모리에 상주 중인 여러 노드 인스턴스 사이에서 구조적으로 참조되어야 할 공유 동적 풀(.so 라이브러리)과 파이썬(Python)의 바이트코드 기반 코어 런타임 모듈들이 적재된다.
셋째, include 하위 디렉터리는 타 코어 패키지의 빌드 시 역참조되어야 할 메타 C++ 헤더(Header) 파일 인터페이스를 보관하여 모듈 간 구조적 종속성 위기 대응 기능을 전담한다.
넷째, share 하위 디렉터리는 호스트 프로세서의 아키텍처와 독립적으로 공용 시스템에 배급되는 XML 포맷의 의존성 선언 명세 레이어(package.xml), 런치(Launch) 실행 플로우 스크립트, URDF 등의 렌더링 파일 등 정적 파일 자원을 저장한다.
위 규칙과 통제는 대상 시스템 워크스페이스가 루트 설치 공간(/opt/ros)이든 계층 하단의 로컬 영역(~/ros2_ws/install)이든 동일한 위상 기하학적 기준으로 강제된다.
2. 다중 워크스페이스 FHS 체인 아키텍처를 통한 의존성 논리 병합
고밀도 자율 에이전트 환경이나 복합 시스템 아키텍처 하에서는 단일한 로컬 워크스페이스만으로 수천 개의 코어 파이프라인 컴포넌트를 통제하는 것이 사실상 불가능하다. 이에 따라 시스템 엔지니어는 핵심 미들웨어 계층(Root Underlay), 외부 솔루션 통합 계층(Intermediate Overlay), 그리고 제어 및 추론 정책이 포함된 최전선 개발 계층(Terminal Overlay)을 다중으로 중첩하여 구성하게 된다. 이 때 물리적으로 이격된 다수의 파일 시스템을 논리적인 트랜잭션으로 직렬 결합하는 뼈대가 상위 단위 다중 체인 시스템이다.
런타임 구동 시 특정 패키지의 호출이나 정적 리소스 로케이션 명령이 하달될 때, ROS 2의 ament 리소스 탐색 코어 프레임워크는 물리적으로 분할된 모든 체인 워크스페이스의 share 또는 lib 디렉터리 공간들을 단일화된 하나의 거대한 가상 FHS 컨테이너로 추상화한다. 개별 워크스페이스의 install 절대 경로 파라미터는 AMENT_PREFIX_PATH라는 위상 참조 객체 리스트에 시간 순서의 역방향 스택 구조로 저장된다.
만약 메인 런타임 시스템이 타겟 패키지의 리소스 바이너리를 탐색할 경우, 앞서 스택업 된 배열 변수에 명세된 순서 체인을 기반으로 가장 마지막 단계에 의존 선언된 말단 오버레이의 로컬 FHS 구역부터 차례로 인덱싱을 수행한다. 최상위 계층의 오버레이에서 검색 타겟이 부재함이 확인될 경우, 탐색 제어권은 다음 노드인 하위 연결 체인 시스템으로 포워딩(동적 위임)된다. 이와 같은 후퇴 체이닝(Fallback) 방식의 경로 시퀀스 배분은 상이한 디스크 공간에 분산된 거대 수량의 패키지들이 식별자 충돌(Naming Collision) 없이 유기적인 함수를 호출하게 만드는 무결성 아키텍처를 달성한다. 결과론적으로, 다중 워크스페이스의 경로 연쇄 구조는 물리적 개발 격리가 주는 불변성의 가치와 논리적 통합이 보장하는 호출의 실시간 편의성을 로우 레벨 단에서 단일하게 구현한다.