SW/Autosar

Adaptive Autosar Operating System (운영 체제)

얇은생각 2018. 11. 13. 15:18
반응형

안녕하세요. 글쓴이입니다. 이번 포스팅에서는 Adaptive Autosar의 운영체제에 대해 알아보도록 하겠습니다.

 

개요

운영 체제는 모든 프로그램에 대한 실행 자원 관리 역할을 수행합니다. Execution ManagementOS와 함께 플랫폼 초기화 및 응용프래그램 시작 및 종료 관리 역할을 수행합니다. Adaptive Platform은 새로운 운영체제를 정해놓지는 않습니다. 그보다는 Adaptive Application에서 사용하는 Context와 인터페이스를 정의합니다. OSI에서는 Adaptive Application ARA의 일부인 응용 프로그램 인터페이스가 정의되어 있습니다. 운영체제 자체에서는 프로그램 시작을 위해 Execution Management에 필요한 다른 인터페이스를 제공 가능합니다. 하지만 그러한 기능을 제공하는 인터페이스를 사용한다면 ARA의 일부로 사용할 수 없다는 것을 유의해야 합니다. OSIC/C++ 인터페이스를 모두 서비스합니다. C의 경우 응용 프로그램의 주요 소스 코드는 POSIX 표준에 정의된 C 함수 호출 (PSE51)이 포함되는 것입니다. 컴파일러는 플랫폼의 운영 체제에서 이러한 C 함수를 제공하는 라이브러리를 확인하고 실행파일을 링크합니다. C++ 프로그램의 경우 C++ 표준 라이브러리에 정의된 함수 호출이 포함되어 있습니다.

 

POSIX

출신된 운영 체제는 여러가지가 존재합니다. POSIX 호환 인터페이스를 제공하는 LINUX는 더 제한적인 API를 사용해야 합니다. 일반적으로 Application ProgramPSE51을 운영 체제 인터페이스로 사용하고 있습니다. 그러나 플랫폼 응용 프로그램은 전체 POSIX를 사용할 수 없는 실정입니다. 응용 프로그램 수준에서 많은 기능이 필요할 때에는 POSIX 표준에서만 가져오고 새로 지정하는 것을 지양합니다. FoundationService 기능을 개발한다면 다양한 POSIX 호출이 가능합니다. 특정 호출은 개발자에게 공개되거나 표준화되지는 않습니다.


Scheduling (스케줄링)

당연한 이야기이지만 운영체제는 멀티 스레드와 다중 프로세스를 지원합니다. POSIX 표준에 의해 스케줄링 정책은 정의됩니다. 다른 스케줄링 정책은 허용한다면 다른 Adaptive Platform에서 옮길 수 없는 단점이 있습니다.

 

Memory management (메모리 관리)

다중 프로세스를 지원해야하는 이유는 다른 Functional ClusterApplication의 통신을 구현하기 위해서 입니다. 다중 프로세스 지원은 프로세스를 독립적인 주소 공간에 두며, 다른 프로세스와 구분합니다. 동일한 실행 파일의 두 인스턴스는 서르 다른 주소 공간에서 실행합니다. 시작하는 경우 동일한 엔트리 포인트 주소와 코드 및 데이터 값을 공유할 수 있습니다. 그러나 데이터는 메모리의 다른 physical page에 있습니다.

 

Device management (장치 관리)

장치 관리는 POSIX PSE51 인터페이스에서 서비스합니다. POSIX 사양을 참조하시면 됩니다.

 

POSIX 관련 내용도 추후에 추가적으로 포스팅 하겠습니다. 감사합니다.

반응형