# Xenomai 용어 해설

**Domain**

도메인은 Xenomai 실시간 환경에서 작업이 수행되는 논리적 영역이다. 기본적으로 Xenomai에서 실시간 작업과 비실시간 작업을 명확하게 구분하여 시스템의 예측 가능성을 높인다.

**Skin**

스킨은 Xenomai 커널 모듈로서, 특정 실시간 API와 호환되는 인터페이스를 제공한다. 예를 들어, POSIX 스킨은 POSIX API와 호환되며, VxWorks 스킨은 VxWorks API와 호환된다.

**I-pipe**

결핵 인터페이스(I-pipe, 인터럽트 파이프라인)는 Xenomai와 Linux 커널 사이에서 인터럽트가 전달되는 경로를 말한다. 이 인터페이스는 실시간 작업의 우선순위를 보장하기 위해 Xenomai가 인터럽트를 직접 처리할 수 있도록 한다.

**Real-Time Task**

실시간 태스크는 Xenomai에서 높은 우선순위로 실행되는 태스크이다. 이러한 태스크는 응답 시간이 결정적으로 중요한 작업을 수행하며, 일반적인 비실시간 작업보다 높은 우선순위를 갖는다.

**Scheduling Class**

Xenomai는 다양한 스케줄링 클래스를 제공하여 태스크를 관리한다. 이 클래스는 태스크의 우선순위를 정하고, 해당 우선순위에 따라 태스크를 실행시킨다. 예를 들어, FIFO와 RR(Round-Robin)이 있다.

**Dual Kernel**

Xenomai는 듀얼 커널 아키텍처를 사용하여 실시간 성능을 보장한다. Xenomai 커널과 Linux 커널이 동시에 실행되며, 실시간 태스크는 Xenomai 커널에서, 비실시간 태스크는 Linux 커널에서 처리된다.

**Pipeline Stage**

파이프라인 스테이지는 I-pipe 인터페이스에서 인터럽트가 전달되는 각 단계를 의미한다. Xenomai는 이 단계에서 인터럽트를 가로채 실시간 작업을 우선 처리할 수 있다.

**Primary Mode**

주 모드는 Xenomai 실시간 환경에서 태스크가 실시간 특성을 유지하며 실행되는 모드이다. 이 모드에서는 실시간 성능을 보장하기 위해 모든 인터럽트와 타이밍이 관리된다.

**Secondary Mode**

부 모드는 Xenomai가 Linux 커널과 상호 작용할 때 사용되는 모드이다. 이 모드에서는 실시간 성능이 보장되지 않으며, 비실시간 태스크가 실행된다.

**User-space task**

사용자 공간 태스크는 Xenomai 환경에서 사용자 공간(user-space)에서 실행되는 태스크를 의미한다. 이러한 태스크는 표준 C 라이브러리나 POSIX API를 통해 실시간 성능을 제공받을 수 있다.

**Context Switch**

컨텍스트 스위치는 현재 실행 중인 태스크의 상태를 저장하고, 다른 태스크의 상태를 복원하여 실행을 전환하는 과정이다. Xenomai는 컨텍스트 스위치를 최소화하여 실시간 성능을 최적화하려고 노력한다.

**Real-Time Scheduler**

실시간 스케줄러는 시스템에서 실시간 태스크의 실행 순서를 결정하는 데 핵심적인 역할을 한다. Xenomai의 실시간 스케줄러는 최적의 응답 시간을 제공하기 위해 태스크의 우선순위를 기준으로 스케줄링을 수행한다.

#### Xenomai 사용자 매뉴얼 활용법

**시스템 요구사항**

Xenomai를 설치하고 사용하는 데 필요한 하드웨어 및 소프트웨어 환경을 정의한다. 이는 적절한 CPU, 메모리, 운영체제 버전 및 커널 설정 등을 포함한다.

**설치 가이드**

Xenomai를 시스템에 설치하는 단계별 지침을 제공한다. 설치 과정에는 소스 코드 컴파일, 패치 적용, 커널 구성 및 설치 등의 절차가 포함될 수 있다.

**기본 설정**

Xenomai를 초기화하고 기본 설정하는 방법을 설명한다. 이는 Xenomai 시스템을 초기 부팅 할 때 올바르게 설정하기 위한 다양한 파라미터를 조정하는 방법을 포함한다.

**실시간 태스크 생성**

실시간 태스크를 생성하고 관리하는 방법을 설명한다. API 호출 예제와 함께 실시간 태스크의 생성, 설정 및 종료 절차를 다룬다.

**실시간 스케줄링**

다양한 스케줄링 방법과 Xenomai에서 제공하는 스케줄링 정책을 다룬다. 이는 어떠한 스케줄링 정책이 어떤 상황에 적합한지에 대한 지침을 포함한다.

**디버깅 및 프로파일링**

실시간 애플리케이션의 디버깅 및 성능 프로파일링을 단순화하기 위한 도구와 기법을 소개한다. 이를 통해 실시간 시스템의 안정성과 성능을 높일 수 있다.

#### 부록의 활용 예

**FAQ 섹션**

자주 묻는 질문과 그에 대한 답변을 제공하여 사용자가 흔히 겪는 문제를 신속하게 해결할 수 있도록 돕는다.

**용어집**

Xenomai와 관련된 전문 용어와 개념을 쉽게 이해할 수 있도록 용어집을 제공한다.

**참고 문헌**

Xenomai와 관련된 추가 학습 자료와 문헌을 나열하여 사용자가 더 깊이 있는 연구를 할 수 있도록 한다.
