맨위로가기

레드호크 리눅스

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

1. 개요

레드호크 리눅스는 레드햇 엔터프라이즈 리눅스(RHEL)를 기반으로 실시간 기능을 추가한 리눅스 배포판이다. 커널 교체 및 실시간 라이브러리 추가를 통해 실시간 환경을 제공하며, GRUB을 통해 상위 스트림 커널과 RedHawk 커널 선택이 가능하다. 다양한 버전의 RHEL, CentOS, Ubuntu를 지원하며, 프로세서 쉴드, 메모리 쉴드, 실시간 API, 개발 환경인 NightStar 툴 등을 제공한다. 또한, CUDA 툴킷을 지원하며, SIMulation Workbench 및 Laboratory Workbench와 같은 제품도 제공한다.

더 읽어볼만한 페이지

  • 리눅스 배포판 - 안드로이드 (운영체제)
    구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다.
  • 리눅스 배포판 - MX 리눅스
    MX 리눅스는 MEPIS 커뮤니티와 antiX 개발자들이 협력하여 개발한 데비안 기반의 리눅스 배포판으로, 사용자 중심의 MX 도구 모음과 시스템 백업 및 복구 기능인 MX 스냅샷을 제공하며 Xfce, KDE Plasma, Fluxbox 등 다양한 데스크톱 환경과 최신 하드웨어 지원 AHS 버전을 제공한다.
레드호크 리눅스
기본 정보
레드햇 로고
레드햇 로고
개발사레드햇
운영체제 계열리눅스 (커널)
상태개발 중단
소스 모델오픈 소스
최초 출시1995년
최신 안정 버전4.2 (2002년 4월 30일)
커널 종류모놀리식 커널
라이선스GNU GPL
상세 정보
업데이트 방법rpm
패키지 관리 시스템RPM
시스템 요구 사항
CPU 아키텍처x86
SPARC
파생 운영 체제
파생 운영 체제CentOS
언어별 명칭
영어Red Hat Linux

2. 역사

레드호크 리눅스는 컨커런트 컴퓨터 코퍼레이션(Concurrent Computer Corporation)에서 개발한 실시간 운영 체제이다. 레드햇 엔터프라이즈 리눅스(RHEL)를 기반으로 하며, 실시간 성능 향상을 위한 커널 수정 및 추가 기능을 제공한다.

2. 1. 버전별 주요 특징

레드햇 엔터프라이즈 리눅스(RHEL)와 달리 커널을 교체하고 실시간 라이브러리를 추가하였다. RedHawk Linux는 GRUB를 통해 상위 스트림 커널과 RedHawk 커널 중 선택하여 부팅할 수 있다. 커널에 대한 모든 실시간 패치는 DVD로 소스 코드 형태로 제공되며, 상위 스트림과의 버전 관계는 아래 표와 같다.

RedHawk 버전RHEL/CentOS/Ubuntu 버전커널 버전비고
1.1RHV82.4.18 + 실시간 패치
1.2RHV82.4.18 + 실시간 패치
1.3RHV82.4.21-pre4 + 실시간 패치
1.4RHV82.4.21 + 실시간 패치
2.1RHEL 3.02.6.3 + 실시간 패치
2.2RHEL 3.02.6.7 + 실시간 패치
2.3RHEL 3.02.6.9 + 실시간 패치
4.1RHEL 4.12.6.15 + 실시간 패치
4.2RHEL 4.22.6.18 + 실시간 패치
5.1RHEL 5.12.6.23 + 실시간 패치
5.2RHEL 5.22.6.26 + 실시간 패치
5.4RHEL 5.42.6.31 + 실시간 패치KVM, CUDA 지원
6.0RHEL 6.02.6.36 + 실시간 패치IPv6, LVM, USB 부팅 지원, 쉴드 시 실시간 응답성 15μ초 보장
6.3RHEL/CentOS/RHEL 6.33.5.7 + 실시간 패치SELinux 활성화 가능, CentOS 기반 표준, PREEMPT_RT 지원
6.5RHEL/CentOS 6.53.10.34 + 실시간 패치
7.0RHEL/CentOS 7.03.16.3 + 실시간 패치
7.2RHEL/CentOS 7.2(CentOS7-1511)4.1.15 + 실시간 패치ARM64 지원, 쉴드 시 실시간 응답성 5μ초 보장
7.3RHEL/CentOS 7.3/Ubuntu 16.04 LTS4.4 + 실시간 패치Ubuntu 지원, TegraX1, X2 지원
7.5RHEL/CentOS 7.5/Ubuntu 18.04 LTS4.9 + 실시간 패치Jetson Nano, Jetson AGX Xavier, DRIVE PX 2 AutoChauffer (P2379) 지원
8.0RHEL/CentOS 8.0/Ubuntu 20.04 LTS4.14 + 실시간 패치
8.2RHEL/CentOS 8.2/Ubuntu 20.04 LTS5.4 + 실시간 패치
8.4RHEL/Rocky 8.4/Ubuntu 20.04 LTS5.10 + 실시간 패치



실시간 패치는 컨커런트 컴퓨터의 판단에 따라 독자적인 패치와 기타 패치를 조합하고 있으며, FBS(레이트 모노토닉 스케줄링)도 포함되어 있다.

프로세서 쉴드 기능을 통해 실행 중에 임의의 CPU에 할당된 인터럽트의 금지 또는 허가가 가능하다. NUMA 시스템에서는 멀티 코어 상에서의 인터럽트로부터의 보호 외에, NUMA 노드에서 사용하는 메모리를 고정하는 메모리 쉴드 기능을 사용할 수 있다.

이러한 기능을 위한 실시간 환경을 정비하는 명령어는 `run(1)`, `cpu(1)`, `shield(1)`가 있으며, 이를 조합하여 실시간화되지 않은 바이너리 애플리케이션 프로그램에서도 실시간으로 이용 가능하다.

RedHawk 5.1 이후에는 임베디드용 RedHawk Embedded와 서버용 RedHawk Server가 각각 다른 라인업으로 구성되었다.

3. 기술적 특징

레드햇 엔터프라이즈 리눅스(RHEL)와 달리 커널을 교체하고 실시간 라이브러리를 추가하여 실시간 처리 성능을 향상시켰다. 프로세서 쉴드 기능을 통해 실행 중에 임의의 CPU에 할당된 인터럽트를 금지하거나 허가할 수 있다. NUMA 시스템에서는 멀티 코어 상에서의 인터럽트 보호뿐만 아니라, NUMA 노드에서 사용하는 메모리를 고정하는 메모리 쉴드 기능도 사용할 수 있다.

RedHawk는 버전에 따라 다양한 기능을 추가해왔다. RedHawk 5.1부터는 임베디드용 RedHawk Embedded와 서버용 RedHawk Server로 나뉘었고, 5.4에서는 KVMNVIDIACUDA 환경을 지원했다. RedHawk 6.0에서는 IPv6LVM을 지원하고, USB 부팅이 가능해졌으며, 쉴드 시 실시간 응답성은 15μ초를 보장한다. Redhawk 6.3에서는 SELinux를 활성화할 수 있게 되었고, RHEL 기반에서 CentOS 기반으로 변경되며 PREEMPT_RT를 지원한다. RedHawk 7.2부터는 ARM64를 지원하고 쉴드 시 실시간 응답성은 5μ초를 보장하며, 7.3부터는 Ubuntu도 지원한다.

API는 POSIX 1003.1b (실시간) 및 POSIX 1003.1c (POSIX 스레드)를 따르며, 확장 실시간 API로 Concurrent Real Time 고유의 API도 libccur_rt로 제공된다.

3. 1. 실시간 커널

레드햇 엔터프라이즈 리눅스(RHEL)와 달리 커널을 교체하고 실시간 라이브러리를 추가하였다. RedHawk Linux에서는 상위 스트림의 커널과 RedHawk 커널을 GRUB로 선택하여 기동할 수 있다. 커널에 대한 모든 실시간 패치는 DVD로 소스 코드 형태로 제공되며, 상위 스트림과의 버전 관계는 다음과 같다.

RedHawk 버전RHEL/CentOS/Ubuntu 버전커널 버전실시간 패치 여부
1.1RHV82.4.18O
1.2RHV82.4.18O
1.3RHV82.4.21-pre4O
1.4RHV82.4.21O
2.1RHEL 3.02.6.3O
2.2RHEL 3.02.6.7O
2.3RHEL 3.02.6.9O
4.1RHEL 4.12.6.15O
4.2RHEL 4.22.6.18O
5.1RHEL 5.12.6.23O
5.2RHEL 5.22.6.26O
5.4RHEL 5.42.6.31O
6.0RHEL 6.02.6.36O
6.3RHEL/CentOS 6.33.5.7O
6.5RHEL/CentOS 6.53.10.34O
7.0RHEL/CentOS 7.03.16.3O
7.2RHEL/CentOS 7.2 (CentOS7-1511)4.1.15O
7.3RHEL/CentOS 7.3/Ubuntu 16.04 LTS4.4O
7.5RHEL/CentOS 7.5/Ubuntu 18.04 LTS4.9O
8.0RHEL/CentOS 8.0/Ubuntu 20.04 LTS4.14O
8.2RHEL/CentOS 8.2/Ubuntu 20.04 LTS5.4O
8.4RHEL/Rocky 8.4/Ubuntu 20.04 LTS5.10O



실시간 패치는 컨커런트 컴퓨터의 판단에 따라 독자적인 패치와 기타 패치를 조합하고 있으며, FBS라고 불리는 주기 제어 스케줄러(레이트 모노토닉 스케줄링)도 포함되어 있다.

프로세서 쉴드 기능을 통해 실행 중에 임의의 CPU에 할당된 인터럽트의 금지 또는 허가가 가능하다. NUMA 시스템에서는 멀티 코어 상에서의 인터럽트로부터의 보호 외에, NUMA 노드에서 사용하는 메모리를 고정하는 메모리 쉴드 기능을 사용할 수 있다.

이러한 기능을 이용하기 위한 실시간 환경을 정비하는 명령어는 `run(1)`, `cpu(1)`, `shield(1)`가 있으며, 이를 조합함으로써 실시간화되지 않은 바이너리 애플리케이션 프로그램에서도 실시간으로 이용 가능하다.

RedHawk 5.1 이후에는 임베디드용 RedHawk Embedded와 서버용 RedHawk Server가 각각 다른 라인업으로 구성되었다. RedHawk 5.4에서는 KVMNVIDIACUDA 환경을 지원했다.

RedHawk 6.0에서는 IPv6LVM을 지원하고, USB 부팅이 가능하게 되었다. 쉴드 시의 실시간 응답성은 15μ초를 보장한다.

Redhawk 6.3에서는 SELinux를 활성화하여 사용할 수 있게 되었다. RedHawk 6.3 이후에는 기존의 RHEL 기반에서 CentOS 기반을 표준으로 하고, PREEMPT_RT도 지원한다.

RedHawk 7.2 이후에는 ARM64를 지원하며, 쉴드 시의 실시간 응답성은 5μ초를 보장한다. RedHawk 7.3에서는 Ubuntu도 지원하며, TegraX1, X2도 지원한다. RedHawk 7.5에서는 Jetson Nano, Jetson AGX Xavier, DRIVE PX 2 AutoChauffer (P2379)가 지원되었다.

3. 2. 프로세서 쉴드 (Processor Shielding)

프로세서 쉴드는 임의의 CPU에 할당된 인터럽트의 금지 또는 허가를 실행 중에 가능하게 하는 기능이다. NUMA 시스템에서는 멀티 코어 상에서의 인터럽트로부터의 보호 외에, NUMA 노드에서 사용하는 메모리를 고정하는 메모리 쉴드 기능을 사용할 수 있다는 것이 최대 특징이다.[1]

이러한 기능을 이용하기 위한 실시간 환경을 정비하는 명령어는 다음과 같다:[1]

  • run(1)
  • cpu(1)
  • shield(1)


위 명령어들을 조합함으로써 실시간화되지 않은 바이너리 애플리케이션 프로그램에서도 실시간으로 이용할 수 있다.[1]

3. 3. 메모리 쉴드 (Memory Shielding)

NUMA 시스템에서는 멀티 코어 상에서의 인터럽트로부터 보호하는 기능 외에, NUMA 노드에서 사용하는 메모리를 고정하는 메모리 쉴드 기능을 사용할 수 있다.

3. 4. 실시간 API

API는 POSIX 1003.1b (실시간) 및 POSIX 1003.1c (POSIX 스레드)이다.

POSIX 1003.1b-1993 및 POSIX 1003.1c-1995는 IEEE Std 1003.1, 1996 및 ISO/IEC 9945-1 : 1996으로 POSIX 1003.1에 병합되어 현재 POSIX 1003.1에 모두 포함되어 있다. 확장 실시간 API로 Concurrent Real Time 고유의 API도 libccur_rt로 제공된다. 프로세스 ID를 지정하여 메모리 잠금을 수행하는 mlockall_pid(2)나 CPU 인터럽트로부터 보호하는 shield(1)을 실현하는 mpadvise(2) 및 우선순위 상속 (우선순위 역전) 대응 함수 등이 이 libccur_rt에 포함되어 있다.

3. 5. 실시간 명령어

RedHawk Linux는 실시간 운영 체제(RTOS)로서, 실시간 처리를 위한 다양한 명령어를 제공한다. 이러한 명령어들은 일반적인 리눅스 명령어와 함께 사용되어, 실시간 애플리케이션의 개발 및 실행을 돕는다.[1]

RedHawk에서 제공하는 주요 실시간 명령어는 다음과 같다:

  • run(1): 프로세스를 특정 CPU에서 실행하도록 지정한다.
  • cpu(1): CPU의 상태를 확인하고 제어한다. 예를 들어, 특정 CPU에 할당된 인터럽트를 활성화하거나 비활성화할 수 있다.
  • shield(1): 프로세서 쉴드 기능을 제어한다. 이 기능은 특정 CPU를 다른 프로세스나 인터럽트로부터 보호하여, 실시간 프로세스가 안정적으로 실행될 수 있도록 한다. NUMA 시스템에서는 메모리 쉴드 기능도 사용할 수 있다.


이러한 명령어들을 조합하여 사용하면, 실시간 처리가 필요한 애플리케이션을 특정 CPU에서 격리하여 실행하고, 외부 요인의 간섭을 최소화하여 안정적인 실시간 성능을 확보할 수 있다. 예를 들어, `run` 명령어로 실시간 애플리케이션을 특정 CPU에 할당하고, `shield` 명령어로 해당 CPU를 보호하여 다른 프로세스나 인터럽트의 영향을 받지 않도록 설정할 수 있다.

RedHawk는 이러한 실시간 명령어 외에도, FBS(주기 제어 스케줄러)와 같은 실시간 스케줄링 알고리즘을 제공하여, 실시간 애플리케이션의 성능을 더욱 향상시킨다.[1]

4. 개발 환경 (NightStar)

GUI 기반 개발 환경인 NightStar 툴은 다음 5가지 기능을 제공한다.[1]


  • NightView: 소스 코드 디버거
  • NightTrace: 이벤트 분석기
  • NightProbe: 데이터 모니터
  • NightTune: 시스템 튜너
  • NightSim: 실시간 스케줄러


NightTrace는 애플리케이션과 동시에 멀티 코어에서 동작하는 커널을 그래픽으로 추적 표시할 수 있다.[1]

NightSim은 FBS(주기 스케줄러)를 사용한 실시간 프로세스 전용 툴이며, Linux 스케줄러와는 무관하다.[1]

페도라, CentOS, 우분투 등 일반 리눅스 배포판용 비실시간 NightStarLX 버전도 제공되며, 비상업적, 교육·연구 목적 사용은 무료이다.[1]

5. CUDA Toolkit 지원

RedHawk 버전 5.4부터 표준으로 NVIDIA의 CUDA 툴킷이 설치되어 있다.[25] 지원되는 CUDA 툴킷 버전은 다음과 같다.

RedHawk 버전CUDA 툴킷 버전아키텍처
5.4.[0-4]3.1i386, x86_64
5.4.x3.2i386, x86_64
6.0.04.0x86_64
6.0.[0-3]4.1x86_64
6.0.x4.2x86_64
6.3.[0-7]5.0x86_64
6.3.x5.5x86_64
6.5.x5.5, 6.0x86_64
7.0.x6.5, 7.0x86_64
7.2.x7.5x86_64
7.3.x8.0x86_64
7.5.x9.1x86_64
8.0.x10.1x86_64


6. 기타 제품

레드호크 리눅스는 폐쇄 루프 시뮬레이터와 데이터 수집을 위한 제품도 제공한다.


  • SIMulation Workbench: MATLAB/Simulink를 이용한 실시간 시뮬레이션을 수행한다.
  • Laboratory Workbench: 데이터 수집을 수행한다. 원래 세계 최초로 실시간 UNIX (RTU)를 개발한 매스컴퓨터의 제품이었지만, 1988년에 레드호크 리눅스가 인수하여 그 소프트웨어를 RedHawk Linux에 이식하였다.

참조

[1] 문서 RedHawk Linux OS Version 2.3 Release Notes http://redhawk.ccur.[...]
[2] 문서 RedHawk Linux OS Version 4.1 Release Notes http://redhawk.ccur.[...]
[3] 문서 RedHawk Linux OS Version 4.2 Release Notes http://redhawk.ccur.[...]
[4] 문서 RedHawk Linux OS Version 5.1 Release Notes http://redhawk.ccur.[...]
[5] 문서 RedHawk Linux OS Version 5.2 Release Notes http://redhawk.ccur.[...]
[6] 문서 RedHawk Linux OS Version 5.4 Release Notes http://redhawk.ccur.[...]
[7] 문서 RedHawk Linux OS Version 6.0 Release Notes http://redhawk.ccur.[...]
[8] 문서 RedHawk Linux OS Version 6.3 Release Notes http://redhawk.ccur.[...]
[9] 문서 RedHawk Linux OS Version 6.5 Release Notes http://redhawk.ccur.[...]
[10] 문서 RedHawk Linux OS Version 7.0 Release Notes http://redhawk.ccur.[...]
[11] 문서 RedHawk Linux OS Version 7.2 Release Notes http://redhawk.ccur.[...]
[12] 문서 RedHawk Linux OS Version 7.3 Release Notes http://redhawk.ccur.[...]
[13] 웹사이트 RedHawk Linux Version 7.5 Release Notes http://redhawk.ccur.[...] 2020-06-16
[14] 웹사이트 RedHawk Linux Version 8.0 Release Notes http://redhawk.ccur.[...] 2020-06-16
[15] 웹사이트 RedHawk8.2-Release-Notes https://redhawk.conc[...] Concurrent Real Time 2022-01-06
[16] 웹사이트 RedHawk 8.4 Release Notes https://redhawk.conc[...] Concurrent Real Time 2022-01-06
[17] 문서 run(1)のマニュアル https://www.ccur.co.[...]
[18] 문서 cpu(1)のマニュアル https://www.ccur.co.[...]
[19] 문서 shield(1)のマニュアル https://www.ccur.co.[...]
[20] 문서 SELinuxをイネーブルにしたパフォーマンスの報告 https://www.ccur.co.[...]
[21] 문서 RedHawk Server Development Packages http://news.ccur.com[...]
[22] 문서 RedHawk7.2_PDL https://www.concurre[...]
[23] 문서 ARM64 Well-Cast For Future Embedded Apps http://www.concurren[...]
[24] 웹사이트 Installation of RedHawk™7.5onthe NVIDIA®DRIVE™ PX2AutoChauffeur (P2379)Release Notes https://redhawk.conc[...] 2020-06-16
[25] 문서 リアルタイムテクニカルドキュメント(CUDA/VSIPL編) http://www.ccur.co.j[...]



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

문의하기 : help@durumis.com