Mikroinformatyka. Mechanizmy ochrony pamięci

Podobne dokumenty
Mikroinformatyka. Wielozadaniowość

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Mikroinformatyka. Tryb wirtualny

Schematy zarzadzania pamięcia

Sprzętowe wspomaganie pamięci wirtualnej

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

Zaawansowane Architektury Procesorów Część 1

Architektura komputerów

architektura komputerów w. 8 Zarządzanie pamięcią

WOJSKOWA AKADEMIA TECHNICZNA

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Materiały do wykładu. 7.Architekturax86. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski

Programowanie Niskopoziomowe

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Architektura komputera typu PC z procesorem IA-32

Architektura Systemów Komputerowych

Wybrane zagadnienia elektroniki współczesnej

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Działanie systemu operacyjnego

Programowanie w asemblerze Środowiska 64-bitowe

Organizacja typowego mikroprocesora

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie zasobami pamięci

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Prezentacja systemu RTLinux

1.1 Definicja procesu

Ćwiczenie 2 3. Tryb chroniony

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Programowanie niskopoziomowe

Mikroprocesor Operacje wejścia / wyjścia

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

PROGRAMY REZYDENTNE Terminate and State Resident, TSR

Architektura komputerów

Struktura systemów komputerowych

Struktura i działanie jednostki centralnej

Ćwiczenie nr 4. Zasady kodowania podprogramów

Materiały pomocnicze 1

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

organizacja procesora 8086

Programowanie mikroprocesorów jednoukładowych

Technika mikroprocesorowa I Wykład 2

Konfiguracja parametrów pozycjonowania GPS /5

Tryb rzeczywisty to tryb pracy mikroprocesorów z rodziny procesorów x86, w którym procesor pracuje tak jak procesor Intel 8086.

Procesory rodziny x86. Dariusz Chaberski

Hardware mikrokontrolera X51

Monitor maszyn wirtualnych

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

4. Procesy pojęcia podstawowe

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Budowa systemów komputerowych

Architektura mikrokontrolera MCS51

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Architektura mikrokontrolera MCS51

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

Wykład 7. Zarządzanie pamięcią

dr inż. Jarosław Forenc

2. Informacje o mechanizmie limitów

Programowanie Niskopoziomowe

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Systemy Operacyjne Pamięć wirtualna cz. 2


Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Systemy operacyjne III

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Wykład 12. Ochrona. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Organizacja pamięci wewnętrznej komputerów

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Zaawansowane Architektury Procesorów Część 2

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Od programu źródłowego do procesu

Systemy wejścia-wyjścia. wyjścia

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Programowanie w asemblerze Środowiska 64-bitowe

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

ARCHITEKTURA PROCESORA,

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne


Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Programowanie w językach asemblera i C

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) (96) Data i numer zgłoszenia patentu europejskiego:

4. Procesy pojęcia podstawowe

System operacyjny MACH

Transkrypt:

Mikroinformatyka Mechanizmy ochrony pamięci

Mechanizmy ochrony pamięci Ochrona na poziomie segmentów: - limit - typ segmentu - selektor zerowy - poziom uprzywilejowania Ochrona na poziomie stronicowania: - domena - typ strony

Ochrona na poziomie segmentów LIMIT Czy nie wystąpiło odwołanie do obszaru pamięci poza segmentem. Czy nie wystąpiło odwołanie poza tablicę deskryptorów. SELEKTOR ZEROWY Może być załadowany do rejestrów DS, ES, FS, GS. Próba załadowania selektora zerowego do CS lub SS #GP. Próba dostępu do pamięci przez rejestr załadowany selektorem zerowym #GP. POZIOM UPRZYWILEJOWANIA 0 jądro systemu, 1, 2 inne procedury systemowe, 3 aplikacje użytkownika.

Ochrona na poziomie segmentów TYP SEGMENTU Kontrola przypisania segmentu do rejestru. Do CS tylko segment kodu. Do DS, ES, FS, GS nie może być załadowany selektor segmentu kodu, który nie jest odczytywalny, lub selektor segmentu systemowego. Do SS musi być załadowany selektor segmentu zapisywalnego. Kontrola zawartości rejestru LDTR i Task. Do LDTR tylko segment zawiarający LDT. Do Task tylko segment zawierający TSS. Kontrola dostępu do pamięci po załadowaniu selektorów. Niemożliwy zapis do segmentu kodu. Niemożliwy zapis do segmentu niezapisywalnego. Niemożliwy odczyt z segmentu kodu jeśli nie jest ustawiony bit zezwolenia na odczyt.

Ochrona na poziomie segmentów TYP SEGMENTU Przy wykonywaniu instrukcji zawierającej selektor segmentu. Daleki skok JMP lub CALL może zawierać: - selektor segmentu kodu, - selektor bramki wywołania, - selektor bramki zadania, - selektor segmentu TSS. Przy operacjach wewnętrznych: Przy przełączaniu zadań docelowym segmentem musi być TSS. Przy skoku docelowym segmentem musi być segment kodu. Przy dalekim skoku JMP lub CALL procesor automatycznie rozpoznaje sposób wykonania skoku (skok bezpośredni, skok poprzez bramkę, przełączenie zadania).

Poziom uprzywilejowania CPL Current Priviledge Level Przechowywany w rejestrach CS i SS na bitach 0 i 1. Równy poziomowi uprzywilejowania segmentu kodu z którego wykonywane są aktualnie instrukcje. Zmieniany w momencie skoku do segmentu kodu o innym poziomie przywilejów. Nie zmieniany w momencie wywołania kodu w segmencie o równym lub wyższym poziomie przywilejów, ale z zezwoleniem na dostęp. Segment z zezwoleniem na dostęp conforming (ustawiony bit C conforming).

Poziom uprzywilejowania DPL Descriptor Priviledge Level Przechowywany w polu DPL w deskryptorze segmentu lub bramki. Dla segmentu danych minimalny poziom przywilejów jaki musi mieć proces by mógł się dostać do danych. Dla segmentu kodu nonconforming (nie poprzez bramkę) poziom przywilejów jaki musi mieć proces by mógł wywołać kod (równy ale nie większy!). Dla bramki wywołania najniższy poziom przywilejów jaki musi mieć proces by wywołać kod poprzez bramkę (tak jak dla danych). Dla segmentu kodu conforming i dla segmentu kodu conforming poprzez bramkę maksymalny poziom przywilejów jaki może mieć proces by wywołać kod (odwrotnie niż dla danych). Dla segmentu TSS najniższy poziom przywilejów jaki musi mieć proces by uzyskać dostęp do segmentu TSS (tak jak dla danych).

Poziom uprzywilejowania RPL Requested Priviledge Level Przechowywany w selektorze ładowanym do rejestru segmentowego. Porównywany z CPL kodu wywołującego pod uwagę brana jest liczba wyższa, określająca niższy poziom uprzywilejowania.

Dostęp do segmentu danych z różnych poziomów uprzywilejowania.

Dostęp do segmentu kodu z różnych poziomów uprzywilejowania.

Dostęp do kodu poprzez bramkę Sprawdzanych jest pięć parametrów: CPL procesu wywołującego. RPL selektora bramki. DPL deskryptora bramki wywołania. DPL deskryptora segmentu docelowego. Pole C deskryptora segmentu docelowego. Muszą być spełnione warunki: CPL procesu wywołującego <= DPL deskryptora bramki RPL selektora bramki <= DPL deskryptora bramki

Dostęp do kodu poprzez bramkę Dla segmentu niezgodnego (nonconforming): CALL można wywołać procedurę w segmencie o wyższym poziomie priorytetów, następuje przełączanie stosów DPL deskryptora segmentu docelowego <= CPL wywołującego JMP można przekazać sterowanie na identyczny poziom priorytetów DPL deskryptora segmentu docelowego = CPL wywołującego Dla segmentu zgodnego (conforming): JMP, CALL można użyć na ten sam lub wyższy poziom priorytetów, nie ma przełączania stosów DPL deskryptora segmentu docelowego <= CPL wywołującego RET można powrócić tylko do tak samo lub mniej uprzywilejowanego segmentu kodu.

Dostęp do segmentu kodu przy wywoływaniu poprzez bramkę

Ochrona na poziomie stronicowania DOMENA Użytkownik (U/S =1). Nadzorca (U/S =0). TYP STRONY Tylko do odczytu. Odczyt/zapis. REGUŁY: Nadzorca ma dostęp do odczytu wszystkich stron. Użytkownik nie ma dostępu do stron w których (U/S =0). Jeśli w rejestrze CR0 bit W/P = 0, nie ma ograniczeń zapisu dla Nadzorcy. Jeśli w rejestrze CR0 bit W/P = 1, Nadzorca nie ma prawa zapisu do stron, w których W/P = 0.