Wielozadaniowość
Z Wikipedii
Wielozadaniowość – cecha systemu operacyjnego umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu. Zwykle za poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego.
[edytuj] Implementacja
Wielozadaniowość zapewniona jest między innymi przez planistę, czyli część systemu operacyjnego realizującą algorytm szeregowania zadań w kolejce do przyznania czasu procesora.
Równoczesność jest pozorna, gdy system ma dostępnych mniej procesorów niż zadań do wykonania. Wówczas dla uzyskania wrażenia wykonywania wielu zadań jednocześnie, konieczne staje się dzielenie czasu.
Systemy wielozadaniowe można podzielić na oferujące i nie oferujące wywłaszczania. W systemach z wywłaszczaniem może nastąpić przerwanie wykonywania procesu, odebranie mu procesora i przekazanie sterowania do planisty. Pełne wywłaszczanie zapewniają mechanizmy sprzętowe działające niezależnie od oprogramowania (na przykład przerwanie zegarowe). W systemach bez wywłaszczania procesy powinny same dbać o sprawiedliwy podział czasu, co często uzyskuje się pośrednio - proces dokonując wywołania systemowego, oddaje sterowanie procesowi jądra, lub jednemu z procesów systemowych i w ten sposób zrzeka się procesora. Program nie wykonywany pozostaje "w uśpieniu" do momentu, gdy znów zostanie mu przydzielony czas procesora.
[edytuj] Systemy
Systemami wielozadaniowymi są:
- AmigaOS,
- Amoeba,
- AtheOS,
- BeOS,
- Mac OS i jego następca Mac OS X,
- MagiC,
- MiNT,
- OS/2,
- ReactOS,
- TOS,
- Syllable,
- SkyOS,
- systemy z rodziny Uniksów (np. GNU/Linux),
- systemy z rodziny Microsoft Windows (np. Microsoft Windows 95);
nie są nimi natomiast np.: