Qplus는 지능형 로봇이나 셋탑박스 같은 다양한 임베디드 기기들을 지원하고 있는 리눅스 기반의 임베디드 운영체제이다. 단일한 인터페이스 API를 지원을 목표로 하여 플랫폼에 관계없이 포팅이 가능하도록 개발을 수행하고 있다. 국제 표준규격인 POSIX와 호환되며, 정보 가전 기기의 국제표준 포럼인 CELF(Consumer Electronics Linux Forum)의 공식 릴리즈 패치를 지원하고 있다. Qplus는 풍부한 응용 프로그램의 지원 및 빠른 업그레이드 등의 리눅스 시스템의 장점을 그대로 살리고 있으며, 또한 일반적인 리눅스 시스템의 취약한 기능들을 보완하여 임베디드 운영체제로 서의 기능을 충실하게 제공하고 있다. |
![]() |
Qplus는 규모에 따라서 크게 표준형, 마이크로형, 나노형의 3가지 형태가 있다. 표준형은 DTV 셋탑박스, 홈서버 등과 같은 내장형 시스템을 주 대상으로 하며, 마이크로 형은 실시간성이 강화되는 지능형 로봇이나 텔레매틱스 단말, 스마트 폰과 같은 소형 기기에 적합하다. 나노형 Qplus<링크 연결>는 유비쿼터스 컴퓨팅의 핵심인 스마트 센서 네트워크를 구성하는데 사용 된다. 표준형과 마이크로형의 경우는 정확한 분류를 하기 보다는 하드웨어 단말과 응용 분야의 특성에 맞춰서 권장 소프트웨어 스택이 존재하므로 각각에 특성에 알맞게 표준형 및 마이크로형 Qplus가 탑재될 수 있다. 또한 Qplus는 사용 분야에 따라서 구성을 달리하여 크게 두 가지의 Edition으로 나뉜다. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
세부 요소 기술 |
![]() |
다양한 타겟 시스템에 최적화된 형태로 임베디드 리눅스를 구축 및 적재 할 수 있도록 해주는 설정 툴킷으로써 다음과 같은 기능을 제공한다. |
- 이클립스에 기반을 둔 GUI 방식의 IDE를 통해 커널 및 기본 응용, 그리고 타겟 시스템 환경의 쉽고 편리한 통합 설정 기능 제공 |
- 각종 타겟 시스템에 대한 위저드 방식의 간편한 프로젝트 생성 및 다양한 설정 옵션간의 의존성 자동 체크 등의 부가 기능 제공 |
- 타겟 시스템을 위한 rootfs(루트 파일시스템) 이미지 자동 생성 및 적재 기능 제공 |
- 리눅스 커널 버전 2.6 지원 및 다양한 Architecture 지원에 따른 BSP 제공 |
- GPL에 기반한 자유로운 사용 가능 |
![]() |
사용단말이 소형화, 휴대화 될수록 사용시간을 늘리기 위해 전력관리의 중요성은 더욱 부각되고 있다. Qplus에서는, CELF(Consumer Electronics Linux Forum)에서 논의하는 능동형전력관리 (Dynamic Power Management) 프레임워크 위에서 시스템의 워크로드를 분석해 필요한 성능을 충족시키면서 최소한의 전력을 소모하는 것을 목표로 다음과 같은 솔루션을 제공할 예정이다. |
- 커널 모니터를 제공하여 커널에서 자동으로 CPU의 Frequency를 변동 |
- 응용에서 필요한 최소 성능을 요구하여 CPU의 Frequency를 동적으로 변동 |
- 하드웨어 디바이스별로 sleep, 또는 power on/off 기능 제공 |
![]() |
본래 성능(Throughput)적인 측면에 초점을 맞추어 개발되던 리눅스 커널은 임베디드 시스템에 적용됨으로써 성능(Throughput)보다는 실시간성이 보다 더 중요한 이슈로 떠오르게 되었다. 이에 실시간성을 높인 리눅스 커널을 위해 아래와 같은 기술을 제공한다. |
- 자발적 선점 기능 지원 |
- 고해상도 타이머 지원 |
- 인터럽트 쓰레드 |
- 커널 동기화 메커니즘 |
![]() |
임베디드 시스템의 경우 가격경쟁력을 위해서 저 사양의 시스템으로 구성된다. 그럼에도불구하고 멀티미디어 응용 프로그램의 경우 과도한 입출력을 요구하는게 일반적이다. 또한 기존의 파일 시스템으로는 QoS나 데이터의 빠른 복구 등과 같은 기능은 제공할 수 없다. 멀티미디어 파일 시스템은 이러한 점을 보완하여 아래와 같은 기능을 제공한다. |
- 기존의 파일 저장 구조 개선 |
- 멀티미디어 실시간 성능을 위한 수용제어 및 스케쥴러 개선 |
- I/O 우선순위와 CPU 우선순위의 연동 및 디스크 입출력 요청 큐 개선 |
- 파일시스템의 저널링 기능 지원 |
![]() |
비교적 적은 양의 제한된 자원 내에서 시스템을 구동시켜야 하는 임베디드 시스템을 구성하는 운영체제의 footprint는 End 제품의 가격과 탑재 응용의 한도를 결정지을 수도 있는 중요한 이슈 이다. 이에 다음과 같은 솔루션을 지원한다. |
- 각 보드의 응용에 적합한 footprint를 가지는 최적화된 운영체제 지원 |
- footprint 최적화된 루트 파일시스템 지원 |
- 운영체제 커널의 세부 모듈화 |
- ulibc 지원 예정 |
![]() |
데스크톱 시스템과 달리 개인 휴대용 장비 , 셋톱 박스와 같이 부팅후 사용자가 즉각적으로 서비스의 사용을 기대하는 임베디드 시스템에서 운영체제 부팅 시간의 최소화 역시 중요한 이슈이다. 커널을 포함하는 운영체제 부팅 프로세스에서 부팅 overhead를 줄이는 기술이 주 연구 대상이다. |
- 부팅 프로세스에서 시간이 오래 걸리는 구간 분석 및 단축 |
• Preset Loop per jiffy 지원 |
- LinuxBIOS를 사용하여 기존 BIOS를 대체하여 부팅 시간을 단축하는 기술 (x86 only) : 각 하드웨어마다 다르며 현재 2가지 종류의 보드만 지원 |
• SIS 5513 chipset • VIA EPIA-M board |
기술 비교 |
![]() 기술 분야에서 세계 제일이라 극찬한 바 있음 |
http://www.linuxdevices.com/articles/AT5640843706.html 참조 |
![]() |
세계 임베디드 리눅스 1위 업체인 Montavista의 경우 약 300us의 최악 지연 시간 |
![]() 프로토콜 지원 |
![]() 제공함. |
지원 BSP 및 하드웨어 |
![]() |
- Home server of ETRI ; Hestia I, II (Pentium III) |
- VIA EPIA-M (VIA C3) |
- Transmeta PDA Development Board |
- Home server based on Samsung i815 chipset |
![]() |
- SMDK2400/2440 Development Board (Samsung S3C2400/S3C2440) |
- PDA: iPaq (SA1110), Zaurus (SA1110) |
- Tynux Box (xscale) |
- IXDP425 (Xscale) |
![]() |
- SmarTV Terminal Platform(PMC-SIERRA RM5231A) |
- DBAu1500 Development Board (Au1500) |
![]() |
SWAN-II Development Board (PowerQUICC 860P/T) |
릴리즈 로드맵 |
![]() |
셋탑박스(DTV, IPTV등)용 X86 하드웨어 기반 |
최신 2.6 커널 기반 각종 세부 기술 통합 |
![]() |
구성 패키지 업그레이드 |
![]() |
전력관리 및 소형화 기술 적용 |
지원 BSP 확장(PXA27x 지원) |
스마트폰용 기본 응용 통합 |
![]() |
개선된 시스템 설정도구 제공 |
성능 향상된 임베디드 파일시스템 제공 |