과거에는 하드웨어를 중심으로 기기의 기본 성능을 높이는 ‘고성능화’가 경쟁의 관건이었으나, 최근에는 GUI로 대표될 만큼 ‘사용의 용이성’과, 스탠드얼론이 아닌 외부와 정보를 주고받을 수 있는 ‘네트워크화’가 기기 개발의 중요한 경쟁 포인트가 되고 있다.이 세 가지 경쟁 축을 배경으로 CPU는 처리능력이 높은 32비트 CPU가 요구되고 있으며, 넓은 메모리 어드레스 공간을 관리하기 위해 MMU (Memory Manag -ement Unit)를 포함하게 되었다. 임베디드 OS도 마찬가지로 MMU와 같은 메모리 보호 기능을 제공하고, 복잡한 GUI 애플리케이션 개발을 지원하며, 또 버그가 있는 애플리케이션과 악의적인 공격에 대해 자신을 보호하는 기능을 갖춘 OS가 등장하기에 이르렀다.예를 들어, PDA용으로 개발된 윈도우 CE, 심비안, 리눅스 등이 있다. 실제로 윈도우 CE는 PDA 뿐만 아니라, TV나 휴대전화에 탑재되고 있으며, 심비안도 휴대전화 시장에서 시장점유율을 꾸준히 늘려가고 있다. 리눅스는 PC용 OS로 만들어졌지만, 정보가전 제품에 탑재돼 출하되고 있으며, CELF(CE Linux Forum: http://www.celinuxforum.org)가 발족되어 표준 검토 및 개발이 이루어지고 있다. 지금까지 그다지 진전이 없던 실시간 처리와 저소비 전력처리, 기동시간의 단축 등도 해결방향으로 개발이 진행되고 있다.한편 기존의 실시간 OS에서도 Vx Works 6.0의 경우에 메모리 보호 기능을 지원하고 있다. 앞으로는 임베디드 OS의 기능면에서는 차이가 없어지는 방향으로 진행될 것으로 전망된다.지속적인 혁신앞으로 임베디드 OS는 ‘고기능화’, ‘사용의 용이성’, ‘네트워크화’를 경쟁의 축으로, 기능면과 성능면의 확장이 진행될 것으로 전망된다. ‘고기능화’에서는 ‘실시간 성능’, ‘입/출력 속도’가, ‘사용의 용이성’에서는 ‘기동시간 및 정지시간’, ‘시스템 리소스 사이즈’, ‘저소비전력’, ‘사운드 및 그래픽 기능’이, ‘네트워크화’에서는 ‘보안’, ‘메모리 보호’가 현재 가장 크게 부각되고 있는 분야이다. 이들 평가 파라미터에 대한 임베디드 OS 간의 차이는 기능 및 성능 면에서 적어도 2007년에는 해소될 것으로 전망되고 있다. 그 이후에는 더욱 성능개선이 진행되어 2012년에는 ‘μsec 오더의 실시간성’, ‘기동·정지 0.1초 내외’, ‘소비전력 0.1W 이하’, ‘8K×4K의 표시 해상도’, ‘10Gbps의 입/출력 속도’의 성능을 미들웨어와 애플리케이션에 제공할 수 있을 것으로 예상된다.이에 따라 가전 제품에서도 음성인식이나 생체인식 등의 중요한 정보처리를 할 수 있게 되어 보다 자연스러운 유저 인터페이스와 함께 PC와 대등한 고기능 애플리케이션을 향유할 수 있게 될 전망이다.한편, 2008년까지는 ‘사용의 용이성’과 ‘네트워크화’의 융합이 진행되고, 여러 기능이 간단히 연결되는 복합적인 서비스의 유비쿼터스 환경이 가속화 되어, 그에 대해 새로운 평가 파라미터가 나타날 전망이다. 즉 ‘미들웨어의 호환성’, ‘애플리케이션의 호환성’, ‘네트워크 분산 강조 기능’, ‘디지털 저작권 관리’ 등이 그것이다. ‘사용의 용이성’을 실현하는 CPU의 처리능력을 ‘네트워크화’를 기반으로 분산처리에 의해 확보함으로써 단일 CPU의 성능경쟁은 의미가 없어질 것이다. 이것은 바로 임베디드 기기용의 그리드 컴퓨팅이라 할 수 있지만, 단순한 리소스 분산뿐만 아니라 서로 다른 CPU 아키텍처이면서 서로 다른 OS 사이에서 처리를 분산시킬 수 있는 구성의 개발이 필요하다.‘애플리케이션의 호환성’에 관해서는 ‘미들웨어의 호환성’이 전제되기 때문에 시기가 2, 3년 지연될 것이다. 여기서 ‘애플리케이션’이란, 네트워크를 통한 여러 애플리케이션을 의미하며, PC도 예외는 아니다. 특히, ‘애플리케이션’의 ‘유저 인터페이스(GUI)’가 과제가 될 것이다.예를 들어 2005년에 시작된 지상파 디지털 TV의 해상도(1920×1080)는 표준적인 PC의 해상도인 SXGA(1280×1024), XGA(1024×768)를 넘어서고 있다. 간단히 말하면 PC를 넘어서는 표시 성능이 컨수머 기기에 요구된다. 현시점에서는 CPU, GPU(Graphic Processing Unit)와 함께 단일 하드웨어 성능이 PC보다 떨어지기 때문에 빈약한 GUI 밖에 유저에게 제공할 수 없다. 그러나 처리능력의 문제는 네트워크 분산처리 기능의 실현으로 해결될 수 있을 것이다. 과제는 OS가 ‘애플리케이션’의 ‘인터페이스’를 어떻게 결정해서 기기마다의 하드웨어에 분배할 것인가 하는 구성의 개발이다. 표시 API 하나에서도, 현재 윈도우 CE는 DirectX 방식을 진행하고, 리눅스는 DFB(Direct Frame Buffer) 방식으로 통일하려는 움직임이 CELF를 중심으로 진행되고 있다. 기반기술의 단계에서 제각각인 이들 OS 간의 상호호환성과 상호운용성을 확보하기 위해서라도 표시 API의 통일을 포함한 API의 추상화가 요구되고 있다.또 정보가전 시장은 CPU+임베디드 OS 업체가 PC시장에서 ‘인텔 x86+마이크로소프트 Windows’처럼 두 회사가 과점할 가능성은 매우 희박하다. 왜냐하면 PC는 엔드유저에게 있어서 용도에 따라 PC 애플리케이션 소프트웨어를 사용하는 것이 목적이기 때문이다. 그 목적을 위해서는 CPU와 OS가 통일되는 것이 가장 바람직하다. 그러나 정보가전은 구입한 기기를 사용하는 것이 목적이다. 그 목적을 위해서는 CPU와 OS의 통일이 유저에게 반드시 필요한 것은 아니다. 다만 CPU가 8비트, 16비트, 32비트로 처리속도가 올라감에 따라 아키텍처 수가 줄어드는 것과 마찬가지로, 임베디드 OS도 수년 전에 수 백 가지였던 종류가 한 자리대로 수렴될 가능성이 높다. 최종적으로 기기는 여러 종류의 CPU와 여러 종류의 임베디드 OS의 내장으로 구성될 것이다. 그래서 그 단계에서는 인텔 x86+마이크로소프트 Windows도 분산 네트워크에 대해 단순한 하나의 조합에 지나지 않을 뿐이다.핵심기술‘고기능화’에 대응하는 핵심기술은 정통적인 ‘실시간성’ 향상 기술이다. 실시간이란, 기기에 있어서 어느 처리를 실행할 필요성이 발생했을 때부터 실제로 실행될 때까지의 지연시간을 보증하는 것이다. 자동차의 경우, ‘브레이크를 밟는다→안티록 브레이크가 동작한다’까지의 최장 시간은 차체 중량, 최고 속도, 노면상태 등으로 결정되는 값이다. 이 값이 0.5초라면 확률적으로 0.5초 이하라는 것이 아니라 어떤 상황에서도 0.5초 이하가 될 것이라는 것을 의미한다. 이것을 보증하기 위해서는 CPU의 인터럽트(interrupt)를 마스크하는 시간, 인터럽트가 들어가서 필요한 프로그램이 스케줄링 되는 시간, 스케줄링 된 프로그램이 실제로 실행되는 시간, 실제로 실행되고 있는 사이에 다른 프로그램이 인터럽트 되는 시간 등을 CPU의 타이머를 최우선으로 하여 엄격히 관리할 필요가 있다. 그런 구성의 OS를 실시간 OS, 그렇지 않은 것을 단순히 임베디드 OS로 분류한다.앞서 설명한 바와 같이 CPU의 처리능력 향상에 맞춰 ‘확률적 유사 실시간성’에 그치는 분야에서 ‘사용의 용이성’, ‘네트워크화’의 사용자 요구에 대응한 임베디드 OS의 대두가 주목받고 있으며 앞으로 대응이 필요한 기술이다.‘사용의 용이성’을 대표하는 핵심기술은 ‘기동시간 및 정지시간’을 단축하는 기술이다. 사용하고 싶을 때 즉시 사용할 수 있게 한다는 것이 궁극적인 목적이다. 사용자가 기기를 사용하고자 하여 ‘전원 버튼을 누른다→기기를 사용할 수 있게 된다’까지의 소요시간이 기동시간이다. 이것은 실시간에서는 없어도 된다. 1초라면 대부분의 경우 확률적으로 1초 이하면 된다. 현재는 그것이 ‘분’이라는 것에 과제가 있다. 이것을 해결하는 기술이 정지/점유(suspend/resume), ROM 기동 등이다. 정지/점유는 PC에서는 ‘스탠바이’, ‘휴지’와 같은 기능에서 대개 친숙하다. PC의 x86 아키텍처에는 BIOS(Basic Input/Output System) 기능이 탑재돼 있는 ACPI(Advanced Configuration and Power Interface)를 이용함으로써 비교적 용이하지만, 그 외의 CPU 아키텍처에서는 각각의 BIOS가 이것을 지원하지 않기 때문에 OS측의 조작이 필요하다. ROM 기동은 임베디드에만 있는 기능이다. 플래시 ROM를 포함한 ROM에 쓰여진(writing) 프로그램이 그대로 실행되는 구조다. PC에서는 프로그램이 메모리 상에 있지 않고 스토리지 디바이스에 파일의 형태로 보관되어 있으므로 반드시 메모리에 복사할 필요가 있다.‘네트워크화’를 위한 핵심기술에는 ‘보안’ 확보 기술 및 ‘메모리 보호’ 이용 기술이 있다. 메모리 보호란, CPU의 메모리 공간을 가상적으로 관리하는 MMU 기능을 OS가 지원하고, OS가 동작하는 커널 공간과 애플리케이션의 프로세스가 동작하는 유저 공간을 물리적으로 분리하여 프로세스마다 메모리를 관리할 수 있게 하는 기능이다.이 기능에 의해 PC에서는 표준적인 프로세스형 애플리케이션 소프트웨어 개발이 임베디드 기기에서도 가능해지며, 특정한 애플리케이션 버그에 의한 폭주를 막거나 유저가 다운로드한 악의적인 프로그램으로부터 특정 프로세스로 만들어진 유저 데이터를 보호하는 것이 가능해진다. 네트워크화에 따라 기존의 OS로부터 미들웨어, 애플리케이션까지 모두를 수직 통합하여 기기 단일 소프트웨어로부터 분산 강조 동작으로 서로 다른 미들웨어와 애플리케이션을 동작시킬 필요가 있다. 이것을 실현하는 열쇠가 되는 기술이다. 이 기술의 연장선 상에 ‘미들웨어의 호환성’, ‘애플리케이션의 호환성’에 대한 검토가 필요하다.인텔, 소프트웨어 파트너 프로그램 발표인텔(www.intel.com)은 ISV(Independent Software Vendors)를 위한 회원 프로그램인 인텔 소프트웨어 파트너 프로그램(Intel Software Partner Program)을 지난 달 말부터 시작했다.이 프로그램은 인텔 코어2 듀오, 제온 및 아이테니엄 프로세서를 기반으로 하는 상용 제품이나 서비스를 개발하는 모든 소프트웨어 기업을 대상으로 한다. 인텔 소프트웨어 파트너 프로그램의 회원들은 다양한 혜택을 누릴 수 있다.여기에는 사업 감각 훈련 및 기술 로드맵과 같은 기획 툴, 애플리케이션 기술 서비스 및 개발자 리소스 킷(resource kit)을 포함하는 기술자원과 함께 영업 툴, 마케팅 자료, 채널 행사 참여 등의 마케팅 혜택이 함께 포함된다. 또한 인텔의 플랫폼 기술과 직접 연계된 제품개발은 물론, 게임이나 디지털 미디어 제작과 같은 특정 시장을 겨냥해 제품을 개발할 수 있다.인텔은 ISV들이 특정 산업별 시장(vertical market)에 적합한 특수 애플리케이션을 개발하는 데 필요한 유연한 경로와 함께 파트너들이 시장의 여러 기회를 통찰할 수 있도록 기획 툴을 제공한다. 아울러 회원사들은 인텔과의 협력 수준을 선택할 수 있으며 각자의 비즈니스 목표에 따라 프로그램 계약을 조정할 수 있다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지