Wywłaszczenie w systemach operacyjnych
Wywłaszczenie to technika stosowana w systemach wielozadaniowych, w której planista może wstrzymać aktualnie wykonywane zadanie, aby umożliwić działanie innemu. Dzięki temu rozwiązaniu, zawieszenie jednego procesu nie blokuje całego systemu operacyjnego. W systemach bez wywłaszczenia, procesy muszą samodzielnie informować planistę o gotowości do przełączenia, co może prowadzić do znacznego spowolnienia działania systemu.
Wywłaszczenie pozwala na precyzyjne określenie czasu, w jakim dany proces może korzystać z procesora. W niektórych systemach operacyjnych, takich jak Linux, wywłaszczenie dotyczy także jądra. Warto zauważyć, że procedury obsługi przerwań sprzętowych są zazwyczaj niewywłaszczalne, co upraszcza ich konstrukcję, ale wymaga, aby były szybko kończone, aby nie blokowały innych procesów.
W jądrze Linuksa przed wersją 2.6, wywłaszczenie procesów w trybie jądra było niemożliwe, co mogło prowadzić do opóźnień w reakcjach na działania użytkowników.
Systemy operacyjne z wywłaszczeniem procesów
- Większość systemów uniksowych
- Microsoft Windows (95, ME, NT, 2000, XP, Vista, 7, 8, 8.1, 10)
- AmigaOS (wszystkie wersje)
- MorphOS
- MagiC
Systemy operacyjne bez wywłaszczenia procesów
- Windows 3.x i wcześniejsze
- Mac OS 9 i wcześniejsze