VxWorks

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

VxWorks는 1980년대 후반에 시작된 실시간 운영 체제(RTOS)로, Ready Systems의 VRTX를 개선하여 개발되었다. 인텔, 파워 아키텍처, ARM 아키텍처 등 다양한 플랫폼을 지원하며, 런타임 구성 요소와 개발 도구 세트로 구성된다. VxWorks는 멀티태스킹 커널, 메모리 보호, SMP/AMP 지원, 다양한 프로토콜 지원 등 핵심 기능을 제공하며, 고급 보안, 안전 분할, 실시간 에지 분석 등의 추가 기능을 선택적으로 사용할 수 있다. 항공우주, 방위, 자동차, 가전, 산업, 의료, 네트워킹 등 다양한 분야에서 활용되며, 2019년에는 보안 취약점이 발견되기도 했다.

VxWorks - [IT 관련 정보]에 관한 문서
기본 정보
이름VxWorks
종류실시간 운영 체제
개발사윈드 리버 시스템즈 (앱티브의 완전 소유 자회사)
출시일1987년
최신 버전VxWorks 7 24.03
최신 버전 출시일2024년 2월 27일
커널 종류모놀리식 커널
지원 플랫폼x86
x86-64
MIPS
PowerPC
SH-4
ARM
RISC-V
마케팅 대상임베디드 시스템
라이선스독점
웹사이트Windriver.com/products/vxworks
프로그래밍
사용 언어Ada
C 언어
C++
자바
러스트
파이썬
상태개발 중
기타

이미지 준비중입니다.

VxWorks 아이콘

이미지 준비중입니다.

VxWorks 7 부팅 화면
📚 더 읽어볼만한 페이지
  • 인텔 소프트웨어 - 타이젠
    타이젠은 리눅스 재단 주도로 삼성전자와 인텔이 후원하여 개발된 리눅스 기반 오픈 소스 운영체제로, 스마트폰, 스마트 TV, 웨어러블 기기, 차량용 인포테인먼트 시스템 등 다양한 기기 플랫폼을 지원하며 삼성전자는 바다 운영체제를 통합하여 생태계를 확장했고 웨어러블 기기에서는 Wear OS로 전환되었으나 스마트 TV에서는 계속 사용되고 있다.
  • 인텔 소프트웨어 - 미고 (운영 체제)
    미고는 인텔 모블린과 노키아 마에모 프로젝트를 통합해 개발된 리눅스 기반 오픈 소스 운영 체제로, 다양한 플랫폼 지원을 목표했으나 노키아의 전략 변경으로 타이젠으로 대체되었고, 이후 커뮤니티 개발자들에 의해 Mer 프로젝트와 Sailfish OS로 이어졌다.
  • MIPS 운영 체제 - Nucleus RTOS
    Nucleus RTOS는 1993년 Accelerated Technology에서 출시된 실시간 운영 체제로, 다양한 아키텍처와 구성 요소를 지원하며 안전 인증을 받아 여러 제품에 사용되었다.
  • MIPS 운영 체제 - IRIX
    IRIX는 실리콘 그래픽스에서 개발한 유닉스 기반 운영 체제로, 컴퓨터 애니메이션 및 과학적 시각화 분야에서 널리 사용되었으며 실시간 디스크 및 그래픽 입출력을 지원하고 OpenGL의 기원이 된 IRIS GL 기술을 포함했지만 SGI 파산 후 지원이 종료되었다.
  • X86 운영 체제 - 파이어폭스 OS
    모질라 재단에서 개발한 파이어폭스 OS는 웹 기술을 기반으로 애플리케이션을 구동하는 오픈 소스 모바일 운영 체제였으나, 스마트폰 시장 진출 후 개발이 종료되었고, 이후 스마트 TV 등으로 확장을 시도했으나 프로젝트는 단종되었다.
  • X86 운영 체제 - BeOS
    BeOS는 1990년대 Be사에서 개발한 운영 체제로, 대칭형 멀티프로세싱, 선점형 멀티태스킹, 멀티스레딩을 특징으로 하며 멀티미디어 처리 능력이 뛰어났으나, 시장 경쟁에서 밀려 개발이 중단되었고 이후 Haiku 프로젝트로 계승되었다.

2. 역사

VxWorks는 1980년대 후반에 Ready Systems(1995년 멘토 그래픽스 제품이 됨)에서 판매한 간단한 실시간 운영체제(RTOS)인 VRTX(Versatile Real-Time Executive)에 대한 일련의 개선 사항으로 시작되었다. Wind River는 VRTX 배포 권한을 획득하여 파일 시스템통합 개발 환경 등을 추가하여 크게 개선했다. 1987년, Ready Systems와의 재판매 계약 종료를 예상하여 Wind River는 VxWorks 내에서 VRTX를 대체하기 위해 자체 커널 개발을 진행했다.

VxWorks의 주요 이정표는 다음과 같다:

👆
좌우로 밀어서 보기
연대주요 내용
1980년대32비트 프로세서 지원 추가
1990년대VxWorks 5, 네트워킹 스택을 갖춘 최초의 RTOS
2000년대VxWorks 6, 대칭형 멀티프로세싱(SMP) 지원 및 파생된 산업별 플랫폼 추가
2010년대VxWorks, 64비트 프로세싱 지원 추가, 2016년 IoT를 위한 VxWorks 7 출시
2020년대VxWorks, Mars 2020 착륙선 구동 기능 포함, 지속적인 업데이트 및 지원


2022년 1월, Wind River는 Aptiv에 인수되었다.

3. 플랫폼 개요

VxWorks는 인텔 아키텍처, 파워 아키텍처, ARM 아키텍처를 지원한다. 이 실시간 운영체제(RTOS)는 32비트 및 64비트 프로세서에서 비대칭 멀티프로세싱(AMP), 대칭형 멀티프로세싱(SMP), 혼합 모드 및 멀티 OS (Type 1 하이퍼바이저를 통해) 디자인으로 사용될 수 있다.

VxWorks는 런타임 구성 요소와 개발 도구 세트로 구성된다. 런타임 구성 요소는 운영 체제 (UP 및 SMP; 32비트 및 64비트), 애플리케이션 지원 소프트웨어 (파일 시스템, 핵심 네트워크 스택, USB 스택 및 프로세스 간 통신) 및 하드웨어 지원 (아키텍처 어댑터, 프로세서 지원 라이브러리, 장치 드라이버 라이브러리 및 보드 지원 패키지)이다. 핵심 개발 도구는 Diab, GNU, 인텔 C++ 컴파일러(ICC)와 같은 컴파일러와 빌드 및 구성 도구이다. 이 시스템에는 Workbench 개발 제품군과 자산 추적 및 호스트 지원을 위한 인텔 도구 및 개발 지원 도구와 같은 생산성 도구도 포함되어 있다.

이 플랫폼은 다양한 타사 소프트웨어 및 하드웨어를 지원하는 모듈식의 벤더 중립적인 개방형 시스템이다. OS 커널은 미들웨어, 애플리케이션 및 기타 패키지와 분리되어 새로운 기능의 버그 수정 및 테스트를 더 쉽게 수행할 수 있다. 계층화된 소스 빌드 시스템을 구현하여 모든 스택의 여러 버전을 동시에 설치할 수 있으므로 개발자는 VxWorks 커널 라이브러리에 어떤 기능 세트의 버전을 넣을지 선택할 수 있다.

VxWorks의 선택적 고급 추가 기능은 다음과 같다.

* 사물 인터넷 (IoT)에서 발생하고 이동하는 장치 및 데이터를 보호하기 위한 고급 보안 기능
* 안정적인 애플리케이션 통합을 가능하게 하는 고급 안전 분할
* 실시간 고급 시각적 에지 분석을 통해 지연 시간 없이 실시간으로 VxWorks 기반 장치에서 자율적인 응답 가능
* Java 애플리케이션 배포를 가능하게 하는 최적화된 임베디드 Java 런타임 엔진
* 실시간 임베디드, Type 1 하이퍼바이저를 사용한 가상화 기능

4. 기능

* 멀티태스킹 커널(선점형 및 라운드 로빈 스케줄링) 및 빠른 인터럽트 응답
* 네이티브 64비트 운영 체제 (지원되는 64비트 아키텍처는 x86-64뿐). 데이터 모델: LP64
* 메모리 보호 메커니즘을 통해 다른 사용자 모드 응용 프로그램뿐만 아니라 커널로부터 격리된 사용자 모드 응용 프로그램("실시간 프로세스" 또는 RTP)
* SMP, AMP 및 혼합 모드 멀티 프로세싱 지원
* 오류 처리 프레임워크
* 블루투스, USB, CAN 프로토콜, Firewire IEEE 1394, BLE, L2CAP, Continua 스택, 헬스 기기 프로파일
* 바이너리, 카운팅 및 상호 배제 세마포어 (우선 순위 상속)
* 로컬 및 분산 메시지 큐
* 사용자 모드 실행 환경에서 POSIX PSE52 인증 준수
* 파일 시스템: 고신뢰성 파일 시스템(HRFS), FAT 기반 파일 시스템(DOSFS), 네트워크 파일 시스템(NFS), TFFS
* IPv6 Ready Logo 인증을 받은 듀얼 모드 IPv6 네트워킹 스택
* 실시간 프로세스(RTP), 오류 감지 및 보고, IPC를 포함한 메모리 보호
* TIPC 및 Wind River 멀티 OS IPC를 사용한 멀티 OS 메시징
* 기호 디버깅

5. 하드웨어 지원

VxWorks는 다양한 플랫폼에 이식되었다. 지원되는 CPU 계열은 다음과 같다.

👆
좌우로 밀어서 보기
CPU 계열
인텔 x86 계열 (인텔 쿼크 SoC 포함)
MIPS
PowerPC (및 BAE RAD)
프리스케일 콜드파이어
인텔 i960
SPARC
후지쯔 FR-V
SH-4
ARM, 스트롱암 및 xScale


VxWorks는 지원되는 모든 하드웨어와 OS 간의 표준 보드 지원 패키지(BSP) 인터페이스를 제공한다. 윈드리버 BSP 개발자 키트는 일반적인 애플리케이션 프로그래밍 인터페이스(API)와 실시간 운영 체제 개발을 위한 안정적인 환경을 제공한다. 또한, SSL/TLS 라이브러리(예: wolfSSL)를 지원한다.

6. 개발 환경

VxWorks는 크로스 컴파일링을 사용한다. 즉, 편집기, 컴파일러 툴체인, 디버거, 에뮬레이터를 포함하는 통합 개발 환경(IDE)을 갖춘 "호스트" 시스템에서 개발이 이루어지고, "타겟" 시스템에서 실행되도록 소프트웨어가 컴파일된다. 이를 통해 개발자는 강력한 개발 도구를 사용하면서도 하드웨어 제약이 있는 시스템을 타겟팅할 수 있다.

VxWorks는 ARM, 인텔, 파워 아키텍처, RISC-V 아키텍처 등 다양한 타겟 아키텍처를 지원한다. 최신 타겟 아키텍처 프로세서 및 보드 지원 패키지는 VxWorks 마켓플레이스 또는 관련 자료에서 확인할 수 있다.

VxWorks는 이클립스 기반의 Workbench IDE를 제공하여 VxWorks 기반 시스템의 구성, 분석, 최적화 및 디버깅을 지원한다. VxWorks 5.x 버전에서는 Tornado IDE가 사용되었으나, VxWorks 6.x 이상부터는 이클립스 기반의 Workbench IDE로 대체되었다. Workbench는 Wind River Linux, 온칩 디버깅, Wind River Diab 컴파일러 제품군의 IDE로도 사용된다. VxWorks 7은 이클립스 4 기반의 Wind River Workbench 4를 사용하며, 완전한 타사 플러그인 지원과 향상된 사용성을 제공한다.

Wind River Simics는 VxWorks와 호환되는 독립형 시뮬레이션 도구이다. 전체 타겟 시스템(하드웨어 및 소프트웨어)을 시뮬레이션하여 소프트웨어 개발을 위한 공유 플랫폼을 제공한다. Simics를 통해 여러 개발자가 가상 시스템과 전체 상태를 공유할 수 있으며, 가상 프로토타입을 활용하여 조기에 시스템 통합 및 프로토타입 제작을 가속화할 수 있다.

7. 주요 활용 사례

VxWorks는 항공우주 및 방위, 자동차, 로봇, 산업, 가전, 의료 분야, 네트워킹 등 광범위한 시장 영역의 제품에 사용된다. 또한 여러 주목할 만한 제품들이 온보드 운영 체제로 VxWorks를 사용한다.

VxWorks는 실시간 커널, UNIX와 유사한 기능의 라이브러리 및 기타 라이브러리, CPU 코어와 주변 장치를 관리하는 BSP (Board Support Package영어) 등으로 구성된다. BSP를 포함하여 슈퍼바이저 모드로 작동하며, 애플리케이션에서 커널을 함수 호출로 호출하기 때문에 매우 빠르게 작동한다. 쉘에서 모든 함수를 명령처럼 호출할 수 있어 디버깅이 용이하며, 버그 등으로 발생한 오류는 트랩하여 동작을 회복시키고 스택을 분석하여 함수의 호출 이력을 표시하는 기능 등이 있다.

2001년, WindRiver사는 BSDI사를 인수했지만, 고객들이 원하는 것은 훌륭한 UNIX가 아니라 공개된 Linux라는 것을 인지하고 Linux로 방향을 전환했다. BSDI 엔지니어들의 기여로 파일 시스템(라고 불리는 UNIX 계열 파일 시스템으로 일종의 저널링 파일 시스템), I/O 시스템(XBD), 네트워크(MUX), 드라이버(VxBUS)의 근간을 이루는 프레임워크가 확립되어 최첨단 기술 수준이 되었다.

멀티 코어에 대한 대응으로, 불가능하다고 여겨졌던 SMP를 지원하고, SMP 하드웨어를 AMP나 AMP/SMP 혼재 가능하게 하였다. 또한 하이퍼바이저 기술도 발표하여 싱글 CPU 상에서 Linux와 VxWorks의 가상화도 가능하게 하고 있다.

7.1. 항공우주 및 방위

VxWorks는 항공, 우주, 국방 분야에서 높은 안전성이 요구되어 널리 사용되고 있다. 미국 항공 우주국(NASA)는 오랫동안 화성 탐사선에 이 OS를 사용해 왔다. 1997년마스 패스파인더2004년의 마스 익스플로레이션 로버의 제어 소프트웨어는 VxWorks 상에서 작동한다.

7.2. 산업

VxWorks는 VoIP, 라우터, 기간 네트워크, 로봇, 산업 장비, 국방, 항공 우주, 차량 탑재 장비 등 비교적 대형 장치에 사용된다. 게임 센터용 대형 캐비닛 게임에도 이용되는 예가 있다. 최근에는 임베디드 컴퓨터의 고성능화에 따라 디지털 가전 제품 등 비교적 소형 장치에도 사용되고 있다.

7.3. 네트워킹 및 통신 인프라

VxWorks는 라우터, 기간 네트워크 장비 등 통신 인프라에 널리 사용된다. 다음은 VxWorks가 사용된 통신 장비 및 시스템의 예시이다.

👆
좌우로 밀어서 보기
| 제품명
Arkoon Network Security어플라이언스
Ubee InteractiveAirWalk EdgePoint
KontronACTA 프로세서 보드
QQTechnologiesQQSG
화웨이통신 장비 상당 부분
BroadLightGPON/PON 제품
Shiron Satellite CommunicationsInterSKY
Sky PilotSkyGateway, SkyExtender, SkyControl
Raptor Network TechnologyEtherRaptor-1010
지멘스CPG-3000 및 CPX-5000 라우터
노키아 솔루션즈 앤 네트웍스FlexiPacket 시리즈 마이크로파 엔지니어링 제품
Acme PacketNet-Net 시리즈 세션 경계 컨트롤러
알카텔-루슨트 엔터프라이즈IP Touch 40x8 IP 데스크폰
AvayaERS 8600, IP400 Office
시스코CSS 플랫폼, ONS 플랫폼
CienaCommon Photonic Layer
파워커넥트 스위치 (최신 PCT8100은 Linux 플랫폼에서 실행되지만 Broadcom에 의해 '구동됨')
에릭슨SmartEdge 라우터 (SEOS 11은 NetBSD 3.0 및 VxWorks for Broadcom BCM1480 버전 5.5.1 커널 버전 2.6 실행)
휴렛팩커드HP 9000 Superdome 가디언 서비스 프로세서
HirschmannEAGLE20 산업용 방화벽
HughesNet/Direcway위성 인터넷 모뎀
Mitel NetworksMiVoice Business (구 Mitel Communications Director (MCD)), 3300 ICP 미디어 게이트웨이, SX-200, SX-200 ICP
모토로라 솔루션MCD5000 IP 데스크셋 시스템
모토로라SB5100 케이블 모뎀, 케이블 헤드엔드 장비 (SEM, NC, OM 및 기타 라인 포함)
노텔메리디안 CS1000 PBX (구 노텔 메리디안 1), 노텔 패스포트
RadwareOnDemand 스위치
삼성전자DCS 및 OfficeServ 시리즈 PBX
SonicWALL방화벽
ThurayaSO-2510 위성 전화 및 ThurayaModule
Radvision3G 통신 장비
3comNBX 전화 시스템
Zhone Technologies액세스 시스템
오라클EAGLE STP 시스템

8. TCP 취약점 및 CVE 패치

2019년 7월, Armis가 발표한 논문에서 원격 코드 실행, 서비스 거부, 정보 유출, 논리적 결함 등 VxWorks RTOS를 사용하는 20억 개 이상의 장치에 영향을 미치는 11가지의 치명적인 취약점이 공개되었다. 공격자는 이 취약점을 악용하여 '내부' 네트워크로 터널링해 프린터, 노트북 및 기타 연결된 모든 장치를 해킹할 수 있으며, 방화벽도 우회할 수 있다.

이 시스템은 상당수의 미션 크리티컬 제품에서 사용되고 있으며, 이 중 다수는 쉽게 패치할 수 없다.