KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2011

PYTANIE NR 13.
Cecha systemu operacyjnego, pozwalająca uruchomić równocześnie kilka aplikacji w ramach podziału czasu, przy czym podział czasu realizowany jest przez same aplikacje nosi nazwę
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Opis wskazuje na mechanizm, w którym przełączanie zadań następuje wtedy, gdy sama aplikacja odda sterowanie (np. przez wywołanie funkcji systemowej) – to jest wielozadaniowość kooperatywna. W wariancie z wywłaszczeniem decyzję o odebraniu czasu podejmuje system, a nie program. Pozostałe terminy dotyczą innych zjawisk.

Pełne wyjaśnienie:

Kluczowy fragment pytania brzmi: "podział czasu realizowany jest przez same aplikacje". Oznacza to, że system operacyjny nie odbiera procesorowego "kwantu czasu" samodzielnie w dowolnym momencie, lecz liczy na to, że uruchomione programy będą współpracować i okresowo oddawać sterowanie.

Taką cechę nazywa się wielozadaniowością kooperatywną (ang. cooperative multitasking). W praktyce przełączenie wykonywania na inną aplikację następuje, gdy aktualna aplikacja wykona operację, która przekazuje kontrolę do systemu (np. oczekiwanie na zdarzenie, sen, wejście/wyjście) lub wprost "odda czas" w mechanizmie przewidzianym przez środowisko.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "wielozadaniowość z wywłaszczeniem" opisuje sytuację odwrotną: to system (planista) może przerwać działanie procesu i przełączyć kontekst nawet wtedy, gdy aplikacja nie chce współpracować. Tu warunek mówi, że podział czasu realizują aplikacje, więc nie pasuje.
  • "wielodostępowość" dotyczy udostępniania zasobów wielu użytkownikom/stanowiskom (multi-access, time-sharing w sensie dostępu), a nie sposobu przełączania zadań przez aplikacje.
  • "wieloprogramowość" oznacza przebywanie wielu programów w pamięci i takie organizowanie pracy, aby CPU nie czekał bezczynnie (np. gdy jeden proces czeka na I/O). Nie definiuje jednak, że to aplikacje realizują podział czasu.

Wskazówka egzaminacyjna: gdy w treści pojawia się informacja kto decyduje o przełączeniu, jest to zwykle rozstrzygające. Jeśli decyduje aplikacja – kooperacja; jeśli system może przerwać w dowolnej chwili – wywłaszczanie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To model, w którym przełączanie między aplikacjami zależy od tego, czy program sam odda sterowanie systemowi. Jeśli aplikacja nie współpracuje (np. wpada w pętlę), może blokować inne zadania, bo system nie wywłaszcza jej automatycznie.
Bo system nie ma mechanizmu przerywania aplikacji "na siłę" w dowolnym momencie. Płynna praca wielu programów wymaga więc, by każda aplikacja okresowo wykonywała operacje przekazujące kontrolę do systemu (np. czekanie na zdarzenie, I/O, uśpienie).
W kooperatywnej decyzja o przełączeniu wynika z działania aplikacji (współpraca). W wywłaszczającej planista systemu może przerwać proces po przydzielonym czasie lub z powodu priorytetu, nawet jeśli program nie chce oddać CPU.
To wskazówka, że aplikacja ma wpływ na moment przełączenia. W praktyce oznacza to model kooperatywny: program oddaje kontrolę systemowi, a dopiero wtedy inna aplikacja może dostać czas procesora.
Nie. Wielodostępowość dotyczy dostępu wielu użytkowników/terminali do jednego systemu lub zasobu. Wielozadaniowość dotyczy wykonywania wielu zadań/aplikacji w ramach jednego systemu, a dodatkowo może mieć różne warianty (kooperatywny, wywłaszczający).
Wieloprogramowość oznacza, że w pamięci znajduje się wiele programów, a system tak przełącza pracę, by CPU nie był bezczynny (np. gdy proces czeka na dysk). Nie opisuje jednak mechanizmu "oddawania czasu przez aplikacje", więc nie jest synonimem kooperacji.
Gdy aplikacja długo nie oddaje sterowania (np. intensywna pętla obliczeń bez oczekiwania na zdarzenia). Wtedy inne programy nie dostają czasu CPU, więc interfejs może przestać reagować mimo braku awarii sprzętu.
Szukaj informacji o tym, kto inicjuje przełączenie. Sformułowania typu "podział czasu realizowany przez aplikacje", "program oddaje sterowanie" sugerują kooperację. Jeśli jest mowa o "odebraniu czasu przez system", "kwantach" i "priorytetach" – to wywłaszczanie.
Wywłaszczanie poprawia responsywność i stabilność: system może ograniczyć wpływ źle działającej aplikacji na całość. Ułatwia też realizację priorytetów, czasu rzeczywistego oraz sprawiedliwego przydziału CPU, bez polegania na "grzeczności" programów.
Najczęściej przydają się: procesy i wątki, planowanie CPU, przełączanie kontekstu, priorytety oraz różnice między pojęciami: wielozadaniowość, wieloprogramowość, wielodostępowość. Dobrze też znać skutki praktyczne dla stabilności systemu.
info

Statystycznie 48% uczniów zna prawidłową odpowiedź. trudne

Specjaliści zwracają uwagę: "Opis wskazuje na mechanizm, w którym przełączanie zadań następuje wtedy, gdy sama aplikacja odda sterowanie (np. przez wywołanie funkcji systemowej) – to jest wielozadaniowość kooperatywna."

Źródła:

  • Silberschatz, Galvin, Gagne, "Operating System Concepts" (rozdziały o planowaniu CPU i przełączaniu kontekstu), Wiley, wydania współczesne
  • Andrew S. Tanenbaum, Herbert Bos, "Modern Operating Systems" (sekcje o procesach, planowaniu oraz cooperative vs preemptive scheduling), Pearson, wydania współczesne
  • Microsoft Learn / Windows development documentation – hasło/omówienia dotyczące (historycznie) cooperative vs preemptive multitasking w kontekście systemów i planowania, https://learn.microsoft.com/ (dostęp 2026-02-28)

Materiały:

  • Podręcznik do systemów operacyjnych (procesy, planowanie CPU, wielozadaniowość)
  • Dokumentacja/rozdziały o planowaniu i przełączaniu kontekstu (context switch)
  • Notatki z kursu: porównanie cooperative vs preemptive multitasking

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego