Mikroinformatyka. Wielozadaniowość

Podobne dokumenty
Mikroinformatyka. Mechanizmy ochrony pamięci

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

Mikroinformatyka. Tryb wirtualny

Schematy zarzadzania pamięcia

Zaawansowane Architektury Procesorów Część 1

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

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

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

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

Sprzętowe wspomaganie pamięci wirtualnej

Programowanie Niskopoziomowe

Architektura komputerów

Architektura komputerów

Architektura komputera typu PC z procesorem IA-32

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

Organizacja typowego mikroprocesora

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

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

Zarządzanie zasobami pamięci

Wybrane zagadnienia elektroniki współczesnej

Programowanie w asemblerze Środowiska 64-bitowe

organizacja procesora 8086

WOJSKOWA AKADEMIA TECHNICZNA

Architektura Systemów Komputerowych

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 WYKLAD 4 - zarządzanie pamięcią

Działanie systemu operacyjnego

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

dr inż. Jarosław Forenc

Kompilator języka C na procesor 8051 RC51 implementacja

Zarządzanie pamięcią w systemie operacyjnym

4. Procesy pojęcia podstawowe

Programowanie Niskopoziomowe

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

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

Zarządzanie pamięcią operacyjną

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

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

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

Struktura i działanie jednostki centralnej

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Technika mikroprocesorowa I Wykład 2

Architektura komputerów. Asembler procesorów rodziny x86

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Budowa systemów komputerowych

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

Architektura komputerów

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Stronicowanie w systemie pamięci wirtualnej

Ćwiczenie 2 3. Tryb chroniony

4. Procesy pojęcia podstawowe

Prezentacja systemu RTLinux

PROGRAMY REZYDENTNE Terminate and State Resident, TSR

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

Ćwiczenie nr 4. Zasady kodowania podprogramów

Architektura komputerów

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

Adam Kotynia, Łukasz Kowalczyk

Procesory rodziny x86. Dariusz Chaberski

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

Wstęp. do języka C na procesor (kompilator RC51)

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

INSTRUKCJA OBSŁUGI. Rys.1. Wyświetlacz. Rys.2. Klawiatura

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

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

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

4. Procesy pojęcia podstawowe

Programowanie w asemblerze Środowiska 64-bitowe

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

1.1 Definicja procesu

Programowanie niskopoziomowe

Mikroprocesor Operacje wejścia / wyjścia

kiedy znowu uzyska sterowanie, to podejmuje obliczenie od miejsca, w którym poprzednio przerwała, i z dotychczasowymi wartościami zmiennych,

Architektura systemu komputerowego

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Lista instrukcji mikroprocesora Programowanie w assemblerze

Systemy Operacyjne Pamięć wirtualna cz. 2

Sprzęt i architektura komputerów

ARCHITEKTURA PROCESORA,

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Metody obsługi zdarzeń

Systemy operacyjne III

architektura komputerów w 1 1

Przerwania w architekturze mikrokontrolera X51

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Transkrypt:

Mikroinformatyka Wielozadaniowość

Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment danych (kilka), - segment stosu (dla każdego poziomu). Selektor segmentu TSS identyfikuje zadanie. Przy uruchamianiu lub zmianie zadania: - selektor TSS ładowany do TR, - jeśli włączone stronicowanie uaktualniany jest PDBR (CR3).

Stan rejestru zadania TR. Elementy dynamiczne w TSS: Stan zadania Przestrzeń zadania selektory CS, DS, ES, FS, GS, SS. Stan rejestrów ogólnego przeznaczenia. Stan rejestru znaczników. Stan wskaźnika rozkazów. Łącze do poprzedniego zadania jego selektor TSS. Elementy statyczne w TSS: Stan rejestru CR3. Stan rejestru LDTR. Adres bazowy mapy I/O. Mapa I/O. Wskaźnik stosu dla poziomów uprzywilejowania 0, 1 i 2. Pułapka uruchomieniowa bit T.

Segment Stanu Zadania TSS

Wywołanie zadania Wywołanie: Skok JMP. Wywołanie podprogramu CALL. Przerwanie INT. Wyjątek. Powrót z przerwania IRET (przy ustawionym znaczniku NT). Identyfikacja zadania selektor bramki zadania lub TSS. Przerwania i wyjątki bramka z selektorem zadania w IDT. Przełączanie zadań: Zachowanie stanu aktualnie wykonywanego zadania uaktualniane dynamiczne pola TSS. Zawieszenie zadania. Załadowanie kontekstu uruchamianego zadania z TSS. Zadania nie mogą być wywoływane rekursywnie.

Deskryptor segmentu TSS Przechowywane wyłącznie w GDT. Gdy G=0, rozmiar >= 67h. DPL powinien być < 3 (tylko system może przełączać zadania). Jedno zadanie jeden segment TSS i jeden deskryptor TSS. B znacznik zajętości zadania: - CALL lub INT pozostawia B, - JMP lub IRET zeruje B.

Selektor TSS Operacje na selektorze TSS Instrukcja LTR - ładowanie selektora TSS do TR (poziom 0). Instrukcja STR - zapisanie selektora TSS z TR do pamięci. TR ma część widoczną selektor i niewidoczną deskryptor. Deskryptor ładowany automatycznie. Błędy przy operacjach na selektorze i deskryptorze TSS: Próba załadowania selektora TSS do rejestru segmentowego - #GP. Wybór LDT przy JMP lub CALL - #GP. Wybór LDT przy IRET - #TS (Invalid TSS). Przełączenie do segmentu, którego LIMIT < 67h - #TS.

Deskryptor bramki zadania Może być umieszczony w GDT, LDT, IDT. Jedno zadanie może mieć wiele bramek na różnych poziomach. Zawiera selektor deskryptora segmentu TSS w tablicy GDT. CPL procesu wywołującego oraz RPL selektora wskazującego bramkę musi być mniejsze lub równe polu DPL deskryptora bramki. Nie jest brany pod uwagę DPL w deskryptorze segmentu TSS wywoływanego zadania.

Przełączanie zadań Pzełączanie zadań (Task Switching) zachodzi w następujących przypadkach: CALL lub JMP z selektorem TSS w tablicy GDT. CALL lub JMP z selektorem bramki w GDT lub LDT. Przerwanie lub wyjątek z selektorem bramki w IDT. Powrót z zagnieżdżonego zadania (NT=1) przez IRET.

Przełączanie zadań Kroki przy przełączaniu zadań: 1. Pobranie selektora segmentu TSS z: - argumentu instrukcji JMP lub CALL, - selektora w bramce wskazywanej przez JMP lub CALL, - pola poprzedniego zadania z aktualnego TSS przy IRET. 2. Sprawdzenie poprawności przełączenia: - JMP i CALL sprawdzenie przywilejów (jak dla danych aktualny CPL i RPL <= DPL nowego TSS lub bramki), - INT n sprawdzany jest DPL, - przerwania sprzętowe, wyjątki, IRET nie sprawdzane przywileje. 3. Sprawdzenie deskryptora TSS: - rozmiar TSS (LIMIT >=67h), - czy jest zaznaczony jako obecny (P).

Przełączanie zadań 4. Sprawdzenie znacznika BUSY: - 0 dla JMP lub CALL, przerwania i wyjątku, - 1 dla IRET. 5. Sprawdzenie czy aktualny TSS, nowy TSS i wszystkie deskryptory są w pamięci. 6. Znacznik B w aktualnym deskryptorze TSS: - jest zarowany przy JMP lub IRET, - ustawiany przy CALL, przerwaniu i wyjątku. 7. Znacznik NT w zachowywanym EFLAGS: - zerowany przy IRET, - nie zmieniany przy CALL, JMP, przerwaniu i wyjątku. 8. Zachowanie stanu zadania w jego segmencie TSS wskazywanym przez TR.

Przełączanie zadań 9. Jeśli przełączenie było wywołanie: - CALL, przerwaniem lub wyjątkiem znacznik NT zostaje ustawiony w EFLAGS załadowanym dla nowego zadania, - JMP lub IRET NT pozostaje niezmienione. 10. Jeśli przełączenie było wywołanie: - JMP, CALL, przerwaniem lub wyjątkiem znacznik B w deskryptorze TSS zostaje ustawiony, - IRET nie zmienia B. 11. Ładuje TR selektorem nowego segmentu TSS. 12. Stan z TSS nowego zadania jest ładowany do procesora. 13. Załadowanie deskryptorów segmentów nowego zadania. 14. Uruchomienie nowego zadania.

Przełączanie zadań Błędy na etapach 1 11: Pozostanie przy poprzednim zadaniu. Błędy na etapach 13 14: Wyjątek w kontekście nowego zadania. Błąd na etapie punktu 12 (przeładowanie rejestrów): Błąd krytyczny bez możliwości obsługi.