W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

Podobne dokumenty
W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

Sieciowe Systemy Operacyjne

1. Etapy rozwoju systemów komputerowych

Jądro systemu operacyjnego

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Wprowadzenie do systemów operacyjnych

Podstawowe zagadnienia

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Warstwy systemu Windows 2000

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Czujniki obiektowe Sterowniki przemysłowe

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Systemy czasu rzeczywistego wstęp

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Mechanizmy pracy równoległej. Jarosław Kuchta

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

5. Model komunikujących się procesów, komunikaty

Urządzenia wejścia-wyjścia

Tworzenie aplikacji wbudowanych. 1. Tworzenie oprogramowania systemów wbudowanych

Działanie systemu operacyjnego

Q E M U.

Systemy operacyjne III

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Prezentacja systemu RTLinux

Działanie systemu operacyjnego

System komputerowy. System komputerowy

Systemy czasu rzeczywistego wstęp

Systemy rozproszone System rozproszony

L4Ka::Pistachio Mikrojądra mogą być wydajne

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Działanie systemu operacyjnego

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

SMB jako rozproszony system plików Prezentacja na SO

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Opis efektów kształcenia dla modułu zajęć

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Podstawy Techniki Komputerowej. Temat: BIOS

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Szkolenie autoryzowane. MS Administracja i obsługa Windows 7. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Wstęp do Informatyki. Klasyfikacja oprogramowania

Komputery przemysłowe i systemy wbudowane

Inteligentny czujnik w strukturze sieci rozległej

QNX Neutrino (v 6.3)

Działanie systemu operacyjnego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Budowa systemów komputerowych

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

Architektura komputerów. Układy wejścia-wyjścia komputera

Bazy danych 2. Wykład 1

System operacyjny MACH

4. Procesy pojęcia podstawowe

Architektura komputerów

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Konfiguracja komputera przeznaczonego do pracy z IndustrialSQL Server 8.0 (komputer serwer)

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Linux -- u mnie działa!

Instrukcja do oprogramowania ENAP DEC-1

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Wprowadzenie do systemu Minix

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

PR kwietnia 2012 Automatyka budynkowa, Technologia sterowania Oprogramowanie Strona 1 z 5

Opis efektów kształcenia dla modułu zajęć

POSIX ang. Portable Operating System Interface for Unix

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Seria i7-n9500. Uwagi: 1.Urządzenia NVR są dostarczane bez dysków HDD 2.Należy używać dysków HDD zalecanych przez producenta.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

UNIFON podręcznik użytkownika

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Instrukcja konfiguracji funkcji skanowania

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Szkolenie autoryzowane. MS Konfigurowanie Windows 8. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Temat. Budowa systemu komputerowego Zakładka 1. Elementy tworzące stanowisko komputerowe.

router wielu sieci pakietów

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Technologia informacyjna. Urządzenia techniki komputerowej

Systemy operacyjne II

Transkrypt:

1 1 SYSTEM QNX 6 Neutrino 1.1 Wiadomości ogólne o systemach operacyjnych Funkcje systemu operacyjnego: Zarządzanie zasobami systemu o zarządzanie procesami, o obsługa urządzeń, o obsługa pamięci wirtualnej o obsługa komunikacji Zapewnienie abstrakcyjnego dostępu do usług systemu Zapewnienie bezpieczeństwa Wywołania systemowe PA1 PA2 PAn Procesy aplikacyjne System operacyjny Sprzęt Rysunek 1-1 Rola systemu operacyjnego Podstawowe struktury systemów operacyjnych: system monolityczny system z mikrojądrem. W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

2 PA1 PA2 PAn Procesy aplikacyjne Jądro Obsluga plików, sieci, urządzeń wejścia wyjścia synchronizacja timery szeregowanie wątków komunikacja międzyprocesowe obsługa przerwań Wywołania systemowe przerwania Rysunek 1-2 Jądro monolityczne Fragmenty kodu jądra wykonywane są: pod wpływem przerwań uruchamiania wywołań systemowych. Cechy systemu z jądrem monolitycznym: Jądro nie podlega szeregowaniu Awaria w jego obrębie skutkuje awarią całego systemu. Wysoka szybkość działania Systemy monolityczne: Linux, RTLinux.

3 1.2 System QNX6 Neutrino Wielozadaniowy, sieciowy system operacyjny czasu rzeczywistego Podstawowe własności: 1. Architektura mikrojądra. System jest zbiorem procesów wymieniających komunikaty w środowisku lokalnym i rozproszonym. 2. System od podstaw zaprojektowany został jako wieloplatformowy: Intel x86, MIPS, PowerPC, SH-4, ARM, StrongARM i xscale. 3. System spełnia wymagania stawiane systemom czasu rzeczywistego, posiada wywłaszczającą strategię szeregowania i rozwinięty mechanizm priorytetów. 4. Zapewnia wysoką zgodność ze standardami POSIX 1003.1. Zawiera większość zawartych tam mechanizmów czasu rzeczywistego tym wątki. 5. Zapewnia wsparcie dla maszyn wieloprocesorowych SMP. 6. Zawiera wiele mechanizmów tolerowania awarii, w tym pakiet wspierania wysokiej dostępności HAM (ang. High Availability Manager). 7. Możliwe jest zastosowanie wielu systemów plików: RAM, Flash, QNX, Linux, DOS, CD-ROM, NFS. 8. Zapewnia wparcie dla wielu protokołów komunikacyjnych, w tym IPv4, IPv6. POSIX - Standard na interfejs pomiędzy systemem operacyjnym a aplikacją. Określa: Niezbędny zestaw wywołań systemowych Postać funkcji systemowych (język C) Wady systemu: 1. Wysoka cena 2. Utrata zgodności z istniejącym oprogramowaniem dla systemu QNX4 3. Wsparcie tylko dla ograniczonej liczby urządzeń peryferyjnych 4. Mała ilość oprogramowania użytkowego

4 Cecha systemu QNX VxWorks Windows CE Łatwość instalacji i konfiguracji 7 4 5 Architektura systemu 9 7 7 Kompletność API 7 8 7 Jakość dokumentacji 5 4 5 Dostosowanie do Internetu 8 9 9 Narzędzia tworzenia 7 8 8 oprogramowania Własności czasowe 9 5 7 Tabela 1-1. Porównanie systemów ONX6.1 Neutrino, VxWork A1.1 i Windows CE.NET (skala 1-10)

5 1.3 Budowa systemu Budowa systemu: - Mikrojądro - microkernel - Procesy systemowe - system processes - Procesy aplikacyjne - application processes PA1 PA2... PAn Procesy aplikacyjne Mikrojądro plików IPC - komunikacja międzyprocesowa dysku Procesy systemowe... sieci Rysunek 1-3 Struktura systemu QNX6 Neutrino Funkcje mikrojądra: 1. Implementacja podstawowych mechanizmów komunikacji międzyprocesowej: komunikatów, impulsów, zdarzeń, sygnałów. 2. Implementacja funkcji synchronizacji wątków takich jak muteksy, semafory, zmienne warunkowe, bariery, blokady, operacje atomowe. 3. Szeregowanie procesy i wątki szeregowane są przez mikrojądro zgodnie z dostępnymi algorytmami szeregowania: FIFO, karuzelowy, sporadyczny. 4. Implementacja czasomierzy (ang. Timers). 5. Obsługa przerwań.

6 PA1 MIKROJĄDRO plików PA2 synchronizacja timery szeregowanie wątków IPC sieci PAn Procesy aplikacyjne transformacja przerwań przerwania procesów procnto y systemowe Rysunek 1-4 Struktura mikrojądra Zalety systemu z mikrojądrem: 1. Niezależne szeregowanie procesów systemowych - obsługa urządzeń wejścia / wyjścia - procesy, które podlegają zwykłemu szeregowaniu. Mechanizm umożliwia osiągnięcie lepszych charakterystyk czasowych systemu - ważne w systemach RTS. 2. Modularność - prowadzi do zwiększenia niezawodności. 3. Wzajemna izolacja procesów - każdy z procesów systemowych wykonywany jest w oddzielnie chronionym segmencie przestrzeni adresowej. Awaria jednego z procesów nie powoduje awarii innego procesu. 4. Możliwość dynamicznego uruchamiania procesów systemowych - procesy systemowe są zwykłymi procesami.

7 1.4 Komunikaty i komunikacja międzyprocesowa Przesłanie komunikatu (ang. message passing) Przesłanie komunikatu pomiędzy procesami jest przesłaniem pomiędzy nimi pewnej liczby bajtów według ustalonego protokołu. Przesłanie komunikatu jest operacją atomową. komunikat proces aplikacyjny klient serwer administrator zasobu odpowiedź Rysunek 1-5 Klient przesyła komunikat do serwera Przesłanie komunikatu składa się z trzech faz: 1. Wysłania komunikatu od procesu klienta do serwera. Proces klienta ulega zablokowaniu a komunikat odblokowuje proces serwera (o ile był zablokowany). 2. Serwer przetwarza komunikat i przesyła odpowiedź do klienta. 3. Proces klienta po otrzymaniu odpowiedzi ulega odblokowaniu. klient serwer Odbiór komunikatu blokada komunikat Wysłanie komunikatu odpowiedź blokada Odpowiedź na komunikat Rysunek 1-6 Transakcja przesłania komunikatu

8 Mechanizmy komunikacji międzyprocesowej implementowane w mikrojądrze: 1. Komunikaty i impulsy - (ang. messages, pulses) 2. Sygnały - (ang. signals) 3. Zegary - (ang. clocks) 4. Czasomierze - (ang. timers) 5. Procedury obsługi przerwań - (ang. interrupt handlers) 6. Semafory - (ang. semaphores) 7. Blokady wzajemnego wykluczania - muteksy (ang. mutual exclusion lock ) 8. Zmienne warunkowe (ang. conditional variables) 9. Bariery (ang. barriers) Mechanizmy IPC zewnętrzne względem mikrojądra 1. Łącza nienazwane - (ang. pipes), 2. Łącza nazwane - (ang. named pipes) 3. Wspólna pamięć - (ang. shared memory) 4. Kolejki komunikatów - (ang. message queues)

9 1.5 y zasobu i procesy systemowe y zasobu zapewniają jednolity dostęp do różnego rodzaju urządzeń. Urządzenia rzeczywiste: dyski, porty szeregowe, porty równoległe Urządzenia wirtualne: sieciowy system plików okno pseudo terminal zasobu jest procesem serwerowym który akceptuje komunikaty od innych procesów. zasobu obsługuje zlecenia klientów odnoszące się do abstrakcji pliku. Plik jest abstrakcyjną strukturą na której można przeprowadzać operacje: otwarcie, odczyt, zapis, zamknięcie, zmianę bieżącej pozycji, ustawianie praw dostępu. Każde urządzenie w systemie QNX6 Neutrino widziane jest jako plik specjalny. Rodzaje plików: pliki specjalne (urządzenia, gniazdka, kolejki, semafory, segmenty pamięci dzielonej) pliki regularne katalogi

10 /dev/hd0 /dev/fd0 /dev/par1 /dev/ser1 /dev/con / fsqnx4.so devb-eide Proces obsługi dysków stałych typu IDE devb-fdc Proces obsługi stacji dyskietek devc-par Proces obsługi portu równoległego devcser8250 szeregowego RS232 Proces obsługi portu devc-con Proces obsługi konsoli Proces obsługi systemu plików QNX4 Tabela 1-2 Ścieżki do urządzeń i obsługujące je administratory fd = open("/dev/ser1",...) administrator procesów procnto 2 1 3 rejestracja urządzenie klient 4 devc- ser 8250 układ 8250 read(fd,buf,1) administrator zasobu Rysunek 1-7 Współpraca procesu klienta z portem transmisji szeregowej. Współpraca procesu klienta z portem transmisji szeregowej: 1. Przy starcie systemu proces devc-ser8250 rejestruje się w administratorze procesów procnto. 2. Proces klienta wysyła komunikat do lokalnego administratora procesów procnto z zapytaniem w gestii jakiego procesu leży ścieżka /dev/ser1. 3. Lokalny administrator procesów odpowie że należy się kontaktować z procesem devc-ser8250. 4. Proces klienta wysyła komunikaty do procesu devc-ser8250.

11 proces klienta administrator zasobu rejestracja ścieżki wysłanie komunikatu oczekiwanie odbiór odpowiedzi odbiór komunikatu przetwarzanie komunikatu wysłanie odpowiedzi Rysunek 1-8 Współpraca pomiędzy procesem klienta a administratorem zasobu procnto Zarządzanie pamięcią, wątkami i procesami devb-eide Proces obsługi dysków stałych typu IDE devb-fdc Proces obsługi stacji dyskietek devc-par Proces obsługi portu równoległego devc-ser8250 Proces obsługi portu szeregowego RS232 devc-con Proces obsługi konsoli io-net Ogólny administrator sieci io-graphisc Proces obsługi karty graficznej Photon Proces interfejsu graficznego Tabela 1-3 Ważniejsze procesy systemowe systemu QNX6 Neutrino

12 1.6 System plików W systemie QNX6 Neutrino zaimplementowano wiele różnych systemów plików. Każdy z systemów plików obejmuje fragment przestrzeni nazw i obsługuje drzewo katalogów i plików leżące poniżej punktu jego montowania. Własności: 1. Systemy plików mogą być startowane i zatrzymywane dynamicznie w trakcie pracy systemu. 2. Równocześnie może współistnieć wiele systemów plików. 3. System plików wykonywany na jednym węźle może być w przeźroczysty sposób dostępny z innego węzła. Najważniejsze systemy plików dostępne w QNX6 Neutrino:. 1. Bezpośredni system plików - Stosowany jest w wielu sterownikach wbudowanych. 2. System plików RAM - prosty system plików pozwalający na zapis i odczyt plików umieszczonych w pamięci RAM w katalogu /dev/shmem. 3. System plików QNX4 - jest to podstawowy system plików. Charakteryzuje się wysoką odpornością na awarie, wydajnością i architekturą wielowątkową, obsługiwany przez proces fs-qnx4.so. 4. System plików DOS - System plików jest obsługiwany przez proces fs-dos.so. 5. System plików CD-ROM - Obsługuje format ISO9660 System obsługiwany przez proces fs-cd.so. 6. System plików FFS3 - system plików przeznaczony jest dla pamięci Flash typu NOR Błąd! Nie można odnaleźć źródła odsyłacza. (Compact Flash i Smart Media). System zawiera zabezpieczenia chroniące przed utratą integralności w przypadku wyłączenia zasilania w trakcie operacji zapisu. Stosowany jest w sterownikach wbudowanych. 7. Sieciowy system plików NFS - Stacja kliencka może sięgać poprzez sieć do plików położonych na zdalnym serwerze. System oparty jest na technologii RPC (ang. Remote Procedures Calls). Jako warstwę transportowa stosuje protokół TCP/IP. Procesem obsługującym NFS jest fs-nfs2 lub fs-nfs3.

13 8. Sieciowy system plików CIFS - CISF jest sieciowym systemem plików wspieranym przez Microsoft (uprzednio SMB). Stacja kliencka może uzyskać dostęp poprzez sieć do systemów plików na serwerze Windows lub Linux na którym uruchomiono serwer SMB. Jako warstwę transportowa stosowany jest protokół TCP/IP a system utrzymywany jest przez proces fs-cifs. 9. System plików Ext2 - system plików Ext2 jest używany przez Linux a. Procesem obsługującym ten system plików jest fs-ext2.so.

14 1.7 Onet rodzima sieć komunikacyjna systemu QNX6 Neutrino Unikalność mikrojądra Neutrino polega na łatwości implementacji środowisk rozproszonych (ang. distributed enviroments). Osiągnięto to dzięki paradygmatowi przekazywania komunikatów, który dla pracy lokalnej i sieciowej pozostaje zasadniczo taki sam. Fundamentem tego systemu protokół Qnet umożliwia jednolitą metodę dostępu do zasobów, tak lokalnych jak i zdalnych. Standardowe programy narzędziowe operujące na takich zasobach systemu jak pliki działają tak samo dla zasobów lokalnych i zdalnych. Zastosowanie sieci Qnet pozwala na osiągnięcie następujących korzyści: 1 Przeźroczysty dostęp do zdalnego systemu plików. 2 Łatwość budowy aplikacji skalowalnych. 3 Łatwość tworzenia aplikacji rozproszonych składających się z komunikujących się procesów. 4 Łatwość tworzenie aplikacji równoległych wykonywanych na połączonych siecią komunikacyjną komputerach. Przykład: $ cat /net/qumak/home/juka/infor.txt Komputer astra / Komputer qumak / /dev /net /bin Qnet /dev /bin /home /net/qumak/ /home/juka /net/qumak/home/juka infor.txt infor.txt Rysunek 1-9 Odwzorowanie przestrzeni nazw komputera qumak w katalogu /net/qumak komputera astra

15 fh = open( /net/qumak/home/juka/infor.txt, O_RDWR) Z komputera astra Lokalnie Zasób /net/qumak/dev/ser1 /dev/ser1 Port szeregowy /net/qumak/dev/par /dev/par Port równoległy /net/qumak/home/ /home Katalog /net/qumak /home/juka/infor.txt Plik /home/juka/infor.txt regularny Tabela 1-4 Zasoby komputera qumak lokalnie i poprzez sieć aplikacja 1 procesów Komputer astra 4 3 2 Qnet 3 4 Qnet 4 3 dysków stałych infor.txt procesów Komputer qumak Rysunek 1-10 Dostęp klienta do zasobu położonego na komputerze zdalnym 1. Nazwa komputera - jest łańcuchem identyfikującym komputer. Nie może on zawierać kropek ani znaków ukośnika /. Nazwa komputera jest określana w trakcie procesu konfiguracji sieci (np. astra). 2. Nazwa domeny - jest określona przez konfigurację sieci do której dołączony jest komputer i określana jest przez administratora sieci zewnętrznej (np. telsat.wroc.pl). 3. Pełna kwalifikowana nazwa - komputera składa się z nazwy komputera i nazwy domeny. (np. astra.telsat.wroc.pl) Katalog sieciowy - odwzorowuje nazwy komputerów połączonych siecią Standardowo katalog sieciowy nazywa się /net.

16 Zawartość katalogu sieciowego a tym samym nazwy komputerów pracujących w sieci Qnet uzyskać można poleceniem: $ls /net $ astra qumak Sieć Qnet obsługuje wielokrotne połączenia sieciowe. Z połączeniami wielokrotnymi łączy się pojęcie QoS (ang. Quality of Service) połączenie równoważące obciążenie, połączenie preferowane, połączenie wyłączne.

17 4.1 QNX6 w systemach wbudowanych Aplikacje mogą być tworzone w środowiskach systemów: QNX6 Neutrino, Windows (NT, 2000, XP), Linux, Solaris SPARC. Narzędziem do tworzenia takich aplikacji jest Momentics Development Suite. Środowisko to zawiera: 1 Zintegrowane środowisko rozwoju oprogramowania IDE (ang. Integrated Development Environment). 2 Biblioteki ANSI C, POSIX, DINKUM C++, GNU C++. 3 Dokumentację. 4 Narzędzia BSP (ang. Board Suport Packages) służące do dostosowania systemu QNX6 Neutrino do różnorodnych środowisk sprzętowych. 5 Narzędzia DDK (ang. Driver Development Kits) wspomagające tworzenie sterowników urządzeń zewnętrznych (grafiki, audio, sieciowe, USB). 6 Narzędzia TDK (ang. Technology Development Kits) które ułatwiają tworzenie wbudowanych systemów plików, systemów wieloprocesorowych SMP, obsługi multimediów i grafiki 3D. System docelowy na komputerach z procesorami: ARM, MIPS, PowerPC, SH-4, StrongARM (w tym Xscale) x86.