State Management에서 운영체제 전력 상태의 하드웨어 근접 조정 및 자율적 웨이크업을 가능하게 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8273631beee4출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
State Management에서 운영체제 전력 상태의 하드웨어 근접 조정 및 자율적 웨이크업을 가능하게 합니다.
네임스페이스 apext::sm은(는) AUTOSAR Adaptive State Management와 호스트 운영체제 간의 전력 상태를 조율하기 위한 표준 플랫폼 확장 인터페이스를 제공합니다 SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. 열거형 apext::sm::PowerState을(를) 통해 Linux 전용 절전 모드가 형식화되어 매핑됩니다 [SWS_SM_71002]. 또한 콜백 apext::sm::WakeUpHandler은(는) 선행 제어 애플리케이션 없이도 운영체제가 State Management에서 유휴 상태로부터의 자율적인 탈출을 트리거할 수 있도록 하며 [SWS_SM_71004], 이 호출은 스레드 안전하게 설계되지 않았습니다.
네임스페이스의 핵심 컴포넌트는 운영체제와의 전력 상태 조정을 담당하는 클래스 PowerStateInterface입니다. 이에 수반하여 헤더 apext/sm/power_state_interface.h은(는) 운영체제 드라이버, 외부 웨이크업 소스 및 내부 상태 관리 사이에서 링크 역할을 하는 형식화된 열거형 및 콜백 별칭을 정의합니다. 운영체제 외에도 이러한 인터페이스는 개념적으로 State Management의 Controller뿐만 아니라 상태 전이에 영향을 미칠 수 있는 SMControlApplication 또는 Update and Configuration Management(UCM)과 같은 상위 인스턴스와도 관련이 있습니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
apext::sm의 프레임워크 내 수명 주기는 std::uint32_t을(를) 기반으로 열거형 apext::sm::PowerState에 모델링된 개별 전력 상태에 의해 정의됩니다 [SWS_SM_71002]. 이러한 상태는 Linux 운영체제의 커널 관점에서 직접 파생됩니다:
kPmSuspendToIdle(= 1): PM_SUSPEND_TO_IDLE 상태에서 파생됨 [SWS_SM_71002].
kPmSuspendToRam(= 2): PM_SUSPEND_TO_RAM 상태에서 파생됨 [SWS_SM_71002].
kPmHibernation(= 3): PM_HIBERNATION(Suspend-to-Disk) 상태에서 파생됨 [SWS_SM_71002].
해석: 클래스 PowerStateInterface은(는) 통합자가 이러한 대상 상태를 쿼리하거나 호스트 운영체제로 전송하는 기본 앵커 포인트 역할을 할 것으로 보입니다. 질문 Q-800acae699828764 (열림)kPmSuspendToRam과(와) 같은 절전 상태에 머무는 동안에는 웨이크업 이벤트가 활성 작동 모드로의 복귀 전환을 시작할 때까지 정상적인 처리가 중단됩니다.
사용 경로
네임스페이스의 핵심 사용 사례는 유휴 상태로부터 전체 시스템의 자율적 웨이크업(Autonomous wake-up from suspend state)입니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. SMControlApplication이(가) Suspend-to-RAM 모드에서의 탈출을 명시적으로 요청할 수 있는 반면, State Management는 추가적으로 웨이크업 신호에 자율적으로 반응할 수 있습니다.
apext::sm을(를) 사용하고 통합할 때는 시스템별 제약 조건 및 동시성 위험에 유의해야 합니다:
스레드 안전성 부재: 호출 유형 apext::sm::WakeUpHandler은 사양에 따르면 명시적으로 스레드 안전하지 않습니다(not thread-safe) [SWS_SM_71004]. 운영체제 또는 인터럽트 컨텍스트에서 다중 또는 병렬 신호가 트리거되는 경우, 인티그레이터는 State Management에서 데이터 레이스와 비일관적인 상태 전이를 방지하기 위해 적절한 동기화 메커니즘을 마련해야 합니다.
매니페스트 모델링 오류: 배포 매니페스트에 Controller[SWS_SM_CONSTR_00036]에 대한 LeaveSuspend 상태가 누락되었거나 필수 요소인 LeaveSuspendToRam[SWS_SM_CONSTR_00037]가 포함되어 있지 않은 경우, 자동화된 전이가 실패하여 플랫폼이 휴면 상태 이후 정상적으로 작동을 재개할 수 없습니다.
본 가이드는 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 합니다. 모든 내용은 State Management를 위한 규범적 Platform Extension Interfaces를 기준으로 검증되었습니다.
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문