Systemy operacyjne - Przerwania, procesy, wątki


1. Przerwania systemowe:
  • mogą być generowane przez urządzenia (zdarzenia synchroniczne)
  • mogą być programowe  (zdarzenia synchroniczne)
  • po wykryciu przerwania i zakończeniu cyklu aktualnie wykonywanego rozkazu sprzęt zapamiętuje na stosie powrotu i wykonuje procedurę obsługi przerwania
  • po zakończeniu obsługi przerwania sprzęt odtwarza adres powrotu ze stosu i ładuje go to licznika rozkazu.

2. Proces definiowany jest jako egzemplarz wykonywanego programu. Każdy powstały proces otrzymuje unikalny numer, który go jednoznacznie identyfikuje. W celu wykonania programu system operacyjny przydziela procesowi zasoby (tj. pamięć czy czas procesora). Za zarządzanie procesami odpowiada jądro systemu operacyjnego.

W skład procesu wchodzi: kod programu, stos, licznik rozkazu i sekcja danych.

Każdemu procesowi przydzielone zostają zasoby tj. procesor, pamięć, dostęp do urządzeń wejścia-wyjścia czy pliki.

Wykonanie procesu musi przebiegać sekwencyjnie. Może przyjmować kilka stanów.
1. Aktualnie wykonywany przez procesor
2. Czekający na udostępnienie przez system operacyjny zasobów
3. Uśpiony
4. Przeznaczony do zniszczenia
5. Proces "ZOMBIE"
6. Właśnie tworzony

3. Wątek to część programu wykonywana współbieżnie w obrębie jednego procesu; w jednym procesie może istnieć wiele wątków.

W skład wątku wchodzi: licznik rozkazu, zbiór rejestrów i obszaru stosu.

Wątek dzieli z innymi równorzędnymi wątkami przestrzeń adresową procesu, a w szczególności jego kod i dane, otwarte pliki i sygnały.

4. Wielowątkowość to organizacja systemu operacyjnego, która umożliwia wielozadaniowość procesu wewnątrz pojedynczego programu, czyli równolegle.

Cechy wielowątkowości:
  • wszystkie wątki wykonują się w ramach tylko jednego programu
  • wątki zostały wprowadzone, aby umożliwić tzw. przetwarzanie współbieżne np.gdy zachodzi potrzeba wykonania wielu zadań jednocześnie
  • wszystkie wątki procesu współdzielą tę samą wirtualną przestrzeń, czyli korzystają z tych samych zasobów systemowych.

5. Wielozadaniowość w środowisku Windows oznacza, że wiele aplikacji działa jednocześnie. Sposób wykorzystania wielozadaniowości przez program stanowi o jego poprawnym lub błędnym działaniu, a nawet może decydować o poprawności pracy całego systemu.

6. Wywłaszczenie to metoda zapobiegania blokadom systemu operacyjnego. Jest to możliwość zawieszenia jednego wątku w celu wykonania innego. W systemach bez wywłaszczenia jedynie proces posiadający prawa do zasobu może je zwolnić.

Wątek nie działa bez procesu, ponieważ nie ma własnej pamięci!