2008-11-18 11 views
14

Czytałem o atrybucie debuggerstepperboundary, a strona mówi, że jest przydatna w przełączeniu kontekstu.Co to jest przełącznik kontekstowy?

Czym dokładnie jest przełącznik kontekstowy? Zakładam, że jest to zmiana z jednego wątku na inny, lub w kontekście wykonania lub bezpieczeństwa? Jednak nie są to specjalnie wyedukowane przypuszczenia, więc proszę o to tutaj.

+0

Twoje pytanie jest interesujące, należy rozważyć dodanie większej tagi (systemy operacyjnego, jądro, procesy ...) i usunięcie znacznika C# od niego. –

Odpowiedz

7

Przełącznik kontekstowy to przełączanie procesora z jednego procesu/wątku na inny proces/wątek.

Ludzie czasami używają terminu przełączanie kontekstu poza określonym światem komputera, aby odzwierciedlić to, co robią w swoim życiu. "Jeśli mam odpowiedzieć na to pytanie, muszę zmienić kontekst z myślenia o A na myślenie o B".

Wikipedia

4

Zazwyczaj odnosi się do przełączania wątków lub procesów. Wikipedia ma bardziej szczegółowy opis.

1

Jest to proces przełączania procesów na procesorze.

17

Przełącznik kontekstu (nazywany czasem przełącznikiem procesu lub przełącznikiem zadania) to przełączanie procesora (jednostki centralnej) z jednego procesu lub wątku na inny.

Przełączanie kontekstu można opisać nieco bardziej szczegółowo jako jądro (tj. Rdzeń systemu operacyjnego) wykonujące następujące czynności w odniesieniu do procesów (w tym wątków) w procesorze: (1) zawieszenie postępu jednego przetwarzanie i przechowywanie stanu procesora (tj. kontekstu) dla tego procesu gdzieś w pamięci, (2) odzyskiwanie kontekstu następnego procesu z pamięci i przywracanie go w rejestrach procesora oraz (3) powrót do lokalizacji wskazanej przez program licznik (tj. powrót do linii kodu, przy której proces został przerwany) w celu wznowienia procesu.

Przełącznik kontekstu jest czasami opisywany jako kernel zawieszający wykonanie jednego procesu na procesorze i wznawia wykonanie innego procesu, który wcześniej został zawieszony. Chociaż to sformułowanie może pomóc w wyjaśnieniu pojęcia, może być mylące samo w sobie, ponieważ proces jest z definicji wykonawczą instancją programu. Dlatego też preferowane może być sformułowanie zawieszające postęp procesu.