Wywłaszczenie (informatyka)

Wikipedia:Weryfikowalność
Ten artykuł od 2010-10 wymaga zweryfikowania podanych informacji: Skąd pewność, że wymienione systemy wspierają wywłaszczanie?.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Wywłaszczenie – technika używana w środowiskach wielozadaniowych, w której algorytm szeregujący zwany planistą lub dyspozytorem może wstrzymać aktualnie wykonywane zadanie (np. proces lub wątek), aby umożliwić działanie innemu zadaniu. Dzięki temu rozwiązaniu zawieszenie jednego procesu nie powoduje blokady całego systemu operacyjnego. W systemach bez wywłaszczenia zadania jawnie informują planistę, w którym momencie chcą umożliwić przejście do innych zadań. Jeżeli nie zrobią tego w odpowiednim czasie, system zaczyna działać bardzo wolno. Oprócz tego wywłaszczanie umożliwia szczegółowe określanie czasu, w jakim dany proces może korzystać z procesora. Wywłaszczanie w niektórych systemach operacyjnych może dotyczyć nie tylko programów, ale także samego jądra – przykładem takiego systemu jest Linux[1].

Wywłaszczanie jest często ograniczane, na przykład procedury odpowiedzialne za obsługę przerwań sprzętowych są zwykle niewywłaszczalne, co znacznie upraszcza ich konstrukcję, ale wymusza też zadbanie o to, żeby szybko ulegały zakończeniu, umożliwiając działanie innym uruchomionym procesom. W jądrze Linuksa przed wersją 2.6 niemożliwe było wywłaszczenie procesu, który znajdował się w trybie jądra, co w pewnych sytuacjach mogło być powodem bardzo wolnej reakcji na działania użytkownika.

Systemy operacyjne z możliwością wywłaszczania procesów

  • większość systemów uniksowych[2]
  • Microsoft Windows (95, ME, NT, 2000, XP, Vista, 7, 8, 8.1, 10)
  • AmigaOS (wszystkie wersje wbudowane w exec.library)
  • MorphOS
  • MagiC

Systemy operacyjne bez możliwości wywłaszczania procesów

Zobacz też

Przypisy

  1. sched_setscheduler(2) – Linux manual page. [dostęp 2010-10-01]. (ang.).
  2. 4. W: Robert Love: Linux Kernel Development 3rd edition. Addison Wesley, 2010, s. 62–63. ISBN 978-0-672-32946-3.