Pojęcia związane z SO. Przerwania w systemie komputerowym презентация

Содержание

Pojęcia związane z SO Komunikacja z systemem operacyjnym Odwołania do jądra systemu przez system przerwań lub specjalne instrukcje (przerwanie programowe) Sprzętowa ochrona pamięci Dualny tryb pracy — tryb użytkownika (ang. user

Слайд 1Kartkówka
Przedstaw model systemu komputerowego Andrew Tanenbauma
Z którą generacją komputerów związane jest

pojęcie „BUG”? W jakim komputerze znaleziono pierwszy „bug” komputerowy?
Na czym polega superskalarność, na czym polega hiperwątkowość
Wymień znane Ci osiągnięcia (nazwa/data/parametry) dotyczące rozwoju techniki komputerowej w Polsce


Слайд 2Pojęcia związane z SO
Komunikacja z systemem operacyjnym
Odwołania do jądra systemu przez

system przerwań lub specjalne instrukcje (przerwanie programowe)
Sprzętowa ochrona pamięci
Dualny tryb pracy — tryb użytkownika (ang. user mode) i tryb systemowy (tryb jądra, ang. system mode)
Wyróżnienie instrukcji uprzywilejowanych, wykonywanych tylko w trybie systemowy
Uprzywilejowanie instrukcji wejścia-wyjścia
Przerwanie zegarowe

Слайд 3Przerwania w systemie komputerowym
Przerwanie jest reakcją na asynchroniczne zdarzenie, polegającą na

automatycznym zapamiętaniu bieżącego stanu procesora w celu późniejszego odtworzenia oraz przekazaniu sterowania do ustalonej procedury obsługi przerwania.
System przerwań umożliwia niesekwencyjne (współbieżne) wykonywanie programów.
Zmiana sekwencji wykonywania instrukcji polega na tym, że w reakcji na przerwanie następuje zapamiętanie bieżącego stanu przetwarzania (najważniejszych rejestrów procesora), przekazanie sterowania do ustalonej procedury obsługi i rozpoczęcie wykonywania instrukcji tej procedury.

Слайд 4Źródła przerwań
Przerwania
a) zewnętrzne — sygnał przerwania pochodzi z zewnętrznego układu

obsługującego przerwania sprzętowe; przerwania te służą do komunikacji z urządzeniami zewnętrznymi, np. z klawiaturą, napędami dysków itp.
b) wewnętrzne, nazywane wyjątkami (ang. exceptions) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy:

Слайд 5Źródła przerwań
faults (niepowodzenie) – sytuacje, w których aktualnie wykonywana instrukcja powoduje

błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje tę samą instrukcję która wywołała wyjątek;
traps (pułapki) – sytuacja, która nie jest błędem, jej wystąpienie ma na celu wykonanie określonego kodu; wykorzystywane przede wszystkim w debugerach; gdy procesor powraca do wykonywania przerwanego kodu, wykonuje następną, po tej która wywołała wyjątek, instrukcję;
aborts (nienaprawialne) – błędy, których nie można naprawić.


Przerwania programowe — wykonanie specjalnej instrukcji
Przerwania diagnostyczne — pułapki, błędy programowe i sprzętowe

Слайд 6Źródła przerwań
Przerwania programowe — wykonanie specjalnej instrukcji
z kodu programu wywoływana jest

procedura obsługi przerwania; najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania (np. w DOS 21h, 2fh, Windows 2fh, Linux x86 przerwanie 80h) umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący lub oprogramowaniem wbudowanym jak procedury BIOS lub firmware.
Przerwania diagnostyczne — pułapki, błędy programowe i sprzętowe

Слайд 7Przerwanie zegarowe
Przerwanie zegarowe generowane jest przez czasomierz (ang. timer) po wyznaczonym

okresie czasu.
Obsługa przerwania zegarowego oznacza przekazanie sterowania do jądra systemu operacyjnego, umożliwiając w ten sposób wykonanie pewnych zdań okresowych.

Слайд 8Zasady ochrony pamięci
W wyniku wykonywania programu następuje odwołanie do komórek pamięci

o określonych adresach
Dostępne obszary pamięci opisane są przez dwa parametry: bazę (ang. base) i granicę (ang. limit)

Слайд 9Dualny tryb pracy procesora - Teoria
Sprzęt (procesor) musi udostępniać co najmniej

dwa podstawowe tryby pracy:
Tryb użytkownika (user mode)
Tryb nadzorcy, monitora (supervisor mode), uprzywilejowany
Sprzęt posiada przełącznik bitowy: monitor (1), użytkownik (0).
Instrukcje uprzywilejowane mogą być uruchamiane tylko w trybie monitora (nadzorcy).

Слайд 10Tryb Chroniony / Rzeczywisty
Mikroprocesor(y) Intela potrafią pracować w trybie
Chronionym – z

zabezpieczeniami
Rzeczywistym – bez zabezpieczeń
Wirtualny - (specjalny tryb pracy procesorów o architekturze IA-32, dostępny w trybie chronionym, który umożliwia uruchamianie programów przeznaczonych dla trybu rzeczywistego)
Tryb chroniony (ang. protected mode)
To tryb pracy mikroprocesorów serii x86 wprowadzony w mikroprocesorze Intel 80286. Tryb chroniony umożliwia adresowanie pamięci w większym zakresie niż 1 MiB (tryb rzeczywisty), wprowadza udogodnienia wspierające wielozadaniowość,

Слайд 11Tryb Chroniony / Rzeczywisty
W trybie chronionym:
ochrona zasobów komputera (przerwania, porty)
ochrona pamięci

(I/O permission bitmaps) oraz pamięć wirtualna (stronicowanie)
wywłaszczanie procesów (wielozadaniowość, dzięki wsparciu przełączania kontekstu)
Po uruchomieniu komputera w architekturze intel’a procesor znajduje się w trybie rzeczywistym. Dopiero system operacyjny przełącza procesor do trybu chronionego.

Слайд 12Składniki Systemu Operacyjnego
System plików (lub kilka systemów) pozwalający logicznie organizować pliki.
Podstawowy

interfejs użytkownika:
CLI – command line interface lub
GUI – graphical user interface.
Centralną częścią systemu jest JĄDRO (kernel) odpowiedzialne za przydzielanie oraz synchronizację wykorzystania zasobów między uruchomionymi procesami.
Warstwa techniczna kontrolująca urządzenia za pomocą sterowników.

Слайд 13Podstawowy interfejs użytkownika: Powłoki i Interpretery
Wszystkie współczesne SO udostępniają interfejs graficzny (GUI,

Graphical User Interface), który umożliwia wykonanie większości zadań.
Większość, czyli tylko te przewidziane przez programistów.
Każdy współczesny system posiada również powłokę tekstową udostępniającą większą wolność dla administratorów.
W powłokach możemy 'wygodnie' automatyzować zadania za pomocą skryptów lub plików wsadowych.
Wiele badań nad użytecznością wskazuje, że praca w trybie tekstowym JEST BARDZIEJ EFEKTYWNA!
„Użyteczność” rozróżnia trzy zasadnicze kategorie użytkowników:
początkujących – najlepszy GUI
zaawansowanych – najlepsze połączenie GUI + tryb tekstowy
ekspertów – najlepszy tryb tekstowy

Слайд 14GUI nie jest częścią SO!!!
Interfejs graficzny nie jest ani systemem operacyjnym,

ani jego integralną częścią!
Systemy z rodziny MS Windows a zwłaszcza Windows NT 3.5 oraz Mac OS, które posiadały praktycznie wyłącznie interfejs graficzny rozpropagowały ten pogląd. Jednym z głównych celów tych systemów była prostota obsługi.
System Operacyjny: zarządza zasobami i jest funkcjonalny dla użytkownika.
SO może posiadać wiele różnych interfejsów użytkownika i przede wszystkim nie koniecznie pochodzących od jedynego „właściwego“ dostawcy oprogramowania.
Najlepszym przykładem jest Linux:
KDE, Gnome, XFCE, fvwm, twm, tryb tekstowy, i wiele innych.

Слайд 15Co uruchamia i czym zarządza SO?
1. Programy dla użytkowników.
przetwarzanie interaktywne -

wymaga ingerencji w trakcie wykonywania zadania, architektura oparta na zdarzeniach (GUI), urządzenia wejścia-wyjścia,
przetwarzanie wsadowe – wymaga jedynie parametrów startowych (wykorzystywane przy przetwarzaniu potokowym), podawanych zazwyczaj jako argumenty linii komend, poprzez tekstowe pliki konfiguracyjne lub poprze tekstowe strumienie danych
2. Serwisy (homonimy: demony, usługi) dla lokalnych lub zdalnych użytkowników, oraz inne usługi pozwalające tworzyć rozproszone architektury.

Ponieważ SO zarządza zasobami, wszystkie do nich odwołania powinny odbywać się za jego pośrednictwem.

Слайд 16Gdzie jest przechowywany SO?
Dyskietka (MsDOS), lub CD/DVD
Twardy dysk
Pamięć nieulotna (ROM, EPROM)
Live-CD

(pionier: Knoppix)
Dysk Twardy + Pamięć Nieulotna (stary MacOS)
Pamięć USB (Pendrive)
Terminal sieciowy (X Window, Terminal Server)
Start bezdyskowy

Слайд 17Bezpieczeństwo!
Rozwój komputerów osobistych wyprzedził o kilka lat rozwój sieci. Pierwsze systemy

operacyjne zupełnie zignorowały problem bezpieczeństwa: DOS, Windows (3.x, 95/98/Milenium), Amiga-OS, MacIntosh.
No limits
Unix oraz Windows NT były projektowane z uwzględnieniem wielu użytkowników oraz sieci komputerowej.
Bezpieczeństwo bezwzględne jest nieosiągalnym ideałem i w rzeczywistości jest rozważane w kategoriach poziomu ryzyka.

Слайд 18Poziomy Uprawnień Użytkowników
Konto uprzywilejowane:
Unix: root (ma automatycznie dostęp do absolutnie wszystkiego)
Windows:

Administrator (musi mieć udostępnione prawo do danego obiektu, całe szczęście Administrator może udostępniać prawa do absolutnie wszystkich obiektów)
Konta uprzywilejowane NIGDY nie powinny być używane podczas normalnej pracy użytkownika.
W Windows Vista Microsoft wprowadził technologię UAC – User Account Control, aby zmniejszyć liczbę programów wymagających uprawnień administratora.
Aspekty socjologiczne.

Liczba programów wymagających uprawnień administratora:


Слайд 19Architektury SO
Jednolita (monolityczna)
Warstwowa
Klient-Serwer
Hybrydowa


Слайд 20Architektura Jednolita


Слайд 21Architektura Warstwowa


Слайд 22Architektura Warstwowa – unix


Слайд 23Architektura Klient-serwer


Слайд 24Architektura Hybrydowa
Stanowi połączenie architektury jednolitej z architekturą typu klient-serwer
(z mikrojądrem).

Architektura systemu Windows NT.

Слайд 25Procesy
Proces jest elementarną jednostką pracy (aktywności) zarządzaną przez system operacyjny, która

ubiega się o zasoby systemu komputerowego w celu wykonania programu.
Proces – jest to program w trakcie wykonywania, który do wykonania określonego zadania potrzebuje pewnych zasobów: procesor, pamięć, pliki, urządzenia wejścia-wyjścia (klawiatura, ekran, skaner, karta sieciowa, port szeregowy lub równoległy itp.)
Synonimami procesu, które są stosowane w literaturze są: praca (job) lub zadanie (task).
Zadanie – odnosi sie zazwyczaj do systemów wsadowych, w danej chwili może być wykonywane tylko jedno,
Praca - systemy z podziałem czasu (czas wykorzystania zasobów w tym procesora) jest dzielony na wiele prac (multitasking).

Слайд 26Definicje: elementy składowe procesu
program — definiuje zachowanie procesu, („Proces jest czymś

więcej niż samym kodem programu (sekcją tekstu - text section)“).
Program jest obiektem pasywnym, natomiast proces jest obiektem aktywnym.
dane — zbiór wartości przetwarzanych oraz wyniki,
stos procesu (przechowuje dane tymczasowe).
sterta - Sekcja danych (zawiera zmienne globalne).
zbiór zasobów tworzących środowisko wykonawcze, (np. zawartość rejestrów procesora, kontekst procesora)
blok kontrolny procesu (PCB, deskryptor) — opis
bieżąca czynność reprezentowana przez wartość licznika rozkazów. (rejestr PC – program counter).

Слайд 27Definicje: Blok kontrolny procesu
Struktura przechowująca informację o procesie.
Blok kontrolny procesu przechowuje

następujące informacje:
Stan procesu
Licznik rozkazów (pozycja aktualnie wykonywanej instrukcji)
Rejestry procesora (akumulatory, rejestry indeksowe, wskaźniki stosu) Informacje o planowaniu przydziału procesora (np. priorytet procesu)
Informacje o zarządzaniu pamięcią (rejestry graniczne, tablice stron, lub tablice segmentów)
Informacje do rozliczeń (ilość zużytego procesora i czasu rzeczywistego, ograniczenia czasowe, numery kont, numery zadań, numery procesów)
Informacje o stanie wejścia-wyjścia

Слайд 28Definicje: Stan procesu


Слайд 29Definicje: Operacje na procesach
Każdy system operacyjny udostępnia następujące podstawowe operacje:
Załadowanie, wykonanie
Zakończenie,

zaniechanie
Utworzenie procesu, zakończenie
Pobranie atrybutów, określenie atrybutów,
Czekanie czasowe, (np. CTRL+D – czyli zawieszenie)
Oczekiwanie na zdarzenie,
Przydział i zwolnienie pamięci

Слайд 30Zarządzanie procesami
System operacyjny zarządza procesami szeregując je w odpowiednich kolejkach procesów.
System

zarządza kolejnością procesów w kolejkach.

Слайд 31Planowanie przydziału procesora -Planiści
Planista - Algorytm szeregowania (ang. scheduler - planista)

to algorytm rozwiązujący jedno z najważniejszych zagadnień informatyki - jak rozdzielić czas procesora i dostęp do innych zasobów pomiędzy zadania, które w praktyce zwykle o te zasoby konkurują.
Planista zajmuje się przenoszeniem procesów między kolejkami oraz szereguje procesy w samych kolejkach.

Слайд 32Planowanie przydziału procesora -Planiści
Planiści przykładowi:
Planista długoterminowy (ang. long term scheduler)
Planista krótkoterminowy

(ang. short term scheduler)
Kryteria planowania: wykorzystanie procesora, przepustowość, czas cyklu przetwarzania, czas oczekiwania, czas odpowiedzi
Przykładowe algorytmy planowania:
Pierwszy zgłoszony pierwszy obsłużony (FCFS – first come first serve)
Najpierw najkrótsze zadanie (SJF - Shortest Job First)
Planowanie priorytetowe
Planowanie rotacyjne (RR – round-robin)

Слайд 33Planiści w szczegółach
Planista krótkoterminowy, planista przydziału procesora (ang. CPU scheduler) —

zajmuje się wyborem procesu z kolejki procesów gotowych, dla którego ma być przydzielony aktualnie procesor.
Planista średnioterminowy (ang. medium-term scheduler) — zajmuje się wymianą procesów pomiędzy pamięcią główną a pamięcią zewnętrzną (np. Dyskiem). Wykorzystywany we wszystkich systemach z pamięcią wirtualną.
Planista długoterminowy, planista zadań (ang. long-term scheduler, job scheduler) — zajmuje się ładowaniem nowych programów do pamięci i kontrolą liczby zadań w systemie oraz ich odpowiednim doborem w celu zrównoważenia wykorzystania zasobów.

Слайд 34Planiści: Definicje
Kwant czasu - minimalny przedział czasu, który jest wyznaczany przerwaniem

zegara, ang. timer)
Opóźnienie ekspedycji (dispatch latency) – czas od momentu zgłoszenia do momentu rozpoczęcia wykonywania zadania.
Czas oczekiwania – całkowity czas od momentu zgłoszenia, do momentu zakończenia procesu NIE użytkowany przez dany proces.
Czas wykonania zadania – całkowity czas od momentu zgłoszenia zadania do jego zakończenia.

Слайд 35Pierwszy zgłoszony pierwszy obsłużony
Załóżmy że procesy P1, P2, P3, nadejdą (zostanie

zgłoszone żądanie wykonania) w tym samym momencie (czyli w tej samej chwili) w kolejności P1,P2,P3.
Załóżmy niezbędny czas użycia procesora dla procesów:
P1 - 24 [kwanty czasu], P2 – 3 [kwanty czasu], P3 – 3 [kwanty czasu]

Слайд 36Najpierw najkrótsze zadanie
Załóżmy cztery procesy o czasach użycia procesora w kwantach

czasu: P1 – 6, P2 – 8, P3 – 7, P4 - 3

Слайд 37Planowanie priorytetowe
Sam algorytm nie ma dużego wpływu na średni czas oczekiwania,

ale odpowiedni dobór priorytetów pozwala osiągnąć odpowiedni wynik. Załóżmy następujący przypadek procesów: Proces Czas trwania Priorytet P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2

Слайд 38Planowanie rotacyjne (RR - round-robin)
Planowanie „sprawiedliwe” z wywłaszczaniem. Wymaga specjalnej architektury

sprzętowej. Wykorzystywane we wszystkich współczesnych systemach wielozadaniowych, oczywiście z pewnymi modyfikacjami (Gang Scheduling).
Dla ustalonego kwantu czasu: 4ms, oraz dla założonych procesów: P1 – 24, P2 - 3, P3 - 3
Planowanie tylko dla systemów z podziałem czasu! (Wymagane jest wywłaszczanie.)

Слайд 39Wątek Definicja
Wątek (ang. thread) - jest innym rodzajem procesu, wykonywanego współbieżnie

w obrębie jednego zadania (programu). W jednym procesie może być wiele wątków.
Wątki tego samego procesu korzystają ze wspólnego kodu i danych, mają jednak oddzielne stosy.
W systemach wieloprocesorowych, a także w systemach z wywłaszczaniem, wątki mogą być wykonywane równocześnie (współbieżnie). Równoczesny dostęp do wspólnych danych grozi jednak utratą spójności danych i w konsekwencji błędem działania programu.
Do zapobiegania takim sytuacjom wykorzystuje się mechanizmy synchronizacji wątków: semafory, muteksy, sekcje krytyczne.

Слайд 40Wątki
Wątek (inaczej zwany procesem lekkim) jest to jednostka wykorzystania procesora w

skład której wchodzą:
własny licznik rozkazów,
własny zbiór rejestrów,
własny obszar stosu.
Wątki uruchamiane są w ramach jednego procesu oraz współużytkują:
sekcję kodu,
sekcję danych,
zasoby systemu
Poziom na którym następuje zarządzanie wątkami:
Wątki ma poziomie jądra systemu operacyjnego
Wątki zewnętrzne, (w zewnętrznych bibliotekach)

Слайд 41Wątki w SO Solaris
Trzywarstwowa struktura:
wątki użytkownika
procesy lekkie
wątki poziomu jądra


Слайд 42Przykład tworzenia procesu w SO Unix
W unix tworzenie procesów jest efektywne

i mało kosztowne obliczeniowo.

#include
void main()
{
int fork_return;
int count = 0;
fork_return = fork();
system("ps");
if( fork_return > 0)
{
printf("Utworzylem proces potomny o pid=%d.\n",
fork_return);
}
else
{
sleep(200);
printf(“Jestem procesem potomnym.\n”);
}
}

Funkcja tworząca
kopię procesu macierzystego.


Слайд 43Tworzenie procesu w SO Windows
W Windows tworzenie procesów jest kosztowne czasowo,
dlatego

bardzo intensywnie wykorzystywane są wątki.

#include
#include

void main( VOID )
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );

// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line).
TEXT("MyChildProcess"), // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
{
printf( "CreateProcess failed (%d).\n", GetLastError() );
return;
}
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}


Слайд 44Synchronizacja zadań - Problem ucztujących filozofów
Problem ucztujących filozofów (znany też jako

problem pięciu filozofów) to informatyczny problem synchronizacji, przedstawiony przez E. Dijkstrę w 1965 roku, o następującej treści:
Przy okrągłym stole siedzi pięciu filozofów. Na stole, przed każdym z ucztujących, znajduje się talerz oraz pomiędzy każdymi dwoma sąsiadami - widelec. Oprócz tego na środku stołu znajduje się miska z makaronem (różne wersje tego problemu mówią o rybie lub ryżu i pałeczkach). Aby przystąpić do konsumpcji makaronu filozof musi zaopatrzyć się w dwa, dobierane pojedynczo, widelce. Po spożyciu pokarmu filozof odkłada oba widelce i oddaje się własnym rozważaniom, aż do czasu gdy ponownie zgłodnieje. Problem polega na opracowaniu takiego algorytmu działań uczestników uczty, aby żaden z nich nie został zagłodzony oraz aby nie doszło do blokady całego systemu (w sytuacji, gdy każdy z filozofów ma po jednym widelcu).
Problem ucztujących filozofów jest prezentacją problemu synchronizacji pracujących współbieżnie procesów. Istnieje kilka możliwych rozwiązań tego problemu, między innymi wykorzystujące arbitrów lub grupy semaforów.

Слайд 45Urządzenia wejścia-wyjścia

urządzenia pamięci (dyski, taśmy, pamięci trwałe)
urządzenia przesyłania danych (karty sieciowe,

modemy)
urządzenia interfejsu człowieka (monitory, klawiatury, myszki, drukarki)
urządzenia specjalne (dane pomiarowe, sterowanie robotami)
urządzenia multimedialne (karty dźwiękowe, mikrofony, karty TV, kamery)

Слайд 46Kategorie urządzeń We/Wy

Urządzenia dzielimy ze względu na:
tryb przesyłania danych:
znakowy – przesyłane

jest po kolei bajt po bajcie (przykład klawiatura, często występuje bufor)
blokowy – przesyłane całe bloki danych (przykład sektor dysku twardego, ramka komuniatu w karcie sieciowej)
sposób dostępu do danych:
sekwencyjny – dostęp do danych w określonej kolejności, aby odczytać ostatni bajt musimy wczytać cały strumień danych (przykład taśma z backupem)
swobodny – mamy dostęp do wolnej informacji poprzez pozycję w strumieniu danych (przykład: sektor dysku twardego)
organizację przesyłania:
synchroniczna – dane przekazywane są z góry znanym czasie
asynchroniczna– dane moga pojawić się w dowolnym momencie.

Слайд 47Punkty komunikacyjne / pośredniczące

Czyli to co łączy system operacyjny z urządzeniami.
Port

- jedno urządzenie wykorzystuje fizyczną wiązkę przewodów
(FireWire, RS 232 – port szeregowy, LPT – port równoległy, BlueTooth)



Magistrala (szyna komunikacyjna)
do jednej wiązki przewodów dołączonych jest kilka urządzeń.
skomplikowana praca
wymaga specjalnego układu zarządzającego komunikacją
USB

Слайд 48Szyna komunikacyjna – „rdzeń kręgowy komputera“?


Слайд 49Typy szyn komunikacyjnych

Szyna komunikacyjna ISA lub AT BUS - (ang. Industry

Standard Architecture)
Prędkość: 1.5-1.8 MB/s (MB - megabity), Słowo: 16bitów, Zegar: 16MHz
Szyna PCI (ang. Peripheral Component Interconnect - Wprowadzona w 1993r), Prędkość: 133 MB/s, Słowo: 32bity, Zegar 33MHz, Zasilanie,
AGP (ang. Accelerated Graphics Port) - Interfejs umożliwia karcie graficznej używać wyodrębnionego obszaru pamięci operacyjnej w takiej postaci jakby karta graficzna korzystała z niego jak z pamięci podręcznej.
AGP - przepustowość: 266 MB/s
AGP 2 - przepustowość: 533 MB/s
AGP 4 - przepustowość: 1066 MB/s

Слайд 50Typy szyn komunikacyjnych

PCI Express – NIE jest szyną komunikacyjną
PCI-Express stanowi magistralę

lokalną typu szeregowego, łączącą dwa punkty (Point-to-Point). Nie jest to więc magistrala w tradycyjnym rozumieniu, i nie jest rozwinięciem koncepcji "zwykłego" PCI w związku z czym nie jest z nim kompatybilne. Taka konstrukcja eliminuje konieczność dzielenia pasma pomiędzy kilka urządzeń - każde urządzenie PCI-Express jest połączone bezpośrednio z kontrolerem. Sygnał przekazywany jest za pomocą dwóch linii, po jednej w każdym kierunku.

Gniazdo PCI-E 4x, , przepustowość 250 MB/s

Gniazdo PCI-E 16x , przepustowość 4000 MB/s

Gniazdo PCI-E 1x , przepustowość 1000 MB/s

Gniazdo PCI-E 16x , przepustowość 4000 MB/s

Gniazdo PCI , przepustowość 133 MB/s


Слайд 51Komunikacja synchroniczna i asynchroniczna

Synchroniczny
Po rozpoczęciu procedury We/Wy program użytkownika odzyskuje kontrolę

po zakończeniu wymiany informacji We/Wy.



Asynchroniczny
Po rozpoczęciu procedury We/Wy program użytkownika odzyskuje natychmiast kontrolę.
System komputerowy musi posiadać tablicę urządzeń, która będzie przechowywać aktualny stan (idle-wolny lub busy-zajęty).

Слайд 52Proces komunikacji z urządzeniem?

Komunikacja za pomocą portów
rejestry sterownika (porty) widoczne są

w przestrzeni adresowej wejścia-wyjścia systemu komputerowego i dostępne są przez specjalne rozkazy (np. in i out w procesorach firmy Intel). (Dla magistral ISA 16 bitów) Komunikacja tylko za pośrednictwem procesora!
odwzorowanie w przestrzeni adresowej pamięci — rejestry sterownika widoczne są w przestrzeni adresowej pamięci fizycznej i dostępne są pod odpowiednimi adresami tak samo, jak inne komórki pamięci.
Bezpośredni dostęp do pamięci (DMA – Direct Memory Access)
Używane dla urządzeń o dużej prędkości transferu danych (prędkość zbliżona do prędkości dostępu do pamięci)
Kontroler urządzenia po inicjalizacji wykonanej przez procesor , samodzielnie wykonuje transfer bloku danych z bufora bezpośrednio do pamięci.
Przerwanie, które służy do poinformowania o zakończeniu transferu, jest generowane co przesłany blok danych a nie co każdy bajt.

Слайд 53Komunikacja za pomocą rejestrów


Sterownik – kontroler, bufor – rejestr
(dla ISA

16bitów)
Rejestry urządzeń są 'zmapowane' (klonowane) pod specjalnymi adresami w ściśle określonym obszarze pamięci – te obszary nazywane są portami We/Wy.
System operacyjny może przesłać informację do urządzenia czyli do portów We/Wy za pośrednictwem specjalnych instrukcji mikroprocesora:
OUT DX,AX
OUT DX, 220h

Слайд 54Przykładowy przydział portów w komputerach zgodnych z PC

Urządzenie Przedział Adresów wejścia-wyjścia
Sterownik DMA 000

- 00F
Sterownik Przerwań 020 - 021
Czasomierz 040 - 043
Sterownik gier 200 - 20F
Port szeregowy 378 - 37F
IDE 320 - 32F
Port równoległy 378 - 37F
Sterownik graficzny 3D0 - 3DF
Sterownik napędu dyskietek 3F0 - 3F7
Port szeregowy 3F8 – 3FF
UWAGA! Komunikacja z urządzeniami poprzez porty bardzo obciąża procesor.

Слайд 55Bezpośredni dostęp do pamięci: DMA

źródło przesyłania (sterownik urządzenia czy bufor w

pamięci)
wskaźnik do miejsca w pamięci (bufor)
liczba bajtów do przesłania

Слайд 56Sprawdzanie gotowości danych do odczytu-zapisu

Poprzez odpytywanie (polling) - które polega na

tym, że procesor w odstępach czasowych sprawdza odpowiednie bity w rejestrze każdego sterownika.
metoda mało wydajna, obciążenie procesora
bufor sterownika może się zapełnić,
mało wydajny algorytm gdy odpytywanie musi być realizowane zbyt często.
Przerwania - w momencie urządzenie posiada dane, do odczytania przez procesor zgłasza do niego przerwanie.
przerwania niemaskowalne
przerwania maskowalne (używane przez urządzenia do zgłaszania żądań obsługi)

Слайд 57Odpytywanie – mało wydajne


Слайд 58Przerwania – bardziej wydajne


Слайд 59Przerwania

Przerwanie przekazuje sterowanie do procedury obsługi przerwania, zazwyczaj poprzez tablicę wektorów

przerwań.
Architektura przerwań musi zachować adres procedury w którym nastąpiło przerwanie.
Przerwanie niemaskowalne – Pozostałe przerwania są zablokowane podczas wykonywania procedury obsługi innego przerwania.
Wyjątek jest przerwaniem wygenerowanym przez aplikację na skutek błędu lub życzenia użytkownika.
System operacyjny jest sterowalny za pomocą przerwań.
Schemat obsługi przerwań
zapamiętanie stanu CPU,
typ przerwania: odpytywanie lub wektor,
wykonanie procedury

Слайд 60Klasy przerwań

Programowe – przerwania generowane przez nieprawidłową instrukcję, np. Przepełnienie wartości

zmiennej, dzielenie przez zero, odwołanie się do zabronionego fragmentu pamięci operacyjnej.
Timer (zegar) – generowane w określonych odstępach czasu (zazwyczaj co milisekundę) przez procesor. Pozwala systemowi oper. W określonych odstępach czasowych przejąć kontrolę nad procesorem.
I/O (We/Wy) – Generowane przez kontroler wejścia/wyjścia, aby zasygnalizować zakończenie jakiejś operacji przesyłania danych, lub zakomunikować błąd.
Awaria sprzętowa – Generowane zazwyczaj przez 'chipset' płyty głównej aby zakomunikować niekorygowalny błąd sprzętowy (np. awaria zasilania, lub błąd parzystości pamięci).

Слайд 61Struktura pamięci

Rejestry – w procesorze.
Cache – pamięć podręczna
Pamięć główna – jedyny

typ pamięci,
do której procesor ma bezpośredni
dostęp.

Dyski magnetyczne – stanowią pamięć pomocniczą.

Taśmy magnetyczne, dyski optyczne, itp.

Слайд 62Pamięć podręczna (cache)

Pamięć o dużej szybkości.
Zawiera kopię fragmentu pamięci oryginalnej.
Wymaga zarządzania

pamięcią podręczną (staranne zarządzanie pamięcią przez system może pozwolić na to 80-90% odwołań do pamięci będzie w pamięci podręcznej)

Слайд 63Przestrzeń adresowa

Przestrzeń adresowa jest to zbiór wszystkich dopuszczalnych adresów w pamięci.
W

zależności od charakteru adresu definiuje się:
przestrzeń fizyczną — zbiór adresów przekazywanych do układów pamięci głównej (fizycznej).
przestrzeń logiczną — zbiór adresów zarządzany przez procesor w kontekście aktualnie wykonywanego procesu.
Wirtualna przestrzeń adresowa procesu – Z punktu widzenia procesu ma on do dyspozycji pewien wirtualny obszar pamięci, którego adresy nie mają nic wspólnego z fizycznymi adresami pamięci fizycznej. Jest to właśnie przestrzeń logiczna.

Слайд 64Segmentacja pamięci

Segmentacja: Obszar pamięci jest oczywiście odwzorowany w pamięci fizycznej, ale

w zupełnie innej postaci niż widzi go proces użytkownika. Ciągły obszar pamięci procesu użytkownika może być w rzeczywistości podzielony pomiędzy różne strony pamięci fizycznej. Każdy proces posiada dwa zasadnicze segmenty wirtualnej pamięci:
segment jądra (KERNEL_DS) - dostęp do tego obszaru mają jedynie procedury systemowe
segment użytkownika (USER_DS) - dostęp do tego obszaru w sposób swobodny posiada proces użytkownika
Wparcie sprzętowe: Adres wirtualny procesu użytkownika jest przekształcany na adres fizyczny przez procesor lub specjalny układ elektroniczny: MMU - Memory Management Unit.

Слайд 65Segmentacja pamięci

MMU (Memory Management Unit), to zestaw układów realizujących dostęp do

pamięci fizycznej żądanej przez CPU. Wśród zadań tych układów znajdują się funkcje translacji pamięci wirtualnej do pamięci fizycznej, ochronę pamięci, obsługę pamięci podręcznej, zarządzanie szynami danych oraz, w prostszych (szczególnie 8-bitowych) systemach, przełączanie banków pamięci.
Do zapamiętania struktury oraz adresów fizycznych wirtualnych pamięci procesów służy tablica stron, która przechowuje: adresy stron, użytkownika w pamięci fizycznej, flagi określające tryby dostępu do danej strony pamięci, stany strony pamięci, atrybuty "obecności" - wskazuje czy dana strona znajduje się pamięci fizycznej czy jest aktualnie zapamiętana w pliku wymiany lub na partycji wymiany.

Слайд 66Stronicowanie i Wymiatanie

Stronicowanie - pamięć wirtualna jest podzielona na równe kawałki

zwane stronami (zazwyczaj 4Kb). Stronicowanie polega na zapamiętaniu pewnych rzadko używanych stron pamięci operacyjnej w specjalnym pliku na dysku twardym (dysk wymiany) lub na specjalnej partycji wymiany.
Wymiatanie polega na usuwaniu pamięci fizycznej procesów, które aktualnie są zawieszone lub przez długi czas oczekują na jakieś zdarzenia.
Z obydwu technologii, stronicowanie jest korzystniejsze jeśli chodzi o zarządzanie zasobami pamięci operacyjnej, natomiast wymaga ono większych nakładów od systemu operacyjnego do zarządzania tym procesem. Wymiatanie w wielu przypadkach może nie zadziałać, natomiast wymaga zdecydowanie mniejszych nakładów procesora. Współczesne systemy operacyjne używają jedynie technologii stronicowania.

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика