Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

co to jest pamiec kontekstowa?

26 Sty 2005 17:47 1254 1
  • Poziom 10  
    jak w temacie...
    czy ktos wie i pofrafi mi wytlumaczyc co to jest pamiec kontekstowa??
  • Pomocny post
    Poziom 34  
    http://hell.pl/agnus/slowniczek.html
    context storage -- pamięć kontekstowa - zapamiętywanie kontekstu.

    w systemach pamięć kontekstu to wyznaczony przez jądro fragment pamięci, w którym procesor przechowuje rejestry procesu, zawartość FPU (floating point unit - koprocesor - procesor arytmetyczny), rejestry segmentowe, itd.. tz wszystko co określa aktualny proces - kontekst..
    w procesorze istnieje po jednym każdym rejestrze (np 1xEax, 1xEbx itd..), a w systemie może istnieć wiele programów działających naraz (złudnie naraz, chyba że istnieje więcej niż 1 procesor), każdy proces ma swoje rejestry.. podczas przełączania kontekstu (procesor zmienia aktualny proces do wykonywania) aktualne rejestry są zapisywane do obszaru kontekstu, procesor albo jądro przechodzi do następnego obszaru pamięci kontekstu, ładuje rejestry innego procesu i przechodzi do wykonywania... w ten sposób osiąga sie wirtualne maszyny - proces "myśli" że posiada swoją pamięć, swój koprocesor itd, ale w rzeczywistości wszystkiego jest po jednym. na ogół kernel daje możliwości komunikwania się między zadaniami - procesami...
    przerwanie aktualnego procesu w trybie chronionym może nastąpić na kilka sposobów: przerwanie oznaczone jako task interrupt, dostęp do przestrzeni IO przez proces który niedziała w trybie jądra i niema uprawdnień do dostępu do IO (rejestr EFlag bity IOPL oznaczają minimalny poziom w systemie aby mieć bezpośredni dostęp do sprzętu, programy użytkowe mają DPL = 3 więc jeśli IOPL<3 to żądania są przekierowywane do kernela albo sterowników (vxd - wirtualne użądzenie) których DPL jest <=IOPL), wywołanie wyjątku takiego jak dzielenie przez 0, dostęp do strony pamięci która jest aktualnie na dysku (swap), dostęp do nieistniejącej pamięci itp.. przy wystąpieniu każdej z tych sytuacji aktualny kontekst procesu zapisywany jest do pamięci kontekstu...

    (Tyle sie dowiedziałem z kilku dokumentacji.. mam nadzieje że niema błędów..)