Urządzenia wejścia-wyjścia

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

Urządzenia wej.-wyj.

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

Architektura komputerów

Urządzenia wejścia-wyjścia

Działanie systemu operacyjnego

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

Działanie systemu operacyjnego

Urządzenia zewnętrzne

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

SYSTEMY WEJŚCIA-WYJŚCIA

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

LEKCJA TEMAT: Zasada działania komputera.

Działanie systemu operacyjnego

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

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

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

Architektura komputerów

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

Struktura systemów komputerowych

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

System wejścia-wyjścia

Mikroprocesor Operacje wejścia / wyjścia

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

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Budowa systemów komputerowych

Układy wejścia/wyjścia

Architektura systemu komputerowego

Architektura komputera

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura i administracja systemów operacyjnych

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

Systemy Operacyjne i Sieci Komputerowe

Wprowadzenie do systemów operacyjnych

URZĄDZENIA WEJŚCIA-WYJŚCIA

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

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

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

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

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

Stronicowanie w systemie pamięci wirtualnej

Technologia informacyjna. Urządzenia techniki komputerowej

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

Technologie informacyjne - wykład 2 -

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

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

Systemy operacyjne system przerwań

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

Architektura komputerów

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

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

System wejścia-wyjścia

Architektura Systemów Komputerowych

Czujniki obiektowe Sterowniki przemysłowe

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

dr inż. Jarosław Forenc

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

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

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

Architektura komputerów

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

Organizacja typowego mikroprocesora

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

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

Systemy operacyjne III

WPROWADZENIE Mikrosterownik mikrokontrolery

Technologie informacyjne (3) Zdzisław Szyjewski

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

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

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

System operacyjny System operacyjny

2. Architektura mikrokontrolerów PIC16F8x... 13

Informatyka. informatyka i nauki komputerowe (computer science)

Opracował: Jan Front

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

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

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

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

ARCHITEKTURA PROCESORA,

Podstawy Informatyki Systemy operacyjne

System plików. Warstwowy model systemu plików

dr inż. Jarosław Forenc

Programowanie współbieżne Wykład 2. Iwona Kochańska

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

KOMPUTEROWE SYSTEMY POMIAROWE

System operacyjny wstęp

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Technologie informacyjne (3) Zdzisław Szyjewski

Systemy operacyjne. Król Tomasz

Budowa Mikrokomputera

Transkrypt:

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

Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja jednostki centralnej z urządzeniami wejściawyjścia odpytywanie sterowanie przerwaniami bezpośredni dostęp do pamięci Buforowanie, przechowywanie podręczne i spooling Wirtualne wejście-wyjście Urządzenia wejścia-wyjścia (2)

Rodzaje urządzeń wejścia-wyjścia Urządzenia składowania danych (dyski, dyskietki, taśmy, CD ROM, DVD itp.) Urządzenia transmisji danych na odległość (karty sieciowe, modemy) Urządzenia do komunikacji z człowiekiem (monitory, projektory, klawiatury, myszy, drukarki, skanery itp.) Urządzenia specjalizowane układy sterowania (np. elektrownią, samolotem, systemem obrony antyrakietowej itd.) kasy i drukarki fiskalne itp. urządzenia medyczne Urządzenia wejścia-wyjścia (3)

Właściwości urządzeń wejścia-wyjścia (1) Tryb transmisji danych: znakowy przykazywanie danych odbywa się bajt po bajcie, przykład: port szeregowy blokowy przykazywanie danych odbywa się w blokach (np. po 512 bajtów), przykład: dysk Sposób dostępu do danych: sekwencyjny dane przekazywane są w określonym porządku, narzuconym przez urządzenie, przykład: karta sieciowa bezpośredni (swobodny) możliwe jest określenie lokalizacji danych na urządzeniu, przykład: dysk Urządzenia wejścia-wyjścia (4)

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, przykład: dysk, karta graficzna asynchroniczny dane mogą zostać przesłane w dowolnym, trudnym do przewidzenia, momencie, przykład: klawiatura, karta sieciowa Tryb użytkowania: współdzielony dopuszczalne jest współbieżne używanie urządzenia przez wiele procesów, np.: dysk wyłączny niemożliwe jest współbieżne używanie urządzenia przez wiele procesów, przykład: drukarka Urządzenia wejścia-wyjścia (5)

Właściwości urządzeń wejścia-wyjścia (3) Szybkość działania (transmisji) od bardzo wolnych, przykład: drukarka do stosunkowo szybkich, przykład: dysk Kierunek przekazywania danych urządzenia wejścia i wyjścia możliwość zarówno zapisu jak i odczytu, przykład dysk, karta sieciowa urządzenia wejścia tylko możliwość odczytu z urządzenia, przykład: klawiatura urządzenia wyjścia tylko możliwość zapisu, przykład: drukarka Urządzenia wejścia-wyjścia (6)

Struktura mechanizmu wejścia-wyjścia sprzęt oprogramowanie Podsystem wejścia-wyjścia Moduł sterujący Moduł sterujący Moduł sterujący Sterownik portu Adapter Sterownik urządz. Sterownik urządz. Sterownik urządz. Urządzenia wejścia-wyjścia (7)

Oprogramowanie obsługi wejścia-wyjścia Podsystem wejścia-wyjścia: interfejs wejścia-wyjścia specyfikacja operacji (API), umożliwiających jednolity sposób dostępu do urządzeń wejścia-wyjścia na poziomie aplikacji buforowanie Moduł sterujący ukrywanie sprzętowych szczegółów realizacji danego urządzenia przed interfejsem wejściawyjścia: dostarczanie implementacji dla operacji z interfejsu wejścia-wyjścia w odniesieniu do danego urządzenia kontrola realizacji operacji na urządzeniu (sprawdzanie stanu, poprawności, transfer danych) Urządzenia wejścia-wyjścia (8)

Sterownik urządzenia zajętość gotowość bezczynność 0 0 zakończenie 0 1 praca 1 0... zajętość gotowość kod błędu... (stan przejść.) 1 1 sterowanie logika stan rejestry danych Urządzenia wejścia-wyjścia (9)

Miejsce urządzeń wejścia-wyjścia w architekturze systemu komputerowego Odwzorowanie w przestrzeni adresowej wejścia-wyjś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 firmy Intel). 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. Urządzenia wejścia-wyjścia (10)

Interakcja jednostki centralnej ze sterownikiem urządzenia wejścia-wyjścia Odpytywanie (ang. polling) ciągłe lub okresowe sprawdzanie stanu sterownika Sterowanie przerwaniami (ang. interrupt-driven I/O) inicjalizacja pracy sterownika przez procesor i obsługa urządzenia po zakończeniu działania w ramach reakcji na przerwanie Bezpośredni dostęp do pamięci (ang. direct memory access) inicjalizacja pracy sterownika przez procesor i uruchomienie układu bezpośredniego dostępu do pamięci w celu realizacji transferu danych pomiędzy sterownikiem a pamięcią Urządzenia wejścia-wyjścia (11)

Przebieg czasowy odpytywania procesor sterownik Urządzenia wejścia-wyjścia (12)

Interakcja procesor sterownik w operacji wyjścia w trybie odpytywania NIE urządz. dostępne 0 bit zlecenia =? TAK 1 procesor 0 zapisz rejestr danych wyjściowych bit zlec. zapisu := 1 bit got. =? 1 bit gotowości := 0 odczyt. rejestr danych wyjściowych wykonaj operację na urządzeniu zew. bit zlecenia := 0 bit gotowości := 1 bit zajętości := 0 sterownik Urządzenia wejścia-wyjścia (13)

Interakcja procesor sterownik w operacji wejścia w trybie odpytywania procesor NIE urządz. dostępne TAK bit zlec. odczytu := 1 0 bit zlec. =? 0 zapisz rejestr danych bit got. =? wejściowych 1 wykonaj operację na urządzeniu zew. sterownik 1 bit gotowości := 0 odczytaj rejestr danych wej. bit zlecenia := 0 bit gotowości := 1 bit zajętości := 0 Urządzenia wejścia-wyjścia (14)

Odpytywanie przepływ sterowania 1 przetwarzanie aplikacyjne zapis I/O moduł sterujący zlecenie I/O 4 1 4 oczekiwanie 5 realizacja na osi czasu realizacja operacji I/O 2 5 2 3 zapis I/O 4 oczekiwanie 5 realizacja operacji I/O 3 Urządzenia wejścia-wyjścia (15)

Przebieg czasowy obsługi urządzenia sterowanej przerwaniami procesor sterownik urządzenia sterownik przerwań Urządzenia wejścia-wyjścia (16)

Obsługa sterowana przerwaniami zlecenie operacji operacja wyjścia operacja wejścia NIE urządz. dostępne NIE urządz. dostępne TAK TAK zapisz rejestr danych wyjściowych bit zlecenia odczytu := 1 bit zlecenia zapisu := 1 zapisanie danych o zainicjaliz. operacji umieszczenie zlecenia wej-wyj w kolejce powrót do przetwarz. użyt. Urządzenia wejścia-wyjścia (17)

Obsługa sterowana przerwaniami reakcja na przerwanie operacja wyjścia odczyt danych o zainicjaliz. operacji operacja wejścia odczyt danych o zainicjaliz. operacji bit got =? 0 błąd 0 bit got. =? 1 1 usunięcie danych o zainicjaliz. operacji odczyt. rejestr danych wejściowych zainicjaliz. kolejnej operacji I/O powrót z przerwania Urządzenia wejścia-wyjścia (18)

Sterowanie przerwaniami przepływ sterowania przetwarzanie aplikacyjne moduł sterujący 1 realizacja na osi czasu 1 2a 2b 3a 3b zapis I/O zapis I/O zlecenie I/O podprogram obsługi przerwania 4 5 4 2a 5 2b 4 3a 5 3b realizacja operacji I/O realizacja operacji I/O Urządzenia wejścia-wyjścia (19)

Obsługa przerwań wielokrotnych Przerwania wielokrotne oznaczają zgłoszenie kolejnego przerwania w czasie obsługi innego przerwania. Podejścia do obsługi przerwań wielokrotnych: obsługa sekwencyjna, obsługa zagnieżdżona, obsługa priorytetowa Urządzenia wejścia-wyjścia (20)

Sekwencyjna obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania 1 procedura obsługi przerwania 2 Urządzenia wejścia-wyjścia (21)

Zagnieżdżona obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania 1 procedura obsługi przerwania 2 Urządzenia wejścia-wyjścia (22)

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 Urządzenia wejścia-wyjścia (23)

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. Urządzenia wejścia-wyjścia (24)

Sposoby identyfikacji źródła przerwania Wiele linii przerwań doprowadzenie do procesora osobnej linii przerwania dla każdego urządzenia Odpytywanie programowe odczyt rejestru stanu i sprawdzanie bitu gotowości każdego urządzenia Odczyt wektora odczytanie z magistrali informacji o adresie lub numerze urządzenia, które zgłosiło przerwanie, lub też numerze zgłoszonego przerwania Urządzenia wejścia-wyjścia (25)

Poziomy obsługi przerwań poziom 0 wszystkie przerwania odblokowane poziom 1 wyłączenie zadań okresowych szeregowanych za pomocą czasomierzy poziom 2 wyłączenie przetwarzania protokołu sieciowego poziom 3 wyłączenie przerwań od terminala poziom 4 wyłączenie przerwań od dysku poziom 5 wyłączenie przerwań od urządzeń sieciowych poziom 6 wyłączenie przerwań od zegara sprzętowego poziom 7 wyłączenie wszystkich przerwań Urządzenia wejścia-wyjścia (26)

Efektywność interakcji procesora ze sterownikiem oznaczenia T c czas przetwarzania (obliczeń) przez procesor T d czas realizacji operacji wejścia-wyjścia przez sterowniki urządzeń T o skumulowany narzut czasowy, wynikający ze zwłoki pomiędzy zgłoszeniem gotowości przez sterownik, a reakcją przez procesor T t całkowity czas realizacji przetwarzania Urządzenia wejścia-wyjścia (27)

Narzut czasowy W trybie odpytywania narzut czasowy T o = T p, gdzie T p skumulowane opóźnienie w pętli odpytywania pomiędzy ustawieniem bitu gotowości, a odczytaniem rejestru stanu. W trybie sterowania przerwaniami narzut czasowy T o = T b + T h + T r, gdzie: T b skumulowany czas oczekiwania na zwolnienie urządzenia, T h skumulowany czas obsługi przerwań, T r skumulowany czas oczekiwania na przydział procesora po zakończeniu operacji wejścia-wyjścia. Urządzenia wejścia-wyjścia (28)

Porównanie efektywności przetwarzania w systemie jednozadaniowym W systemie jednozadaniowym czas cyklu przetwarzania T t = T c + T d + T o Ponieważ T p < T h + T b + T r w systemie jednozadaniowym odpytywanie zapewnia większą efektywność nawet przy założeniu, że T r = 0 i T b = 0, z punktu widzenie pojedynczego procesu odpytywanie zapewnia większą efektywność Urządzenia wejścia-wyjścia (29)

Czas przetwarzania w systemie wielozadaniowym (1) Rozważmy zbiór procesów współbieżnych P 1,..., P n. Niech T t,i, T d,i, T c,i, T p,i, T h,i, T b,i i T r,i oznaczają odpowiednie parametry czasowe procesu P i. Całkowity czas przetwarzania zbioru procesów w trybie odpytywania: Urządzenia wejścia-wyjścia (30)

Czas przetwarzania w systemie wielozadaniowym (2) Całkowity czas przetwarzania w trybie sterowania przerwaniami, przy założeniu, że: wariant optymistyczny wariant pesymistyczny Urządzenia wejścia-wyjścia (31)

Porównanie efektywności w systemie wielozadaniowym Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie optymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie pesymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy Urządzenia wejścia-wyjścia (32)

Bezpośredni dostęp do pamięci pamięć pamięć procesor procesor DMA sterownik sterownik tradycyjne I/O I/O z DMA Urządzenia wejścia-wyjścia (33)

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 Urządzenia wejścia-wyjścia (34)

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. Urządzenia wejścia-wyjścia (35)

Dopasowanie różnic szybkości Przykład: komputer potrafi przekazać dane znacznie szybciej niż drukarka je przetworzyć (drukować). Urządzenia wejścia-wyjścia (36)

Dopasowanie jednostek transmisji Przykład: zapis na dysku danych odbieranych z sieci. Urządzenia wejścia-wyjścia (37)

Semantyka kopii bufor pamięć dysk Urządzenia wejścia-wyjścia (38)

Realizacja buforowania brak buforowania bufor pojedynczy bufor podwójny bufor cykliczny Urządzenia wejścia-wyjścia (39)

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. Urządzenia wejścia-wyjścia (40)

Spooling Urządzenia wejścia-wyjścia (41)

Wirtualne wejście-wyjście proces proces proces podsys. wej-wyj moduł sterujący stos protokołów moduł sterujący 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 Urządzenia wejścia-wyjścia (42)