Wywłaszczenie (informatyka): Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja przejrzana] |
DODANIE KILKA WĄTKÓW |
m Wycofano edycje użytkownika 83.14.129.198 (dyskusja). Autor przywróconej wersji to Bulwersator. |
||
Linia 1: | Linia 1: | ||
{{dopracować|źródła|Skąd pewność, że wymienione systemy wspierają wywłaszczanie?}} |
{{dopracować|źródła|Skąd pewność, że wymienione systemy wspierają wywłaszczanie?}} |
||
''' |
'''Wywłaszczenie''' – technika używana w środowiskach [[Wielozadaniowość|wielozadaniowych]], w której algorytm szeregujący ([[scheduler]]) może wstrzymać aktualnie wykonywane zadanie (np. [[proces (informatyka)|proces]] lub [[wątek (informatyka)|wątek]]), aby umożliwić działanie innemu. Dzięki temu rozwiązaniu zawieszenie jednego procesu nie powoduje blokady całego systemu operacyjnego. W systemach bez wywłaszczenia zadania jawnie informują scheduler, 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]]<ref>{{cytuj stronę| url =http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html#NOTES | tytuł =sched_setscheduler(2) – Linux manual page | data dostępu =2010-10-1 | autor = | język =en}}</ref>. |
||
Wywłaszczanie jest często |
Wywłaszczanie jest często ograniczane, na przykład procedury odpowiedzialne za obsługę [[przerwanie|przerwań sprzętowych]] są zwykle niewywłaszczalne, co znacznie upraszcza ich konstrukcje ale wymusza też zadbanie o to, żeby szybko się kończyły umożliwiając działanie innym procesom. W systemie [[Linux]] przed wersją 2.6 niemożliwe było wywłaszczenie procesu który znajdował się w trybie [[jądro systemu operacyjnego|jądra]], co w pewnych sytuacjach mogło być powodem bardzo wolnej reakcji na działania użytkownika. |
||
== Popularne wielozadaniowe systemy operacyjne z możliwością wywłaszczania procesów == |
== Popularne wielozadaniowe systemy operacyjne z możliwością wywłaszczania procesów == |
Wersja z 15:53, 28 paź 2010
Ten artykuł wymaga zweryfikowania podanych informacji: Skąd pewność, że wymienione systemy wspierają wywłaszczanie?. |
Wywłaszczenie – technika używana w środowiskach wielozadaniowych, w której algorytm szeregujący (scheduler) może wstrzymać aktualnie wykonywane zadanie (np. proces lub wątek), aby umożliwić działanie innemu. Dzięki temu rozwiązaniu zawieszenie jednego procesu nie powoduje blokady całego systemu operacyjnego. W systemach bez wywłaszczenia zadania jawnie informują scheduler, 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 konstrukcje ale wymusza też zadbanie o to, żeby szybko się kończyły umożliwiając działanie innym procesom. W systemie Linux 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.
Popularne wielozadaniowe systemy operacyjne z możliwością wywłaszczania procesów
- większość systemów uniksowych
- Microsoft Windows (95, ME, NT, 2000, XP, Vista, Windows 7)
- AmigaOS (Wszystkie wersje, wbudowane w exec.library)
- MorphOS
- MagiC
Popularne wielozadaniowe systemy operacyjne bez możliwości wywłaszczania procesów
- MS-DOS z nakładką Microsoft Windows 3.x i wcześniejsze
- Mac OS 9 i wcześniejsze
- ↑ sched_setscheduler(2) – Linux manual page. [dostęp 2010-10-1]. (ang.).