Skip to main content

Co to jest przełączanie kontekstowe?

Jeden z największych kroków do przodu w projektowaniu i działaniu centralnych jednostek przetwarzania (CPU) pojawił się, gdy projektanci komputerowych systemów operacyjnych opracowali techniki umożliwiające użytkownikom wielozadaniowość.Wielozadaniowość w odniesieniu do komputerów to praktyka uruchamiania dwóch lub więcej programów jednocześnie.Z punktu widzenia użytkownika końcowego może to nie wydawać się skomplikowane ani oddechowane, ale w rzeczywistości stanowi znaczny skok w projektowaniu systemu.Podczas wielozadaniowości procesor musi żonglować wszystkimi operacjami dla różnych aktywnych programów, rejestrując, gdzie jest z każdym programem, gdy użytkownik przełącza się między nimi.Przełączanie kontekstu to proces, który pozwala procesorom zapamiętać i przywrócić stany dla różnych aktywnych programów, umożliwiając mu ukończenie tej żonglowania.

Podczas przełączania kontekstu procesor zrzuca dowolny program, który obecnie obsługuje, przechowując konkretne miejsce, w którym był w tym programie, aby mógł później wznowić swoje postępy.Mówiąc inaczej, przełączanie kontekstowe przypomina jednocześnie czytanie wielu książek, ciągle przełączając się między nimi i zawsze pamiętając numery stron dla każdego z nich.Informacje o numerze strony dla programów podczas operacji przełączania kontekstu są przechowywane przez blok sterowania procesem (PCB).PCB jest również czasem określana jako przełącznik.Informacje te są przechowywane w pamięci w rzeczywistym procesorze, dopóki nie będzie to potrzebne.

Przełączanie kontekstowe odbywa się w trzech możliwych sytuacjach: przeglądanie przerwania, wielozadaniowość i przełączanie użytkowników.Podczas przetwarzania przerywania inny program przerywa obecny program podczas jego uruchomienia.Po otrzymaniu CPU przerwania wykonuje przełącznik kontekstowy, aby żonglować między programem działającym a programem żądającym natychmiastowych danych.Podczas wielozadaniowości CPU klapuje między programami, dając każdemu rozcięcie czasu przetwarzania i wykonując operację przełączania kontekstu w celu zmiany między nimi.W przypadku niektórych systemów operacyjnych przełącznik kontekstowy jest również wykonywany podczas przełącznika użytkownika systemu operacyjnego, chociaż nie jest to wyraźnie wymagane.

System operacyjny lub sprzęt komputerowy może sterować przełączaniem kontekstu.Niektóre nowoczesne systemy operacyjne i zostały zaprojektowane do kontrolowania przełączania kontekstu przez sam system operacyjny, ignorując wszelkie wbudowane obsługę sprzętu dla procedury.Umożliwia to systemowi operacyjnym zapisanie więcej informacji podczas przełącznika kontekstowego, umożliwiając mu zachowanie więcej informacji o przełączniku.