Sygnały Przegląd istniejących rozwiązań EAIiE Katedra Automatyki Kraków,
Co to jest sygnał Sygnały są formą komunikacji pomiędzy procesami w systemie operacyjnym. Są asynchroniczną informacją wysyłaną do procesu w celu poinformowania go o wystąpieniu zdarzenia.
Gdzie stosuje się sygnały Systemy operacyjne wielozadaniowe –UNIX –Linux –MacOS –VxWorks –RtLinux –Windows?
POSIX Portable Operating System Interface – zestaw standardów opisujących interfejs dostępu do funkcji systemu operacyjnego POSIX obejmuje w standardzie sygnały, oraz sygnały czasu rzeczywistego
Rodzaje sygnałów Standard POSIX opisuje wiele rodzajów sygnałów. Sygnały możemy przechwycić i obsłużyć Istnieją sygnały, których proces obsłużyć nie może (np. KILL) Sygnały użytkownika
Trudności implementacyjne Wieloprocesowość Wyścigi sygnałów Ograniczona ilość sygnałów Kolejkowanie i obsługa wykonania
Stosowane mechanizmy Maskowanie sygnałów – zapobiega wyścigom Blokowanie sygnałów Ignorowanie sygnałów
Sygnały czasu rzeczywistego Potrzeba zagwarantowania dostarczenia sygnału Kolejkowanie sygnałów Możliwość niesienia przez sygnał dodatkowej informacji
Sygnały w VxWorks Zgodność ze standardem POSIX (P oraz P1003.1b) oraz BSD 4.3 Sygnały są kolejkowane oraz mogą nieść dodatkowe informacje Zadanie oczekujące na zwolnienie semafora ma możliwość obsługi sygnału
Sygnały w VxWorks : podstawowe procedury Inicjalizacja : sigInit(), sigueueInit() Obsługa : signal(), sigvec(), sigaction() Blokowanie/ maskowanie: sigprocmask(), sigsetmask(), sigblock() Wysyłanie : raise(), kill(), sigqueue()