Prewencyjna wielozadaniowość

W obliczeniowej , poboru wielozadaniowość odnosi się do zdolności systemu operacyjnego w celu zatrzymania lub uruchomienia zaplanowanego zadania w toku.

Poboru scheduler ma tę zaletę lepszego reagowania systemu i jego ewolucji, ale wadą pochodzi z wyścigowych warunkach (gdy proces wykonanie uzyskuje dostęp do tego samego zasobu przed kolejnym (wywłaszczony) Proces zakończył go używać).

Zasada działania

Program planujący rozdziela czas procesora na różne procesy . W systemie z wywłaszczaniem, w przeciwieństwie do systemu współpracy, osoba planująca może w dowolnym momencie przerwać działający proces, aby umożliwić uruchomienie innego. Procesy nie mogą zajmować procesora. Każdemu procesowi przydzielany jest określony przez system czas. To prawo do pierwszej odmowy może równie dobrze powstać w przypadku przerw materialnych.

Niektórym procesom można przypisać priorytet; proces, który można określić jako „wywłaszczalny” lub „niepodzielny”. Proces z możliwością wywłaszczania można zawiesić na rzecz procesu o wyższym priorytecie lub przerwania . Proces bez możliwości wywłaszczenia można zawiesić tylko na korzyść przerwania. Wyznaczony mu czas jest dłuższy, a oczekiwanie krótsze.

Wraz z ewolucją systemów operacyjnych projektanci odeszli od logiki binarnej z możliwością wywłaszczania / wywłaszczania na rzecz lepszych systemów z wieloma priorytetami. Zasada została zachowana, ale priorytety procesów są rozłożone.

Podczas wywłaszczania stan procesu (flagi, rejestry i wskaźnik instrukcji) jest zapisywany w pamięci. Aby wznowić wykonanie, należy go ponownie załadować do procesora: jest to przełączanie kontekstu .

System operacyjny z możliwością wywłaszczania stale utrzymuje kontrolę nad zadaniami wykonywanymi przez procesor, w przeciwieństwie do systemu operacyjnego bez wywłaszczania lub współpracującego, w którym działający proces przejmuje kontrolę i decyduje, kiedy go zwrócić. Najbardziej oczywistą zaletą systemu z wywłaszczaniem jest to, że może on zapobiec niekończącemu się zużyciu procesora przez dysfunkcjonalny proces.

Historyczny

Pierwsze systemy prewencyjne narodziły się w latach sześćdziesiątych XX wieku z pracą nad multiką . Pierwszym szeroko rozpowszechnionym systemem wywłaszczającym był Unix w latach siedemdziesiątych, a także wszystkie rodziny systemów, które były przez niego inspirowane.

Pierwsze systemy operacyjne Microsoft Windows ( Windows 3.1 ) były systemami współpracującymi. Windows 95 , Windows 98 i Windows Me , jeśli przyjmą jądro Win32, które może zaklasyfikować je do systemów z możliwością wywłaszczania, mimo to zachowują, ze względu na kompatybilność wsteczną z Windows 3.1, tryb współpracy, w którym przełączają się, gdy tylko aplikacja 16 bitów jest wykonywany. Ten tryb działania sprawia, że ​​te systemy operacyjne są zawodne, ponieważ system nie może przerwać błędnego zadania.

Wszystkie nowoczesne systemy operacyjne (zwłaszcza macOS i Linux , AmigaOS i wszystkie Windows NT od 3.1 i następnych, 4, 2000 , XP , Vista i 7 ) są systemami z możliwością wywłaszczania.

Zobacz też