QNX ma już 30 lat
| Gospodarka ArtykułyFirma QNX Software Systems obchodzi właśnie swoje 30-lecie. Z tej okazji SWD Software, dystrybutor oprogramowania QNX, zorganizował na początku listopada seminarium poświęcone oferowanemu systemowi czasu rzeczywistego. Omówiono głównie zastosowania przemysłowe i profesjonalne, a na spotkanie zaproszone zostały również firmy Kontron, CSI i Freescale, które zaprezentowały swoje produkty.
Osią wykładów było tworzenie komputerowych systemów wysokodostępnych w różnych aplikacjach oraz sposoby redundancji zarówno sprzętowej oraz programowej. Temat omawiany był na przykładzie najnowszych wersji QNX-a, gdzie zapewniono nie tylko zmniejszenie średniego czasu pomiędzy awariami i zminimalizowano czas potrzebnego na naprawę systemu oraz przywrócenie jego funkcjonalności.
Redukcja wartości współczynnika MTBF w przypadku oprogramowania sprowadza się do usuwania błędów, co w praktyce nigdy nie jest w pełni możliwe. W związku z tym system o dużej dostępności powinien być przygotowany na występowanie usterek zarówno sprzętowych, jak i programowych i móc jak najszybciej pokonywać te przeszkody. Prelegent twierdził, że osiągnięcie odpowiednio krótkiego czasu reakcji na usterkę pozwala sprawić, że z punktu widzenia użytkownika żaden problem nie wystąpił. W tym celu ważne jest by zastosować odpowiednie mechanizmy i konwencje programowania, które wprowadzono w systemie QNX.
Architektura oparta o mikrojądro
Inną innowacją w nowych wersjach QNX-a zapewniającym wysokodostępność jest to, że pracuje on w oparciu o mikrojądro, które dzięki wydzieleniu z niego sterowników i procesów podstawowych aplikacji, jest względnie proste, a więc równocześnie zawiera stosunkowo mało błędów. Łatwiej jest je przetestować i dopracować, co pozwala zdecydowanie zmniejszyć jego MTBF.
Zabieg ten sprawia, że wszelkie problemy wynikające z działania zainstalowanych aplikacji nie wymagają zresetowania komputera. Podstawowe funkcje urządzenia wciąż działają poprawnie i naprawa usterki programowej sprowadza się do zrestartowania problemowej aplikacji. Znacząco zmniejsza to czas MTTR. Innymi metodami ograniczania MTTR, jakie zastosowano w QNX-ie, są podział sterowników i aplikacji systemowych na małe fragmenty oraz uruchamianie kopii ważnych procesów.
Pierwsza z nich powoduje, że błędy dotykają tylko niewielkiej części funkcjonalności systemu. Druga przyspiesza czas przejęcia zadań uszkodzonego procesu przez inny, zastępujący go. Ostatnią, choć bardzo ważną techniką, jaką użyto w omawianym systemie jest odgórnie deklarowany, programowy podział czasu procesora na części. Uniemożliwiają one uruchomionym procesom zużywać więcej czasu jednostki centralnej, niż zostało im przydzielone.
Co w przyszłości?
Kolejna wersja QNX 6.6 ma zostać rozwinięta przede wszystkim w dziedzinach, które kojarzą się raczej z wydajnością i dodatkową funkcjonalnością, a nawet multimediami, niż z dostępnością. QNX 6.6 ma obsługiwać zaawansowane zarządzanie energią oraz liczne standardy komunikacji bezprzewodowej. Ma wydajniej wykorzystywać procesory 64-bitowe oraz pozwolić na instalacje na urządzeniach firmy Apple. Ma także wspierać interfejs USB 3.0.
Wiele wskazuje, że właśnie te zmiany zostały zainspirowane przez nowego właściciela firmy – firmę RIM. Warto dodać, że firma QNX zmieniła niedawno zasady licencjonowania swoich produktów. Do zastosowań niekomercyjnych, a więc także w trakcie rozwijania projektów, zanim jeszcze wejdą one w zaawansowaną fazę komercyjną, można stosować licencję darmową oprogramowania deweloperskiego QNX Momentus.
Podstawową licencją komercyjną jest imienna, która od niedawna sprzedawana jest wyłącznie w wersji ze wsparciem technicznym. Dla firm i osób, które chciałyby ograniczyć wydatki na licencje na oprogramowanie, dostępne są tańsze subskrypcje na okres od roku do trzech lat.
Marcin Karbowniczek