OPIS
Spadek cen i wzrost możliwości sterowników mikroprocesorowych powoduje, że są one coraz szerzej stosowane w różnorodnych systemach wbudowanych. Sterowniki takie coraz częściej są wyposażone w procesory 32-bitowe, kontrolery sieci Ethernet i interfejs USB. Programowanie takich zaawansowanych kontrolerów staje się coraz trudniejsze.
Dlatego coraz szersze zastosowanie znajdują systemy operacyjne czasu rzeczywistego będące pomostem pomiędzy sprzętem a programami aplikacyjnymi. Zarządzają one zasobami komputera, zapewniają komunikację z otoczeniem, a programiście pozwalają się skupić na tworzonej aplikacji.
W dziedzinie systemów operacyjnych czasu rzeczywistego dominującym standardem jest POSIX 1003 - norma opracowana w ramach IEEE. Omawiany w książce system QNX6 Neutrino jest systemem operacyjnym czasu rzeczywistego o szerokich możliwościach. Zapewnia on wysoki stopień zgodności ze standardem POSIX 1003.
Dziedzina zastosowań systemu jest niezwykle szeroka: od mikrokontrolerów 32-bitowych (Intel x86, PowerPC, ARM, xScale), poprzez komputery typu PC do systemów wieloprocesorowych i rozproszonych. W ksiażce Czytelnik znajdzie opis instalacji systemu QNX6 Neutrino, jego architektury, a w szczególności sposób tworzenia oprogramowania czasu rzeczywistego.
Do tworzenia oprogramowania jest wykorzystywany język C i różnorodne mechanizmy systemu jak procesy, wątki, komunikaty, zdarzenia i przerwania. Czytelnik może przeprowadzić samodzielnie eksperymenty, gdyż dla zastosowań niekomercyjnych system QNX6 Neutrino może być pobrany bezpłatnie z Internetu.
Pomimo że opisywany jest konkretny system operacyjny, poruszane w książce zagadnienia mają ogólny charakter. Stąd książka może być wykorzystana jako podręcznik akademicki i pomocna w nauczaniu przedmiotu Systemy Czasu Rzeczywistego.
Rozdziały:
1. Wstęp 7
2. Podstawy 11
3. Architektura systemu QNX6 Neutrino 27
4. Podstawy obsługi systemu 39
5. Procesy i wątki 51
6. Zarzadzanie procesami 68
7. Zarządzanie wątkami 97
8. Komunikacja pomiędzy procesami za pomocą łączy 133
9. Komunikaty 143
10. Pamięć dzielona i semafory 167
11. Sygnały 185
12. Czas, jego pomiar i reprezentacja w systemie 205
13. Timery i zdarzenia 215
14. Kolejki komunikatów 233
15. Przerwania 245
16. Obsługa karty interfejsowej PCL718 265
17. Obsługa transmisji szeregowej 283
Dodatki:
A. Zestwienie funkcji systemowych 293
B. Zestawienie przykładowych programów 297