Wielozadaniowość

Wikipedia:Weryfikowalność
Ten artykuł od 2021-04 wymaga zweryfikowania podanych informacji.
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.

Wielozadaniowość – cecha systemu operacyjnego umożliwiająca równoczesne wykonywanie więcej niż jednego procesu (programu). Zwykle za poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego.

Implementacja

Wielozadaniowość zapewniona jest między innymi przez planistę, czyli część systemu operacyjnego realizującą algorytm szeregowania zadań w kolejce do przyznania czasu przetwarzania na procesorze.

Równoczesność realizowania wielozadaniowości jest pozorna, gdy system komputerowy ma dostępnych mniej wątków sprzętowych niż procesów (programów) wykonywanych jednocześnie. Wówczas dla uzyskania wrażenia wykonywania wielu zadań w tym samym czasie, konieczne staje się zastosowanie mechanizmu podziału czasu, którego działanie polega na przydzielaniu każdemu procesowi określonego przedziału czasowego, w którym może być on przetwarzany przez wątek sprzętowy (procesor).

Systemy wielozadaniowe można podzielić na oferujące i nieoferujące wywłaszczanie. W systemach z wywłaszczaniem może nastąpić przerwanie wykonywania procesu, czyli niejako „odebranie” mu procesora, i przekazanie sterowania do planisty. Pełne wywłaszczanie zapewniają tylko mechanizmy sprzętowe działające niezależnie od oprogramowania (np. dołączanie wywłaszczania do procedury obsługi przerwania zegarowego). 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 niewykonywany pozostaje „w uśpieniu” do momentu, gdy znów zostanie mu przydzielony czas procesora.

Systemy

Systemami wielozadaniowymi są:

  • AmigaOS (zadania pracują z uprawnieniami systemu operacyjnego, więc mogą zatrzymać wywłaszczenie),
  • Amoeba,
  • AtheOS,
  • BeOS,
  • Mac OS i jego następca OS X,
  • Atari TOS (bez wywłaszczania i ograniczony do tzw. akcesoriów; maksymalnie sześć)
  • MagiC,
  • FreeMiNT,
  • OS/2,
  • ReactOS,
  • Syllable,
  • SkyOS,
  • Symbian,
  • Bada OS,
  • systemy z rodziny Uniksów (np. GNU/Linux),
  • systemy z rodziny Microsoft Windows (np. Windows 7),
  • MorphOS,
  • AROS.

Nie są nimi natomiast np.:

  • CP/M,
  • DOS (może być uruchomiony więcej niż jeden proces, ale tylko jeden będzie wykonywany).

Zobacz też

  • GND: 4133249-0
  • NKC: ph903881
  • J9U: 987007548971705171
  • Britannica: technology/multitasking
  • NE.se: multitasking
  • SNL: multitasking
  • Catalana: 0269145
  • DSDE: multitasking