Urządzenia wej.-wyj.

Podobne dokumenty
Urządzenia wejścia-wyjścia

Urządzenia wej.-wyj. Plan (1) Plan (2)

Urządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia

Urządzenia wejścia-wyjścia. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

System wejścia-wyjścia

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Celem wykładu jest omówienie zagadnień obsługi urządzeń wejścia-wyjścia (zwanych również urządzeniami zewnętrznymi lub peryferyjnymi) i realizacji

Działanie systemu operacyjnego

Architektura komputerów

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

Urządzenia zewnętrzne

Działanie systemu operacyjnego

Architektura komputera

Architektura komputerów. Układy wejścia-wyjścia komputera

Mikroprocesor Operacje wejścia / wyjścia

System wejścia-wyjścia

SYSTEMY WEJŚCIA-WYJŚCIA

Budowa systemów komputerowych

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

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Architektura systemu komputerowego

Struktura systemów komputerowych

Technologia informacyjna. Urządzenia techniki komputerowej

Architektura systemów komputerowych. dr Artur Bartoszewski

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Technologie informacyjne - wykład 2 -

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Architektura komputerów

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

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

Wykład 14. Zagadnienia związane z systemem IO

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

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

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

Układy wejścia/wyjścia

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

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

Zagadnienia związane z systemem IO

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Budowa komputera KROK PO KROKU! Opis wszystkich części komputera w sposób zrozumiały dla nowatorów

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Systemy operacyjne system przerwań

Urządzenia wejścia-wyjścia

Wykład 2. Struktury systemów komputerowych. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Architektura i administracja systemów operacyjnych

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura komputerów

Planowanie przydziału procesora

Wejście-wyjście. Wiesław Płaczek Systemy Operacyjne: Wykład 10 1

Architektura komputerów

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Systemy Operacyjne i Sieci Komputerowe

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Planowanie przydziału procesora

Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Technologie informacyjne (3) Zdzisław Szyjewski

System plików. Warstwowy model systemu plików

Organizacja typowego mikroprocesora

1. Budowa komputera schemat ogólny.

URZĄDZENIA WEJŚCIA-WYJŚCIA

Magistrala systemowa (System Bus)

Architektura komputerów

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

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

Technologie informacyjne (3) Zdzisław Szyjewski

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Urządzenia wej.-wyj. Plan (1) Plan (2) Właściwości urządzeń wejścia-wyjścia (2) Właściwości urządzeń wejścia-wyjścia (1)

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

dr inż. Jarosław Forenc

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Wprowadzenie do systemów operacyjnych

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Wykład 9 Struktury pamięci masowej

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

System komputerowy. System komputerowy

Temat 2. Logiczna budowa komputera.

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]

Standard transmisji równoległej LPT Centronics

WPROWADZENIE Mikrosterownik mikrokontrolery

Logiczny model komputera i działanie procesora. Część 1.

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Stronicowanie w systemie pamięci wirtualnej

Zarządzanie procesorem

Transkrypt:

Urządzenia wej.-wyj. Plan (). Rodzaje urządzeń wejścia-wyjścia 2. Struktura mechanizmu wejścia-wyjścia a) sterownik urządzenia b) moduł sterujący c) podsystem wejścia-wyjścia 3. Miejsce urządzeń wejścia-wyjścia w architekturze systemu komputerowego a) odwzorowanie w przestrzeni adresowej wejściawyjścia b) odwzorowanie w przestrzeni adresowej pamięci Systemy operacyjne Urządzenie wejścia-wyjścia 2

Plan (2) 4. Interakcja z urządzeniem wejścia-wyjścia a) odpytywanie (ang. polling) b) przerwania (ang. interrupts) c) bezpośredni dostęp do pamięci (ang. direct memory access) 5. Buforowanie i spooling 6. Urządzenia pamięci masowej 7. Wirtualne wejście-wyjście Systemy operacyjne Urządzenie wejścia-wyjścia 3 Rodzaje urządzeń wejściawyjścia (ang. IO devices) Urządzenia składowania danych (dyski, dyskietki, taśmy, CD ROM, DVD itp.) Urządzenia transmisji danych (karty sieciowe, modemy) Urządzenia do komunikacji z człowiekiem (monitory, projektory, klawiatury, myszy, drukarki, skanery, kamery itp.) Urządzenia specjalizowane układy sterowania (np. elektrownią, samolotem, systemem obrony antyrakietowej itd.) kasy i drukarki fiskalne itp. urządzenia medyczne Systemy operacyjne Urządzenie wejścia-wyjścia 4 2

Właściwości urządzeń wejścia-wyjścia () Tryb transmisji danych: znakowy urządzenie przysyła dane bajt po bajcie (ang. chracter-stream device) blokowy dane przysyłane są w blokach (np. po 52 bajtów) Sposób dostępu do danych: sekwencyjny urządzenie przesyła dane w określonym porządku, zależnym od samego urządzenie (np. karta sieciowa) swobodny możliwy jest wpływ na wybór danych do przesyłania przez urządzenie (np. dysk) Systemy operacyjne Urządzenie wejścia-wyjścia 5 Właściwości urządzeń wejścia-wyjścia (2) Tryb pracy urządzenia: synchroniczny dane zostaną przekazane w znanym z góry (przewidywalnym) czasie (np. dysk) asynchroniczny dane mogą zostać przesłane w dowolnym, trudnym do przewidzenia, momencie (np. klawiatura, karta sieciowa) Tryb współdzielenia: wyłączny niemożliwe jest współbieżne używanie urządzenia przez wiele procesów (np. drukarka) współdzielony dopuszczalne jest współbieżne używanie urządzenia przez wiele procesów (np. dysk) Systemy operacyjne Urządzenie wejścia-wyjścia 6 3

Właściwości urządzeń wejścia-wyjścia (3) Szybkość działania (transmisji) od bardzo wolnych (np. drukarka) do bardzo szybkich (np. dysk) Kierunek przekazywania danych urządzenia wejścia i wyjścia możliwość zarówno zapisu jak i odczytu (np. dysk, karta sieciowa) urządzenia wejścia tylko możliwość odczytu z urządzenia (np. klawiatura) urządzenia wyjścia tylko możliwość zapisu (np. drukarka) Systemy operacyjne Urządzenie wejścia-wyjścia 7 sprzęt oprogramowanie Struktura mechanizmu wejścia-wyjścia Podsystem wejścia-wyjścia w jądrze systemu operacyjnego (ang. I/O subsystem) Moduł sterujący (ang. device driver) Moduł sterujący (ang. device driver) Moduł sterujący (ang. device driver) Sterownik portu Sterownik urządz. (ang. device controller) Sterownik urządz. (ang. device controller) Adapter Sterownik urządz. (ang. device controller) Systemy operacyjne Urządzenie wejścia-wyjścia 8 4

Podsystem wejścia-wyjścia (ang. I/O subsystem) Dostarczanie aplikacji interfejsu funkcji (API) umożliwiających wykonywanie operacji wejściawyjścia w sposób jednolity, niezależny od urządzenia lub grupy, do której należy urządzenie. Typowy interfejs obejmuje funkcje: read odczyt z urządzenia (pobieranie danych) write zapis do urządzenia (wysyłanie danych) Systemy operacyjne Urządzenie wejścia-wyjścia 9 Moduł sterujący (ang. device driver) Dostarczanie jednolitego (wspólnego dla pewnej grupy urządzeń) interfejsu dostępu, czyli pewnego standardowego zbioru operacji na danym urządzeniu (ukrywanie sprzętowych szczegółów realizacji danego urządzenia przed podsystemem wejścia-wyjścia). Kontrola realizacji operacji na urządzeniu Moduły dostarczane są dla typowych systemów operacyjnych (Windows 95/98, Windows NT, Solaris, Linux) przez wytwórców urządzeń zewnętrznych. Systemy operacyjne Urządzenie wejścia-wyjścia 0 5

Sterownik portu (adapter) bezczynność zakończenie praca (stan przejść.) zajętość 0 0 gotowość 0 0... zajętość gotowość kod błędu... sterowanie logika status rejestry danych Systemy operacyjne Urządzenie wejścia-wyjścia Typowe rejestry sterownika portu (adaptera) rejestr stanu (ang. status register) zawiera bity wskazujące na stan portu (np. zakończenie polecenia, dostępność bajtu, błąd urządzenia itp.), może być czytany przez procesor rejestr sterowania (ang. control register, command register) zawiera bity definiujące tryb pracy urządzenia lub umożliwiające rozpoczęcie realizacji polecenia, jest najczęściej zapisywany przez procesor rejestr danych wejściowych (ang. data-in register) jest czytany przez procesor w celu odbioru danych z urządzenia rejestr danych wyjściowych (ang. data-out register) jest zapisywany przez procesor w celu wysłania danych do urządzenia Systemy operacyjne Urządzenie wejścia-wyjścia 2 6

Miejsce urządzeń wejściawyjścia w architekturze systemu komputerowego Odwzorowanie w przestrzeni adresowej wejściawyjścia (tzw. izolowane wejście-wyjście) rejestry sterownika widoczne są w przestrzeni adresowej wejścia-wyjścia systemu komputerowego i dostępne są przez specjalne rozkazy (np. in i out w procesorach Intel a). Odwzorowanie w przestrzeni adresowej pamięci rejestry sterownika widoczne przestrzeni adresowej pamięci fizycznej i dostępne są pod odpowiednimi adresami tak samo, jak inne komórki pamięci. Systemy operacyjne Urządzenie wejścia-wyjścia 3 Odwzorowanie w przestrzeni pamięci procesor sygnały sterujące mem read, mem write szyna adresowa dekoder szyna danych rejestry adaptera Systemy operacyjne Urządzenie wejścia-wyjścia 4 7

Odwzorowanie w przestrzeni wejścia-wyjścia procesor sygnały sterujące i/o read, i/o write szyna adresowa dekoder szyna danych rejestry adaptera Systemy operacyjne Urządzenie wejścia-wyjścia 5 Interakcja jednostki centralnej ze sterownikiem urządzenia wejścia-wyjścia Odpytywanie (ang. polling) procesor co jakiś czas (w szczególności bez przerwy) wykonuje rozkaz odczytu odpowiedniego rejestru sterownika, sprawdzając jego stan. Sterowanie przerwaniami (ang. interrupt-driven I/O) procesor inicjalizuje pracę sterownika a o jej zakończeniu lub zaistnieniu określonego stanu informowany jest przez przerwanie, które zgłasza sterownik. Bezpośredni dostęp do pamięci (ang. direct memory access) zadanie przekazywania danych pomiędzy sterownikiem a pamięcią spada na specjalizowany układ (DMA), który wykonuje swoje zadanie bez angażowania procesora. Systemy operacyjne Urządzenie wejścia-wyjścia 6 8

Odpytywanie inicjalizacja operacji procesor sprawdzanie stanu rejestry adaptera Systemy operacyjne Urządzenie wejścia-wyjścia 7 Interakcja procesor sterownik w oper. wyjścia w trybie odpytywania 0 bit zajęt. =? bit got. zap.=? procesor 0 zapisz rejestr danych wyjściowych bit got. zapisu = odczyt. rejestr danych wyjściowych wykonaj operację na urządzeniu zew. sterownik 0 bit got. =? bit gotowości = bit zajętości = 0 Systemy operacyjne Urządzenie wejścia-wyjścia 8 9

Interakcja procesor sterownik w oper. wejścia w trybie odpytywania procesor bit zajęt. =? 0 bit got. odczytu = 0 bit got. =? wykonaj operację na urządzeniu zew. 0 zapisz rejestr danych bit got. =? wejściowych sterownik odczyt. rejestr danych wejściowych bit gotowości = bit zajętości = 0 Systemy operacyjne Urządzenie wejścia-wyjścia 9 2 3 przetwarzanie aplikacyjne zapis I/O zapis I/O Odpytywanie przepływ sterowania moduł sterujący rozkaz I/O 4 5 4 oczekiwanie 5 2 4 oczekiwanie 5 3 realizacja na osi czasu realizacja operacji I/O realizacja operacji I/O Systemy operacyjne Urządzenie wejścia-wyjścia 20 0

Sterowanie przerwaniami procesor inicjalizacja operacji rejestry adaptera sterownik przerwań sprawdzanie stanu adapter Systemy operacyjne Urządzenie wejścia-wyjścia 2 Sterowanie przerwaniami inicjalizacja operacji operacja wyjścia bit zajętości =? bit zajętości =? operacja wejścia 0 zapisz rejestr danych wyjściowych 0 ustaw bit gotowości odczytu = bit gotowości zapisu = zapisanie danych o zainicjaliz. operacji umieszczenie żądania wej-wyj w kolejce powrót do przetwarzania użyt. Systemy operacyjne Urządzenie wejścia-wyjścia 22

Sterowanie przerwaniami obsługa przerwania operacja wyjścia operacja wejścia odczyt danych o zainicjaliz. operacji odczyt danych o zainicjaliz. operacji bit gotowości =? 0 błąd 0 bit gotowości =? usunięcie danych o zainicjaliz. operacji odczyt. rejestr danych wejściowych zainicjaliz. kolejnej operacji I/O powrót z przerwania Systemy operacyjne Urządzenie wejścia-wyjścia 23 2a 2b 3a 3b Sterowanie przerwaniami przepływ sterowania przetwarzanie aplikacyjne zapis I/O zapis I/O moduł sterujący rozkaz I/O podprogram obsługi przerwania Systemy operacyjne Urządzenie wejścia-wyjścia 24 4 5 4 2a 5 2b 4 3a 5 3b realizacja na osi czasu realizacja operacji I/O realizacja operacji I/O 2

Obsługa przerwań wielokrotnych Problem przerwań wielokrotnych polega na zgłoszeniu kolejnego przerwania w czasie obsługi innego przerwania. Podejścia do obsługi przerwań wielokrotnych: obsługa sekwencyjna kolejne przerwanie (zgłoszone podczas obsługi) obsługiwane jest po zakończeniu obsługi bieżącego, obsługa zagnieżdżona po zgłoszeniu nowego przerwania obsługa bieżącego jest zawieszana i kontynuowana po obsłużeniu przerwania nowo zgłoszonego, obsługa priorytetowa zawieszenie obsługi bieżącego przerwania następuje tylko wówczas, gdy nowo zgłoszone przerwanie ma wyższy priorytet, w przeciwnym razie obsługa następuje po obsłużeniu wszystkich zgłoszonych przerwań o wyższym priorytecie Systemy operacyjne Urządzenie wejścia-wyjścia 25 Sekwencyjna obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania procedura obsługi przerwania 2 Systemy operacyjne Urządzenie wejścia-wyjścia 26 3

Zagnieżdżona obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania procedura obsługi przerwania 2 Systemy operacyjne Urządzenie wejścia-wyjścia 27 Priorytetowa obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania o średnim priorytecie procedura obsługi przerwania o wysokim priorytecie procedura obsługi przerwania o niskim priorytecie Systemy operacyjne Urządzenie wejścia-wyjścia 28 4

Problemy współbieżnej obsługi wielu urządzeń Problem identyfikacji źródła przerwania zidentyfikowanie urządzenia, które poprzez zgłoszenie przerwania wymusiło przekazanie sterowania do procedury obsługi przerwania. Problem priorytetów zagwarantowanie określonej kolejności wyboru urządzeń w przypadku deklaracji gotowości kilku z nich w tym samym czasie. Systemy operacyjne Urządzenie wejścia-wyjścia 29 Sposoby identyfikacji źródła przerwania () Wiele linii przerwań doprowadzenie do procesora osobnej linii przerwania dla każdego urządzenia i przygotowanie osobnej procedury obsługi przerwania dla każdej linii. Odpytywanie programowe odczyt rejestru stanu i sprawdzanie bitu gotowości każdego urządzenia, które mogło potencjalnie zgłosić przerwanie. Systemy operacyjne Urządzenie wejścia-wyjścia 30 5

Sposoby identyfikacji źródła przerwania (2) Odpytywanie sprzętowe wysłanie sygnału potwierdzającego otrzymanie sygnału przerwania propagowanego łańcuchowo przez urządzenia aż do napotkania tego, które zgłosiło przerwanie i które w odpowiedzi wystawi odpowiedni wektor na magistralę. Arbitraż na magistrali uzyskanie przed zgłoszeniem przerwania wyłączności dostępu do magistrali i wystawienie odpowiedniego wektora. Systemy operacyjne Urządzenie wejścia-wyjścia 3 Efektywność interakcji CPU ze sterownikiem oznaczenia T c czas przetwarzania (obliczeń) przez CPU T d czas realizacji operacji wejścia-wyjścia przez sterowniki urządzeń T o skumulowany narzut czasowy wynikający ze zwłoki czasowej pomiędzy zgłoszeniem gotowości przez sterownik, a reakcją przez procesor T t czas cyklu przetwarzania (całkowity czas realizacji przetwarzania) T t = T c + T d + T o Systemy operacyjne Urządzenie wejścia-wyjścia 32 6

Efektywność interakcji w trybie odpytywania T p skumulowane opóźnienie w pętli odpytywania pomiędzy ustawieniem bitu gotowości, a odczytaniem rejestru stanu Narzut czasowy: T o = T p Systemy operacyjne Urządzenie wejścia-wyjścia 33 Efektywność interakcji w trybie ster. przerwaniami T h skumulowany czas obsługi przerwań T b skumulowany czas oczekiwania na zwolnienie urządzenia T r skumulowany czas oczekiwania na przydział procesora po zakończeniu operacji wejścia-wyjścia Narzut czasowy: T o = T h + T b + T r Systemy operacyjne Urządzenie wejścia-wyjścia 34 7

Porównanie efektywności przetwarzania T p < T h + T b + T r Z punktu widzenie pojedynczego procesu odpytywanie zapewnia większą efektywność Podobnie, w systemie jednozadaniowym odpytywanie zapewnia większą efektywność nawet przy założeniu, że T r = 0 i T b = 0 Systemy operacyjne Urządzenie wejścia-wyjścia 35 Porównanie efektywności w systemie wielozadaniowym () Rozważmy współbieżnie procesy P,..., P n Oznaczmy parametry czasowe procesu P i przez T t,i, T d,i, T c,i, T p,i, T h,i, T b,i i T r,i Całkowity czas przetwarzania w trybie odpytywania: n n n n T = T + T + T ti, ci, di, pi, i= i= i= i= Systemy operacyjne Urządzenie wejścia-wyjścia 36 8

Porównanie efektywności w systemie wielozadaniowym (2) Całkowity czas przetwarzania w trybie sterowania przerwaniami w wariancie optymistycznym przy założeniu, że n T n T ci, di, i= i= n T + n T ci, hi, i= i= Systemy operacyjne Urządzenie wejścia-wyjścia 37 Porównanie efektywności w systemie wielozadaniowym (3) Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie optymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy n n n T + T > T di, pi, hi, i= i= i= Systemy operacyjne Urządzenie wejścia-wyjścia 38 9

Porównanie efektywności w systemie wielozadaniowym (4) Całkowity czas przetwarzania w trybie sterowania przerwaniami w wariancie pesymistycznym przy założeniu, że n T n T ci, di, i= i= n n T + T + max T ci, hi, i=.. n di, i= i= Systemy operacyjne Urządzenie wejścia-wyjścia 39 Porównanie efektywności w systemie wielozadaniowym (5) Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie pesymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy n n n T max T + T > T di, i=.. n di, pi, hi, i= i= i= Systemy operacyjne Urządzenie wejścia-wyjścia 40 20

Jak uporządkować priorytety przerwań? W jaki sposób należałoby uporządkować priorytety przerwań od następujących urządzeń: czasomierz drukarka dysk karta sieciowa terminal Systemy operacyjne Urządzenie wejścia-wyjścia 4 Bezpośredni dostęp do pamięci pamięć pamięć procesor procesor DMA adapter adapter tradycyjne I/O I/O z DMA Systemy operacyjne Urządzenie wejścia-wyjścia 42 2

Działanie układu DMA () Układ DMA ma kompetencje procesora w zakresie dostępu do pamięci, w związku z czym może rywalizować z procesorem o dostęp do magistrali systemowej w celu przejęcia sterowania systemem komputerowym. Procesor zleca układowi DMA transmisję danych przekazując następujące dane: rodzaj operacji (zapis lub odczyt bloku w pamięci), adres urządzenia wejścia-wyjścia początkowy adres bloku w pamięci do zapisu/odczytu rozmiar zapisywanego lub odczytywanego bloku w bajtach lub słowach Systemy operacyjne Urządzenie wejścia-wyjścia 43 Działanie układu DMA (2) W celu realizacji zlecenia układ DMA przejmuje kontrolę nad magistralą, gdy nie jest ona potrzebna procesorowi lub wykrada cykl magistrali procesorowi, realizuje przesłanie słowa. Fakt zakończenia transmisji układ DMA sygnalizuje procesorowi zgłaszając przerwanie. Systemy operacyjne Urządzenie wejścia-wyjścia 44 22

Organizacja wejścia-wyjścia z układem DMA CPU DMA urządze -nie I/O urządze -nie I/O pamięć CPU DMA urządze -nie I/O urządze -nie I/O DMA urządze -nie I/O pamięć CPU pamięć DMA urządze -nie I/O urządze -nie I/O Systemy operacyjne Urządzenie wejścia-wyjścia 45 Buforowanie Dopasowanie urządzeń różniących się szybkością przekazywania danych dopasowanie chwilowo szybszego producenta danych do możliwości konsumenta. Dopasowanie urządzeń różniących się podstawową jednostką transmisji danych dopasowanie w celu efektywnego przekazywania danych urządzeń przesyłających mniejsze jednostki danych do urządzeń wymagających większych jednostek lub odwrotnie (fragmentowanie). Semantyka kopii zagwarantowanie niezmienności danych w czasie wykonywania operacji wejścia-wyjścia. Systemy operacyjne Urządzenie wejścia-wyjścia 46 23

Dopasowanie różnic szybkości Przykład: komputer potrafi wysyłać dane znacznie szybciej niż drukarka je przetwarzać (drukować). Systemy operacyjne Urządzenie wejścia-wyjścia 47 Dopasowanie jednostek transmisji Przykład: zapis na dysku danych odbieranych z sieci. Systemy operacyjne Urządzenie wejścia-wyjścia 48 24

Semantyka kopii bufor pamięć dysk Systemy operacyjne Urządzenie wejścia-wyjścia 49 Realizacja buforowania brak buforowania bufor pojedynczy bufor podwójny bufor cykliczny Systemy operacyjne Urządzenie wejścia-wyjścia 50 25

Dobór sposobu realizacji buforowania Który sposób realizacji buforowania byłby odpowiedni w celu dopasowania różnić szybkości? Który sposób realizacji buforowania byłby odpowiedni w celu dopasowania jednostek transmisji danych? Który sposób realizacji buforowania byłby odpowiedni dla zagwarantowania semantyki kopii? Systemy operacyjne Urządzenie wejścia-wyjścia 5 Przechowywanie podręczne Przechowywanie podręczne polega na gromadzeniu kopii danych w pamięci w celu poprawy efektywności ich przetwarzania. Przechowywanie podręczne w przypadku operacji wejścia zmniejsza czas dostępu. Przechowywanie podręczne w przypadku operacji wyjścia umożliwia skumulowanie wyników przetwarzania w dłuższym czasie i przekazanie ich na urządzenie zewnętrzne w wyniku jednej operacji wyjścia. Systemy operacyjne Urządzenie wejścia-wyjścia 52 26

Spooling Buforowanie strumienia danych przekazywanych do urządzenia zewnętrznego, które nie mogą być przeplatane z danymi pochodzącymi z innych strumieni. Systemy operacyjne Urządzenie wejścia-wyjścia 53 Urządzenia składowania danych Urządzenia o dostępie sekwencyjnym np. taśma magnetyczna. Urządzenia o dostępie bezpośrednim (swobodnym) np. napęd dysku. Systemy operacyjne Urządzenie wejścia-wyjścia 54 27

Budowa dysku Płyta (ang. platter) pokryta nośnikiem magnetycznym Głowica odczytująco-zapisujące umieszczona na ramieniu (ang. disk arm) nad każdą powierzchnią pokrytą nośnikiem Podział dysku cylinder (ang. cylinder) ścieżka (ang. track) sektor Jednostka transferu blok logiczny (np. 52 B) Systemy operacyjne Urządzenie wejścia-wyjścia 55 Parametry dysku Tempo przesyłania (ang. transfer rate) szybkość przekazywania danych pomiędzy dyskiem a jednostką centralną Czas pozycjonowania głowicy (ang. positioning time) czas wyszukiwania (ang. seek time) czas przesuwania głowicy na właściwą ścieżkę (do właściwego cylindra) opóźnienie obrotowe (ang. rotational delay) czas oczekiwania na wejście żądanego sektora pod głowicę Prędkość obrotowa (ang. rotational speed) liczba obrotów (płyt wokół osi) na minutę. Jakie jest średnie opóźnienie obrotowe dla dysku, dla którego prędkość obrotowa wynosi 0 000 rpm? Systemy operacyjne Urządzenie wejścia-wyjścia 56 28

Czas dostępu do danych Czas przesyłania danych (ang. transfer time) liczba bajtów b do przesłania T = r N prędkość obrotowa liczba bajtów na ścieżce Czas dostępu (ang. access time) b Ta = Ts + + 2 r r N średni czas wyszukiwania opóźnienie obrotowe Systemy operacyjne Urządzenie wejścia-wyjścia 57 Metody planowania dostępu do dysku () metoda losowa obsługa żądań w przypadkowej kolejności FCFS (fitst-come, first-served) obsługa żądań w kolejności ich zgłoszenia LCFS (last-come, first-served) obsługa żądań w odwrotnej kolejności niż ich zgłaszanie metoda priorytetowa obsługa żądań zgodnie z priorytetem procesów, żądających wykonania operacji dyskowej Systemy operacyjne Urządzenie wejścia-wyjścia 58 29

Metody planowania dostępu do dysku (2) SSTF (shortest-seek-time-first) jako kolejne wybierane jest żądanie wymagające najmniejszego ruchu ramienia SCAN ramię jest przemieszczane tam i z powrotem pomiędzy skrajnymi cylindrami, obsługując po drodze żądania C-SCAN ramię porusza się tak, jak w SCAN, ale żądania obsługiwane są tylko przy ruchu dośrodkowym Systemy operacyjne Urządzenie wejścia-wyjścia 59 Metody planowania dostępu do dysku (3) LOOK ramię jest przemieszczane pomiędzy skrajnymi cylindrami zawierającymi sektory, do których są żądania C-LOOK ramię porusza się tak, jak w LOOK, ale żądania obsługiwane są tylko przy ruchu dośrodkowym Systemy operacyjne Urządzenie wejścia-wyjścia 60 30

Metody planowania dostępu do dysku (4) N-step-SCAN podział kolejki żądań na podkolejki o rozmiarze N żądań i obsługa każdej podkolejki zgodnie z metodą SCAN FSCAN użycie dwóch podkolejek, z których jedna jest obsługiwana, a w drugiej rejestrowane są nowe zgłaszane żądania. Systemy operacyjne Urządzenie wejścia-wyjścia 6 Macierze dyskowe (RAID) RAID (Redundant Array of Independent Disks) jest zbiorem urządzeń dyskowych widzianych przez system jako jedno urządzenie logiczne. Dane mogą być umieszczone na różnych dyskach macierzy. Nadmiarowe dane umieszczane są w odpowiednich miejscach w celu zwiększenia niezawodności (możliwość odzyskania danych przy awarii jednego lub kilku z urządzeń w macierzy). Systemy operacyjne Urządzenie wejścia-wyjścia 62 3

RAID 0 strip 0 strip strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 strip 9 strip 0 strip strip 2 strip 3 strip 4 strip 5 Systemy operacyjne Urządzenie wejścia-wyjścia 63 RAID strip 0 strip strip 0 strip strip 4 strip 5 strip 4 strip 5 strip 8 strip 9 strip 8 strip 9 strip 2 strip 3 strip 2 strip 3 Systemy operacyjne Urządzenie wejścia-wyjścia 64 32

RAID 2 b 0 b b 2 f 0 (b) f (b) Systemy operacyjne Urządzenie wejścia-wyjścia 65 RAID 3 b 0 b b 2 b 3 P(b) Systemy operacyjne Urządzenie wejścia-wyjścia 66 33

RAID 4 blok 0 blok blok 2 blok 3 P(0-3) blok 4 blok 5 blok 6 blok 7 P(4-7) blok 8 blok 9 blok 0 blok P(8-) blok 2 blok 3 blok 4 blok 5 P(2-5) Systemy operacyjne Urządzenie wejścia-wyjścia 67 RAID 5 blok 0 blok blok 2 blok 3 P(0-3) blok 4 blok 5 blok 6 P(4-7) blok 7 blok 8 blok 9 P(8-) blok 0 blok blok 2 P(2-5) blok 3 blok 4 blok 5 P(6-9) blok 6 blok 7 blok 8 blok 9 Systemy operacyjne Urządzenie wejścia-wyjścia 68 34

RAID 6 blok 0 blok 4 blok 8 blok 2 P(6-9) blok blok 5 blok 9 P(2-5) blok 2 blok 6 P(8-) Q(2-5) blok 3 P(4-7) Q(8-) blok 3 P(0-3) Q(4-7) blok 0 blok 4 Q(0-3) blok 7 blok blok 5 Q(6-9) blok 6 blok 7 blok 8 blok 9 Systemy operacyjne Urządzenie wejścia-wyjścia 69 Wirtualne wejście-wyjście proces podsys. wej-wyj moduł sterujący proces stos protokołów moduł sterujący proces logiczny system plików organizacja fizyczna systemu plików moduł sterujący sterownik urządz. urządzenie sterownik urządz. port komunikacyjny sterownik urządz. system plików Systemy operacyjne Urządzenie wejścia-wyjścia 70 35