Systemy czasu rzeczywistego stanowią specyficzną, ale bardzo ważną dziedzinę współczesnej informatyki. Złożoność samego przetwarzania w czasie rzeczywistym oraz fakt, że oprogramowanie czasu rzeczywistego jest implementowane najczęściej w niewidocznych, najniższych warstwach systemów informatycznych, sprawia, że te elementy są ukryte przed przeciętnymi użytkownikami, a wiedza na ich temat jest niewielka i trudno dostępna.
Typowymi i najliczniejszymi przedstawicielami systemów czasu rzeczywistego są systemy sterowania procesów przemysłowych, często należące do klasy systemów określanych jako wbudowane. Ich zadaniem jest sterowanie liniami technologicznymi, obrabiarkami, robotami, układami napędowymi itp. W życiu codziennym systemy te stosowane są stosowane w nowoczesnych aparatach fotograficznych do określania parametrów ekspozycji, w samochodach do sterowania bezpośrednim wtryskiem paliwa oraz w osobistych komputerach kieszonkowych.
Książka opisuje RTLinux, darmowy system operacyjny czasu rzeczywistego oparty na Linuksie. Nowoczesna architektura i szeroki wybór platform, na których pracuje, czyni go interesującym dla wszystkich osób potrzebujących takiego systemu.
-
Architekturę Linuxa i modyfikacje wprowadzone w systemie RTLinux
-
Instalację i konfigurację RTLinuxa
-
Tworzenie aplikacji czasu rzeczywistego
-
Prosty system pomiarowy czasu rzeczywistego Uzupełnieniem książki są dodatki opisujące dokładnie pełną listę funkcji implementowanych przez RTLinux, a także przykłady ich praktycznego wykorzystania.
SPIS TREŚCI:
Wstęp (5)
Rozdział 1. Linux a czas rzeczywisty (11)
-
Jądro systemu (11)
-
Szeregowanie procesów (12)
-
Rozdzielczość szeregowania (12)
-
Wywołania systemowe (13)
-
Przerwania sprzętowe (13)
-
Pamięć wirtualna (13)
-
Optymalizacja wykorzystania zasobów systemowych (14)
Rozdział 2. RTLinux (15)
-
Podstawowe założenia (15)
-
Architektura systemu (15)
-
Wirtualny system przerwań (17)
-
Zadania czasu rzeczywistego (18)
-
Szeregowanie zadań (19)
-
Odmierzanie czasu (21)
-
Komunikacja międzyprocesowa (23)
-
Kolejki czasu rzeczywistego (23)
-
Pamięć dzielona (24)
-
Synchronizacja i wzajemne wykluczanie (24)
Rozdział 3. Instalacja i konfiguracja systemu RTLinux (27)
-
Pakiet (27)
-
Historia (27)
-
Autorzy (28)
-
Licencja (29)
-
Zawartość (30)
-
Mini-RTL (31)
-
Przebieg instalacji (32)
-
Wybór dystrybucji (32)
-
Wymagania sprzętowe (33)
-
Wymagania dla środowiska programistycznego (34)
-
Źródła pakietów (36)
-
Przebieg instalacji (37)
-
Kompilacja jądra (38)
-
Konfiguracja i kompilacja RTLinuksa (40)
-
Moduły czasu rzeczywistego (43)
-
Uruchamianie modułów systemowych (43)
-
Uruchamianie modułów czasu rzeczywistego użytkownika (47)
Rozdział 4. Aplikacje czasu rzeczywistego (49)
-
Standard POSIX (49)
-
Struktura systemu RT-Linux (54)
-
Źródła pomocy przy programowaniu zadań czasu rzeczywistego (56)
-
Kompilacja modułów (57)
-
Przykładowe problemy spotykane w aplikacjach RTLinuksa (57)
-
Aplikacja "Hello World!" (57)
-
Zadania czasu rzeczywistego (59)
-
Kolejki czasu rzeczywistego (60)
-
Obsługa przerwań systemowych (63)
-
Obsługa sygnałów czasu rzeczywistego w procesach Linuksa (64)
-
Zegar i funkcje konwersji czasu (66)
-
Pamięć dzielona (68)
-
Mechanizmy synchronizacji międzyzadaniowej (69)
Rozdział 5. Prosty system pomiarowy czasu rzeczywistego (73)
-
Multimetr METEX 3650CR - dane techniczne (73)
-
Komunikacja z multimetrem (74)
-
Sterownik portu szeregowego (75)
-
Moduł obsługi multimetru (78)
-
Uwagi końcowe (85)
Rozdział 6. Podsumowanie (87)
Dodatek A Pełna lista funkcji implementowanych przez system RTLinux (89)
-
Funkcje charakterystyczne dla systemu (89)
-
Podzbiór funkcji interfejsu POSIX, implementowany przez wersję 3.1 (91)
-
Opcjonalne funkcje POSIX zależne od konfiguracji (93)
-
Zmienne warunkowe POSIX (93)
-
Semafory POSIX (93)
-
Funkcje o ograniczonym zakresie używania (94)
Dodatek B Przykładowe programy z wykorzystaniem API systemu RTLinux (95)
-
Przechwytywanie przerwań (95)
-
Sygnały czasu rzeczywistego w procesach Linuksa (97)
Dodatek C Architektura i386, a wielozadaniowe systemy operacyjne (99)
-
Zarządzanie pamięcią w trybie chronionym (99)
-
Segmentacja (99)
-
Stronicowanie (pamięć wirtualna) (101)
-
Ochrona (102)
-
Przerwania i obsługa wyjątków (103)
-
Zarządzanie zadaniami (105)
Bibliografia (109)
Skorowidz (111)