Co nowego na rynku systemów wbudowanych?
| Gospodarka ArtykułySystemów wbudowanych wokół nas jest coraz więcej. Wielkość rynku systemów operacyjnych typu embedded liczona jest w setkach milionów dolarów, a być może przekroczyła już nawet miliard dolarów. Oznacza to, że producenci mają o co walczyć. Kilkadziesiąt lat temu systemy wbudowane występowały głównie w wyrafinowanych urządzeniach związanych z automatyką przemysłową i medyczną, lotnictwem czy satelitami. Przeciętny użytkownik nie miał z nimi do czynienia i nawet nie wiedział o ich istnieniu. Rewolucja informatyczna i miniaturyzacja, które wystartowały w latach osiemdziesiątych, zmieniły ten stan rzeczy kompletnie.
Do urządzeń przemysłowych dołączyły w ciągu ostatnich kilkunastu lat różne urządzenia domowe – np. tunery satelitarne, odtwarzacze DVD – i urządzenia podręczne – np. handheldy, palmtopy i telefony komórkowe. Znakomita większość urządzeń embedded – niezależnie od tego, czy mówimy o nowoczesnym telefonie komórkowym, czy o marsjańskim łaziku musi być wyposażona w system operacyjny czasu rzeczywistego (RTOS – Real Time Operating System). Jest to konieczne, aby zagwarantować odpowiednią szybkość reakcji na zachodzące wydarzenia. Co więcej, biorąc pod uwagę, że 98% produkowanych procesorów wykorzystywanych jest właśnie w urządzeniach typu embedded, rynek i potencjalne zyski do podziału są gigantyczne.
Systemy i rynek
Istnieje kilkadziesiąt systemów operacyjnych wykorzystywanych w urządzeniach typu embedded, ale takich, które mają liczącą się na rynku pozycję jest tylko kilka. Najpopularniejsze z nich to Microsoft Windows CE, VxWorks firmy Wind River Systems i Symbian zaprojektowany przez Symbian Ltd. Te trzy systemy mają razem prawie 70% rynku. Wśród nich dominuje Microsoft Windows CE, który w 2005 roku miał blisko 30% udziału w rynku. Warto jednak pamiętać, że rynek RTOS jest pełen wyspecjalizowanych nisz, rządzących się własnymi prawami. O ile Microsoft ma niemal 30% całego rynku systemów wbudowanych, to w przypadku nowoczesnych telefonów komórkowych – już tylko 15%. W tej dziedzinie króluje Symbian, który instalowany jest na 67% tego typu urządzeń.
Rynek urządzeń embedded rozwija się niezwykle dynamicznie, głównie za sprawą urządzeń przenośnych. Nic więc dziwnego, że producenci systemów operacyjnych intensyfikują prace nad ulepszeniem swoich produktów, zwiększając ich niezawodność i minimalizując wymagania sprzętowe. Choć moc obliczeniowa i pamięć stają się z roku na rok coraz tańsze, rosną również wymagania użytkowników i stopień komplikacji urządzeń, a co za tym idzie - wymagania stawiane używanym systemom operacyjnym stają się coraz większe. Przykładem takiej ewolucji jest Windows CE.
Windows CE 6.0
System Windows CE w wersjach stosowanych do 2006 roku miał sporo ograniczeń. Najpoważniejsze dotyczyły liczby procesów wykonywanych równolegle (tylko 32) i przydziału pamięci dla procesu (tylko 32MB). W wielu zastosowaniach były to parametry niewystarczające. Deweloperzy nie mieli również dostępu do pełnych źródeł jądra systemu, co w wielu sytuacjach utrudniało usuwanie błędów z tworzonych sterowników i aplikacji. Wersja Windows CE 6.0, opublikowana w 2006 roku, miała usunąć te ograniczenia i poprawić pozycję WinCE na rynku.
Główne ograniczenie zostało usunięte – liczba możliwych do wykonywania równolegle procesów wzrosła do 32000, a ilość dostępnej dla każdego z nich pamięci do 2 GB. Na dzień dzisiejszy oznacza to, że ograniczeń praktycznie nie ma.
Zmiana nastąpiła także w polityce dotyczących źródeł systemu – deweloperzy nie tylko mają do nich dostęp, ale też mogą je swobodnie modyfikować i wykorzystywać w swoich urządzeniach. Co więcej, nie muszą się z nikim dzielić dokonanymi przez siebie zmianami, co jest tradycyjnym elementem licencji typu Open Source. To wyraźna odpowiedź Microsoftu na rosnące zagrożenie ze strony systemów takich jak Linux. A warto pamiętać, że Linux jako system czasu rzeczywistego dawno już znalazł swoje miejsce w urządzeniach embedded i w swojej niszy ma się bardzo dobrze.
Ważnym elementem polityki Microsoftu jest również umożliwienie deweloperom korzystania z uznanych narzędzi do tworzenia aplikacji – możliwość wykorzystywania środowiska Visual Studio 2005 do pisania programów pod Windows CE na pewno zostanie przychylnie przyjęta przez wielu programistów. Trzeba jednak pamiętać, że o ile stare wersje Windows CE korzystały z bardzo okrojonego API, co mocno utrudniało przystosowywanie do nich programów pisanych pod kątem innych wersji Windows, ograniczenie to zostało zlikwidowane co najmniej w wersji 5.0, czyli kilka lat temu.
W końcu warto wspomnieć o rozbudowaniu Windows CE o nowe funkcje zgromadzone w bibliotece CellCore. Ułatwiają one pisanie programów komunikujących się z innymi urządzeniami sieciowymi, zarówno klasycznymi komputerami typu desktop/notebook, jak i inne urządzenia emebedded.
Co na to konkurencja?
W ocenie najpoważniejszego rynkowego przeciwnika Microsoftu, firmy Wind River Systems, po kolejnej przebudowie jądra Windows CE wprawdzie udało się dopasować potrzeby systemu do potrzeb urządzeń znajdujących się na rynku, ale wewnętrzna struktura programu nadal korzysta z rozwiązań, których stosowania inni zaprzestali pod koniec lat dziewięćdziesiątych.
Inni zwracają uwagę na relatywnie duże wymagania pamięciowe systemu, w porównaniu z możliwościami i stopniem komplikacji jądra. Te same możliwości da się uzyskać wykorzystując znacznie mniej kodu i pamięci, co ma znaczenie zwłaszcza w przypadku najmniejszych urządzeń, wymagających jak najmniejszego poboru mocy.
Poważnym ograniczeniem dla producentów oprogramowania może być brak zgodności Windows CE ze standardem POSIX, co utrudnia przenoszenie programów pisanych dla innych systemów operacyjnych. Z tą opinią zgadza się nawet Microsoft, choć jego przedstawiciele natychmiast dodają, że na rynku dostępne są narzędzia niezależnych producentów, zapewniające zgodność CE z POSIX-em.
Jaka strategia?
Niewątpliwą zaletą Windows CE jest ich zgodność na poziomie API z innymi wersjami Windows. Oznacza to, że najpoważniejszy majątek Microsoftu – tysiące programów użytkowych napędzających dominację Windows na komputerach osobistych i tysiące sprawnych deweloperów, znających API Windows jak własną kieszeń – daje się stosunkowo łatwo wykorzystać na wyposażonych w WinCE urządzeniach przenośnych. Te zalety nie mają żadnego znaczenia tam, gdzie ważna jest stabilność systemu i jego niewielkie wymagania sprzętowe, a nie interfejs użytkownika. W kosmos poleciało już wiele satelitów i robotów opartych o VxWorks, a hobbyści sondują stratosferę balonami meteorologicznymi wyposażonymi w komputery oparte o Linuxa. Póki co Windows CE w takich zastosowaniach nie jest używany.
Być może jednak gigant z Redmont wcale nie planuje poważnej ekspansji w tym kierunku. Rynek urządzeń przenośnych jest jednym z najbardziej obiecujących i rozwija się w tempie ponad 50% rok do roku. Jeśli Microsoft zwiększy procentowy udział Windows CE w telefonach komórkowych powyżej pewnego poziomu krytycznego, rzesze deweloperów doskonale znających się na tworzeniu aplikacji pod Windows zaczną tworzyć programy dla tego segmentu rynku, a wtedy inni producenci RTOS mogą być zmuszeni do pozostania w swoich niszach. Wtedy rynek masowy, podobnie jak w przypadku komputerów osobistych, zostanie zdominowany przez Windows.
Marcin Borkowski