Tryby CPU - CPU modes

Tryby CPU (zwane również tryby procesor, stany CPU poziomami uprawnień CPU i inne nazwy) są tryby operacyjne do centralnej jednostki przetwarzania niektórych architektur komputerowych , które nakładają ograniczenia dotyczące rodzaju i zakresu działalności, która może być wykonywana przez niektórych procesów prowadzonych przez CPU. Taka konstrukcja pozwala na system operacyjny do uruchomienia z więcej przywilejów niż oprogramowania aplikacyjnego .

Idealnie, tylko bardzo zaufanym jądra kod może wykonać w trybie nieograniczonego; wszystko inne (w tym części bez nadzoru systemu operacyjnego) działa w trybie chronionym i musi korzystać z funkcji systemowej , aby zlecić jądro wykonywania w jego imieniu każdej operacji, które mogłyby uszkodzić lub naruszenia integralności systemu, uniemożliwiając programy niezaufane zmieniać uszkodzenie lub inne programy (lub sam system komputerowy).

W praktyce jednak, wywołania systemowe wymagają czasu i mogą zranić wydajności systemu komputerowego, więc to nie jest niczym niezwykłym dla projektantów systemów, aby umożliwić jakiś czas krytyczny oprogramowania (zwłaszcza sterowniki urządzeń ), aby uruchomić z pełnymi uprawnieniami jądra.

Wiele trybów mogą być realizowane, umożliwiając hypervisor do uruchamiania wielu systemów operacyjnych nadzoru pod nią, która jest podstawowa konstrukcja z wielu maszyn wirtualnych systemów dostępnych na rynku.

rodzaje trybu

Tryb nieograniczony jest często nazywany trybu jądra, ale istnieje wiele innych nazw ( tryb Master , tryb nadzorcy , tryb uprzywilejowany , itd.). Ograniczone tryby są zazwyczaj określane jako trybów użytkownika, ale znane są również przez wiele innych nazw ( tryb slave, państwowych problemem, itp).

W trybie jądra, procesor może wykonywać żadnych operacji dozwolonych przez jego architektury; jakichkolwiek poleceń mogą być wykonywane, każda operacja We / Wy zainicjowana każdy obszar pamięci dostępny, i tak dalej. W innych trybach CPU, pewne ograniczenia dotyczące operacji procesora są egzekwowane przez sprzęt. Zazwyczaj pewne instrukcje nie są dozwolone (szczególnie tych, w tym operacji I / O-które mogłyby zmienić stan globalnej maszyny), niektóre obszary pamięci nie można uzyskać dostępu, możliwości itd. User-mode CPU są zwykle podzbiór tych dostępny w trybie jądra, ale w niektórych przypadkach, takich jak emulacji sprzętowej nierodzimymi architektur, mogą być znacząco różne od tych, które dostępne są w standardowym trybie jądra.

Niektóre architektury CPU obsługuje wiele trybów użytkownika, często z hierarchii przywilejów. Architektury te są często mówi się, że bezpieczeństwo dzwonka oparte którym hierarchia przywilejów podobny zestaw koncentrycznych pierścieni, w trybie jądra w środku. Multics sprzętu była pierwsza znacząca realizacja zabezpieczenia pierścienia, ale wiele innych platform sprzętowych zostały zaprojektowane w podobny sposób, w tym Intel 80286 trybie chronionym i IA-64 , a także, choć jest określany przez inną nazwą w tych przypadkach ,

Ochrona tryb może przedłużyć się do zasobów poza sprzętem samego procesora. Rejestry sprzętowe śledzić aktualny tryb pracy CPU, ale dodatkowych wirtualnych pamięci rejestrów tablicy stron wpisy oraz inne dane mogą śledzić identyfikatory tryb dla innych zasobów. Na przykład, procesor może działać na pierścień 0 wskazanych przez słowo statusu w samego CPU, lecz uzyskano dostęp do pamięci może być dodatkowo potwierdzone w oddzielnej liczby pierścieniem segmentu pamięci wirtualnej, będącej celem dostępu i / lub przeciwko wielu pierścieniem strony fizycznej (jeżeli występuje) są ukierunkowane. Wykazano to w systemie ręcznym PSP.

Sprzęt, który wspiera wymagania wirtualizacji Popek i Goldberg sprawia, że pisanie oprogramowania skutecznie obsługiwać maszynę wirtualną znacznie prostsze. Taki system może uruchomić oprogramowanie, które „uważa”, że pracuje w trybie administratora, ale faktycznie działa w trybie użytkownika.

Referencje