맨위로가기

ThreadX

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

1. 개요

ThreadX는 1997년 Express Logic에서 개발 및 판매를 시작한 실시간 운영 체제(RTOS)이다. 우선순위 기반 선점형 스케줄링, 메모리 관리, 스레드 간 통신 등 다양한 기능을 제공하며, X-Ware IoT 플랫폼의 기반으로 FileX, GUIX, NetX/NetX Duo, USBX 등의 구성 요소를 포함한다. 2019년 Microsoft에 인수되었으며, 2023년 Eclipse Foundation의 관리하에 오픈 소스 모델인 Eclipse ThreadX로 전환되었다. 다양한 ARM 아키텍처, x86, RISC-V 등 여러 플랫폼을 지원하며, 가전 제품, 의료 기기, 항공우주 등 다양한 분야에서 활용된다.

더 읽어볼만한 페이지

  • 마이크로소프트의 운영 체제 - 제닉스
    제닉스는 마이크로소프트가 1980년에 출시한 유닉스 계열 운영 체제로, AT&T의 버전 7 유닉스 라이선스를 기반으로 개발되어 다양한 하드웨어 아키텍처로 포팅되어 널리 사용되었으나, 마이크로소프트가 OS/2 개발에 집중하면서 SCO에 판권이 이전되었고, SCO UNIX로 발전하면서 개발이 종료되었지만, 일부 시스템 콜은 MS-DOS 및 윈도우에 남아있다.
  • 마이크로소프트의 운영 체제 - MS-DOS
    MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다.
  • 마이크로커널 - QNX
    QNX는 고든 벨과 댄 도지가 개발한 마이크로커널 기반의 실시간 운영 체제로, 산업용 기계 제어 분야에서 신뢰성을 인정받아 현재는 블랙베리가 소유하며 자동차 인포테인먼트 시스템, 자율 주행 시스템 등 다양한 임베디드 시스템에 활용되고, POSIX 표준 준수로 유닉스 계열 소프트웨어와 호환된다.
  • 마이크로커널 - Mach (커널)
    Mach 커널은 1980년대 DARPA에서 개발한 멀티프로세서 운영 체제로, 멀티프로세서 지원, 거대한 메모리 공간 활용, 분산 시스템 지원을 목표로 개발되었으며, 마이크로커널 구조를 채택하여 다양한 운영체제의 기반 기술로 활용되었다.
  • 실시간 운영체제 - Nucleus RTOS
    Nucleus RTOS는 1993년 Accelerated Technology에서 출시된 실시간 운영 체제로, 다양한 아키텍처와 구성 요소를 지원하며 안전 인증을 받아 여러 제품에 사용되었다.
  • 실시간 운영체제 - 블랙베리 10
    블랙베리 10은 2013년에 출시된 블랙베리 리미티드의 모바일 운영 체제로, 터치스크린 및 물리 키보드 스마트폰을 지원하며 제스처 기반 인터페이스, 블랙베리 허브 등의 기능을 제공했으나 2022년에 공식 지원이 종료되었다.
ThreadX - [IT 관련 정보]에 관한 문서
기본 정보
개발사Express Logic (원래)
마이크로소프트 (이전)
이클립스 (현재)
종류실시간 운영 체제
출시일1997년
최신 버전6.4.1
최신 릴리스 날짜2024년 2월 28일
저장소eclipse-threadx/threadx
마케팅 대상임베디드 시스템, IoT
작성 언어C
업데이트 모델재설치
패키지 관리자없음
지원 플랫폼ARC, ARM, Blackfin, CEVA, C6x, MIPS, NXP, PIC, PowerPC, RISC-V, RX, SH, SHARC, TI, V850, Xtensa, x86, Coldfire, 기타
커널 종류임베디드, 결정적, 실시간 마이크로커널, 피코커널
사용자 인터페이스임베디드 UI 지원 (GUIX)
라이선스MIT 라이선스 (2023년 이후)
웹사이트threadx.io

2. 역사

ThreadX는 1997년에 처음 출시되었으며, 미국 캘리포니아주 샌디에이고에 위치한 익스프레스 로직(Express Logic)에서 개발 및 판매되었다. ThreadX의 개발자는 윌리엄 래미(William Lamie)로, 1990년 Nucleus RTOS의 원 개발자이기도 하다.[26] 윌리엄 래미는 익스프레스 로직의 사장 겸 CEO였다.

ThreadX라는 이름은 실행 요소로 사용되는 스레드(thread)에서 파생되었으며, 문자 X는 컨텍스트 전환(스레드 전환)을 나타낸다. ThreadX는 우선순위 기반의 선제적 스케줄링, 빠른 인터럽트 응답, 메모리 관리, 스레드 간 통신, 상호 배제, 이벤트 알림 및 스레드 동기화 기능을 제공한다. 주요 기술적 특징으로는 선점 임계값, 우선순위 상속, 효율적인 타이머 관리, 빠른 소프트웨어 타이머, 피코커널 설계, 이벤트 체이닝, 작은 크기( ARM 아키텍처 프로세서 기준 약 2KB) 등이 있다.

ThreadX는 AMP(비대칭 멀티프로세싱) 또는 SMP(대칭 멀티프로세싱)를 통해 멀티 코어 프로세서 환경을 지원하며, ThreadX 모듈을 통해 MMU(메모리 관리 장치) 또는 MPU(메모리 보호 장치) 메모리 보호를 통한 애플리케이션 스레드 격리가 가능하다.

ThreadX는 기술 검사 협회(TÜV) 및 UL(Underwriters Laboratories)로부터 광범위한 안전 인증을 받았으며, 자동차 산업 소프트웨어 신뢰성 협회 MISRA C를 준수한다. 또한 익스프레스 로직의 X-Ware 사물 인터넷(IoT) 플랫폼의 기반이며, 여기에는 임베디드 파일 시스템 지원(FileX), 임베디드 UI 지원(GUIX), 임베디드 인터넷 프로토콜 제품군(TCP/IP) 및 클라우드 연결(NetX/NetX Duo), USB(범용 직렬 버스) 지원(USBX) 등이 포함된다.

2017년 VDC Research 조사에 따르면 ThreadX는 62억 개 이상의 장치에 배포되어 세계에서 가장 인기 있는 RTOS 중 하나가 되었다.[28]

2019년 4월 18일, 마이크로소프트는 익스프레스 로직을 인수했다(인수 금액 비공개).[27] ThreadX는 소스 코드가 제공되고 라이선스가 로열티가 없는 마케팅 모델을 사용하여 배포된다.[29]

2. 1. 개발 및 초기 역사 (1990년대 ~ 2010년대)

ThreadX는 1990년대에 윌리엄 래미(William Lamie)가 개발하였다.[26] 그는 Nucleus RTOS의 원 개발자이기도 하다. 윌리엄 래미는 익스프레스 로직(Express Logic)의 사장 겸 CEO였다. ThreadX는 1997년에 처음 출시되어 미국 캘리포니아주, 샌디에이고에 위치한 Express Logic에서 판매되었다.

ThreadX의 주요 연혁은 다음과 같다.

연도내용
1997년ThreadX 출시
1999년FileX 임베디드 파일 시스템 지원 시작
2001년ThreadX 4 출시
2002년NetX 임베디드 TCP/IP 네트워킹 스택 출시
2004년USBX 임베디드 USB 지원 출시
2005년ThreadX 5 출시
2009년ThreadX SMP, USBX 임베디드 USB 지원 출시
2011년ThreadX 모듈 출시
2013년TÜV IEC 61508 인증 획득
2014년UL 60730 인증, GUIX 임베디드 UI 출시
2017년VDC Research 조사 결과, 62억 대 이상 장치에 배포[28]
2019년마이크로소프트가 익스프레스 로직 인수 (인수 금액 비공개)[27]


2. 2. 마이크로소프트 인수 및 오픈 소스 전환 (2019년 ~ 현재)

마이크로소프트(Microsoft)는 2019년 4월 18일에 ThreadX를 개발 및 판매했던 익스프레스 로직(Express Logic)을 인수했다. 인수 금액은 공개되지 않았다.[27]

2023년 11월 21일, 마이크로소프트는 Azure RTOS를 오픈 소스 모델로 전환하고 이클립스 재단(Eclipse Foundation)의 관리 하에 MIT 라이선스로 공개할 것이라고 발표했다.[4] 이에 따라 Azure RTOS는 '''Eclipse ThreadX'''로 이름이 변경되었으며, 줄여서 "ThreadX"라고 불린다.

3. 기술적 특징

ThreadX는 실행 요소로 사용되는 스레드에서 파생되었으며, 문자 X는 컨텍스트 스위칭을 나타낸다.[26] ThreadX는 Technischer Überwachungsverein(TÜV) 및 UL로부터 광범위한 안전 인증을 받았으며, Motor Industry Software Reliability Association(MISRA C)를 준수한다.[26]

3. 1. 핵심 기능

ThreadX는 우선 순위 기반의 선점형 스케줄링, 빠른 인터럽트 응답, 메모리 관리, 스레드 간 통신, 상호 배제, 이벤트 알림 및 스레드 동기화 기능을 제공한다.[26] 주요 기술적 특징으로는 선점 임계값, 우선 순위 상속, 효율적인 타이머 관리, 빠른 소프트웨어 타이머, 피코커널 설계, 이벤트 체이닝 및 작은 크기가 있으며, ARM 아키텍처 프로세서에서 최소 크기는 약 2KB이다.[26]

비대칭 멀티 프로세싱(AMP) 또는 대칭 멀티 프로세싱(SMP)을 통한 멀티 코어 프로세서 환경을 지원하며, 메모리 관리 유닛(MMU) 또는 메모리 보호 유닛(MPU) 메모리 보호를 통한 애플리케이션 스레드 격리는 ThreadX 모듈에서 사용할 수 있다.[26]

Technischer Überwachungsverein(TÜV) 및 UL로부터 광범위한 안전 인증을 받았으며 Motor Industry Software Reliability Association(MISRA C)를 준수한다.[26]

ThreadX는 선점 임계값이라는 독점 기능을 갖춘 우선 순위 기반의 선점형 스케줄링 알고리즘을 구현한다. 이는 중요한 섹션 내에서 더 큰 세분성을 제공하고, 컨텍스트 전환을 줄이는 것으로 나타났으며, 스케줄링 보장에 대한 학술 연구의 대상이 되었다.[7]

이벤트 체이닝[8]이라는 고유한 구조를 제공하며, 여기서 애플리케이션은 외부 이벤트를 신호할 수 있는 모든 응용 프로그래밍 인터페이스(API)에 콜백 함수를 등록할 수 있다. 이는 애플리케이션이 ThreadX의 다양한 공개 개체를 함께 연결하여 하나의 스레드가 여러 개체에서 효과적으로 차단될 수 있도록 돕는다.

또한 계산 세마포어(Semaphore (programming)), 선택적 우선 순위 상속을 갖춘 뮤텍스(Lock (computer science)), 이벤트 플래그, 메시지 큐, 소프트웨어 타이머, 고정 크기 블록 메모리 및 가변 크기 블록 메모리를 제공한다. 리소스에서 차단되는 ThreadX의 모든 API는 시간 초과를 설정할 수 있다.[18]

3. 2. 고급 기능

ThreadX는 우선 순위 기반의 선점형 스케줄링, 빠른 인터럽트 응답, 메모리 관리, 스레드 간 통신, 상호 배제, 이벤트 알림 및 스레드 동기화 기능을 제공한다. ThreadX의 주요 기술적 특징은 다음과 같다.[26]

  • 선점 임계값(Preemption-threshold): 우선 순위 상속과 함께 임계 구역에서 세밀한 제어와 컨텍스트 스위치 감소를 제공한다.[21]
  • 효율적인 타이머 관리 및 빠른 소프트웨어 타이머
  • 피코커널 설계
  • 이벤트 체이닝(Event-chaining):[8] 애플리케이션이 외부 이벤트를 신호할 수 있는 모든 응용 프로그래밍 인터페이스(API)에 콜백 함수를 등록하여, ThreadX의 다양한 공개 객체를 함께 연결하고 하나의 스레드가 여러 개체에서 효과적으로 차단될 수 있도록 돕는다.[22]
  • 작은 크기: ARM 아키텍처 프로세서에서 최소 크기는 약 2KB이다.


ThreadX는 비대칭 멀티 프로세싱(AMP) 또는 대칭 멀티 프로세싱(SMP)을 통해 멀티 코어 프로세서 환경을 지원한다. 메모리 관리 유닛(MMU) 또는 메모리 보호 유닛(MPU) 메모리 보호를 통한 애플리케이션 스레드 격리는 ThreadX 모듈에서 사용할 수 있다.

ThreadX는 카운팅 세마포어(Semaphore (programming)), 선택적 우선 순위 상속을 갖춘 뮤텍스(Lock (computer science)), 이벤트 플래그, 메시지 큐, 소프트웨어 타이머, 고정 크기 블록 메모리 및 가변 크기 블록 메모리 기능도 제공한다. 리소스를 차단하는 ThreadX의 모든 API는 시간 초과를 설정할 수 있다.

ThreadX는 Technischer Überwachungsverein(TÜV, 영어: 기술 검사 협회) 및 UL (이전 Underwriters Laboratories)로부터 광범위한 안전 인증을 받았으며 Motor Industry Software Reliability Association(MISRA C)를 준수한다.

3. 3. 구성 요소

ThreadX 실시간 운영 체제(RTOS)의 주요 구성 요소는 다음과 같다.

  • FileX: ThreadX를 위한 선택적인 파일 시스템이다. FAT12, FAT16, FAT32, exFAT 파일 시스템을 지원한다. exFAT는 대용량 비디오 파일에 유용한 FAT 파일 크기 제한(4GB) 이상을 지원한다. FileX는 또한 오류 허용 기능을 제공하며, LevelX라는 선택적 플래시 마모 보정 제품을 통해 직접 NOR 및 NAND 플래시 메모리 미디어를 지원한다.

  • GUIX: ThreadX용 선택적 그래픽 사용자 인터페이스(GUI)이다. 다양한 화면 해상도 및 색상 깊이를 지원하는 여러 디스플레이 장치를 지원하는 2D 컴퓨터 그래픽스 시스템을 제공한다. 많은 미리 정의된 그래픽 위젯을 사용할 수 있다. GUIX Studio라는 Windows WYSIWYG 호스트 도구는 런타임에 실행할 GUIX용 C 코드를 자동으로 생성한다.

  • NetX Duo: ThreadX를 위한 선택적 TCP/IP 네트워크 시스템이다. IPv4IPv6 네트워킹을 모두 지원하며 IPsec 네트워크 보안을 제공한다. TCP 및 UDP 소켓 계층은 TLS/DTLS로 제공된다. 선택적 프로토콜에는 ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP 및 텔넷이 있다. IoT 클라우드 프로토콜 지원에는 CoAP, MQTT 및 LWM2M이 포함된다. NetX Duo는 또한 Thread 및 6LoWPAN을 지원한다. 2017년에 ThreadX와 NetX Duo는 Thread 인증 제품이 되었다.[10]

  • USBX: ThreadX용 선택적 범용 직렬 버스(USB) 시스템이다. 호스트/장치/OTG(On-The-Go)를 모두 지원한다. 호스트 컨트롤러 지원에는 EHCI, OHCI 및 독점 USB 호스트 컨트롤러가 포함된다. 다음과 같은 USB 장치 클래스를 지원한다: 오디오, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, 프린터, Prolific, RNDIS, 저장 장치.

  • TraceX: ThreadX RTOS 이벤트의 그래픽 뷰를 제공하는 선택적 호스트 소프트웨어이다. 윈도우 XP 이상이 필요하다.

4. 안전성 및 인증

ThreadX는 기술 검사 협회(TÜV) 및 UL(구 Underwriters Laboratories)로부터 광범위한 안전 인증을 받았으며 자동차 산업 소프트웨어 신뢰성 협회 MISRA C를 준수한다.[28]

SGS-TÜV Saar는 ThreadX(및 FileX 및 NetX Duo)에 대해 IEC 61508 SIL 4, IEC 62304 Class C, ISO 26262 ASIL D, EN 50128 SW-SIL 4 안전 표준 인증을 부여했다.[24]

UL은 ThreadX(및 FileX 및 NetX Duo)에 대해 UL/IEC 60730, UL/IEC 60335, UL 1998 안전 표준 인증을 부여했다.[24]

ThreadX는 또한 다양한 군사 및 항공우주 회사에서 DO-178 표준 인증을 받았다. 널리 사용되는 전송 계층 보안(SSL/TLS) 라이브러리인 wolfSSL을 지원한다.[24]

5. 지원 플랫폼

ThreadX는 다양한 프로세서 및 개발 도구를 지원한다. 다음은 ThreadX가 지원하는 플랫폼 목록이다.[11][12]

ThreadX 지원 플랫폼
종류세부 내용
ARM 클래식 코어 (32비트)
ARM 실시간 코어 (32비트)
ARM 마이크로컨트롤러 코어 (32비트)
ARM 애플리케이션 코어 (32비트)
ARM 애플리케이션 코어 (64비트)
기타 코어
운영 체제
상세 지원 목록


6. 활용 사례

ThreadX는 소형 웨어러블 기기, 휴렛 팩커드(HP) 잉크젯 프린터 및 올인원 기기[13], 인텔 관리 엔진(ME)[14], NASA 딥 임팩트 우주 탐사선[15], 라즈베리 파이 등 다양한 분야에서 활용되고 있다.[16]

특히, 라즈베리 파이의 경우 싱글 보드 컴퓨터에서 ThreadX를 이진 블롭 형태로 그래픽 처리 장치(GPU)에서 실행한다. 이는 초기 부팅을 제어하며, 리눅스와 같은 보조 운영 체제를 부팅하는 데 사용된다. 부팅 프로세스 이후에도 더 높은 권한의 역할을 계속 수행한다.

VDC 리서치에 따르면 2017년 ThreadX RTOS는 가전 제품, 의료 기기, 데이터 네트워킹 애플리케이션 및 SoC를 포함하여 62억 개 이상의 장치에 배포되어 세계에서 가장 인기 있는 RTOS 중 하나가 되었다.[28]

참조

[1] 웹사이트 Releases · eclipse-rtos/Threadx https://github.com/e[...]
[2] 뉴스 Bill Lamie: Story of a man and his real-time operating systems https://embedded.com[...] AspenCore 2010-09-03
[3] 뉴스 How Does The Express Logic Acquisition Help Microsoft and the IoT Ecosystem https://www.forbes.c[...] 2019-04-21
[4] 웹사이트 Microsoft Contributes Azure RTOS to Open Source https://techcommunit[...] 2023-11-23
[5] 웹사이트 High Performance RTOS "ThreadX": Express Logic: Enabling Shorter Time to Market and Reduced Development Cost https://www.renesas.[...]
[6] 웹사이트 IoT & Embedded Operating Systems https://www.vdcresea[...] 2018-07-31
[7] 웹사이트 Scheduling Fixed-Priority Tasks with Preemption Threshold http://www.cs.utah.e[...] University of Utah
[8] 웹사이트 Event Chaining Enables Real-Time Systems to Respond to Multiple Real-Time Events More Efficient https://rtos.com/wp-[...]
[9] 웹사이트 wolfSSL with Improved ThreadX/NetX Support https://www.wolfssl.[...] 2019-02-13
[10] 웹사이트 Thread Certified Products https://www.threadgr[...] 2018-01-11
[11] 웹사이트 Eclipse - ThreadX - ThreadX Overview https://github.com/e[...]
[12] 웹사이트 Eclipse - ThreadX - RTOS Docs https://github.com/e[...]
[13] 웹사이트 Hewlett Packard https://www.ghs.com/[...]
[14] 웹사이트 The Intel Management Engine https://bitkeks.eu/b[...] 2017-12-05
[15] 뉴스 Case study: NASA's "Deep Impact" employs embedded systems to score bullseye 80 million miles away http://mil-embedded.[...] Military Embedded Systems 2015-03-30
[16] 웹사이트 What's Wrong with the Raspberry Pi https://ownyourbits.[...] 2024-03-09
[17] 웹사이트 How Does The Express Logic Acquisition Help Microsoft And The IoT Ecosystem https://www.forbes.c[...] 2019-07-31
[18] 웹사이트 Bill Lamie: Story of a man and his real-time operating systems https://embedded.com[...] 2019-07-31
[19] 웹사이트 Enabling Shorter Time to Market and Reduced Development Cost https://www.renesas.[...] 2019-07-31
[20] 웹사이트 IoT & Embedded Operating Systems https://www.vdcresea[...] 2018-07-31
[21] 웹사이트 Scheduling Fixed-Priority Tasks with Preemption Threshold http://www.cs.utah.e[...] 2019-07-31
[22] 웹사이트 Event Chaining Enables Real-Time Systems to Respond to Multiple Real-Time Events More Efficient https://rtos.com/wp-[...] 2019-07-31
[23] 웹사이트 Thread Certified Products https://www.threadgr[...] 2019-07-31
[24] 웹사이트 wolfSSL with Improved ThreadX/NetX Support - wolfSSL https://www.wolfssl.[...] 2019-02-13
[25] 웹사이트 NASA's "Deep Impact" employs embedded systems to score bullseye 80 million miles away http://mil-embedded.[...] 2019-07-31
[26] 뉴스 Bill Lamie: Story of a man and his real-time operating systems https://embedded.com[...] AspenCore 2010-09-03
[27] 뉴스 How Does The Express Logic Acquisition Help Microsoft and the IoT Ecosystem https://www.forbes.c[...] 2019-04-21
[28] 웹인용 High Performance RTOS "ThreadX": Express Logic: Enabling Shorter Time to Market and Reduced Development Cost https://www.renesas.[...]
[29] 웹인용 IoT & Embedded Operating Systems https://www.vdcresea[...] 2018-07-31



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com