Urządzena wejśca-wyjśca Klasyfkacja urządzeń wejśca-wyjśca. Struktura mechanzmu wejśca-wyjśca (sprzętu oprogramowana). Interakcja jednostk centralnej z urządzenam wejśca-wyjśca: odpytywane, sterowane przerwanam, bezpośredn dostęp do pamęc. Buforowane, przechowywane podręczne spoolng. Wrtualne wejśce-wyjśce. Systemy operacyjne Wykład 5 /39
Rodzaje urządzeń wejśca-wyjśca Urządzena składowana danych (dysk, dysketk, taśmy, CD ROM, DVD tp.). Urządzena transmsj danych na odległość (karty secowe, modemy). Urządzena do komunkacj z człowekem (montory, projektory, klawatury, myszy, drukark, skanery tp.). Urządzena specjalzowane: układy sterowana (np. elektrowną, samolotem, systemem obrony antyraketowej td.), kasy drukark fskalne tp., urządzena medyczne. Systemy operacyjne Wykład 5 2/39
Właścwośc urządzeń wejśca-wyjśca Tryb transmsj danych: znakowy przykazywane danych odbywa sę bajt po bajce, przykład: port szeregowy, blokowy przykazywane danych odbywa sę w blokach (np. po 52 bajtów), przykład: dysk. Sposób dostępu do danych: sekwencyjny dane przekazywane są w określonym porządku, narzuconym przez urządzene, przykład: karta secowa, bezpośredn (swobodny) możlwe jest określene lokalzacj danych na urządzenu, przykład: dysk. Tryb pracy urządzena: synchronczny dane zostaną przekazane w znanym z góry (przewdywalnym) czase, przykład: dysk, karta grafczna, asynchronczny dane mogą zostać przesłane w dowolnym, trudnym do przewdzena, momence, przykład: klawatura, karta secowa. Systemy operacyjne Wykład 5 3/39
Właścwośc urządzeń wejśca-wyjśca cd. Tryb użytkowana: współdzelony dopuszczalne jest współbeżne używane urządzena przez wele procesów, np.: dysk, wyłączny nemożlwe jest współbeżne używane urządzena przez wele procesów, przykład: drukarka. Szybkość dzałana (transmsj): od bardzo wolnych, przykład: drukarka, do stosunkowo szybkch, przykład: dysk. Kerunek przekazywana danych: urządzena wejśca wyjśca możlwość zarówno zapsu jak odczytu, przykład dysk, karta secowa, urządzena wejśca tylko możlwość odczytu z urządzena, przykład: klawatura, urządzena wyjśca tylko możlwość zapsu, przykład: drukarka. Systemy operacyjne Wykład 5 4/39
sprzęt oprogramowane Struktura mechanzmu wejśca-wyjśca podsystem wejśca - wyjśca moduł sterujący moduł sterujący moduł sterujący sterownk portu sterownk urządzena sterownk urządzena adapter sterownk urządzena Systemy operacyjne Wykład 5 5/39
Oprogramowane obsług wejśca-wyjśca Podsystem wejśca-wyjśca: nterfejs wejśca-wyjśca specyfkacja operacj (API), umożlwających jednolty sposób dostępu do urządzeń wejśca-wyjśca na pozome aplkacj, buforowane. Moduł sterujący ukrywane sprzętowych szczegółów realzacj danego urządzena przed nterfejsem wejśca-wyjśca: dostarczane mplementacj dla operacj z nterfejsu wejśca-wyjśca w odnesenu do danego urządzena, kontrola realzacj operacj na urządzenu (sprawdzane stanu, poprawnośc, transfer danych). Systemy operacyjne Wykład 5 6/39
Sterownk urządzena zajętość gotowość bezczynność 0 0 zakończene 0 praca 0 (stan przej.) zajętość gotowość kod błędu sterowane logka stan rejestry danych Systemy operacyjne Wykład 5 7/39
Mejsce urządzeń wejśca-wyjśca w archtekturze systemu komputerowego Odwzorowane w przestrzen adresowej wejścawyjśca (tzw. zolowane wejśce-wyjśce) rejestry sterownka wdoczne są w przestrzen adresowej wejśca-wyjśca systemu komputerowego dostępne są przez specjalne rozkazy (np. n out w procesorach frmy Intel). Odwzorowane w przestrzen adresowej pamęc rejestry sterownka wdoczne są w przestrzen adresowej pamęc fzycznej dostępne są pod odpowednm adresam tak samo, jak nne komórk pamęc. Systemy operacyjne Wykład 5 8/39
Interakcja jednostk centralnej ze sterownkem urządzena wejśca-wyjśca Odpytywane (pollng) cągłe lub okresowe sprawdzane stanu sterownka. Sterowane przerwanam (nterrupt-drven I/O) ncjalzacja pracy sterownka przez procesor obsługa urządzena po zakończenu dzałana w ramach reakcj na przerwane. Bezpośredn dostęp do pamęc (drect memory access) ncjalzacja pracy sterownka przez procesor uruchomene układu bezpośrednego dostępu do pamęc w celu realzacj transferu danych pomędzy sterownkem a pamęcą. Systemy operacyjne Wykład 5 9/39
Przebeg czasowy odpytywana procesor sterownk Systemy operacyjne Wykład 5 0/39
procesor Interakcja procesor sterownk w operacj wyjśca w trybe odpytywana NIE urządz. dostępne 0 bt zlecena =? TAK zapsz rejestr danych wyjścowych bt zlec. zapsu := odczytaj rejestr danych wyjścowych wykonaj operację na urządzenu zewnętrz. sterownk 0 bt gotow. =? bt gotowośc := 0 bt zlecena := 0 bt gotowośc := bt zajętośc := 0 Systemy operacyjne Wykład 5 /39
procesor Interakcja procesor sterownk w operacj wejśca w trybe odpytywana NIE urządz. dostępne 0 bt zlecena =? TAK bt zlec. odczytu := wykonaj operację na urządzenu zewnętrz. sterownk 0 bt gotow. =? zapsz rejestr danych wejścowych bt gotowośc := 0 odczytaj rejestr danych wejścowych bt zlecena := 0 bt gotowośc := bt zajętośc := 0 Systemy operacyjne Wykład 5 2/39
Odpytywane przepływ sterowana przetwarzane aplkacyjne moduł sterujący realzacja na os czasu zaps I/O zlecene I/O 4 4 oczekwane 5 realzacja operacj I/O 2 3 zaps I/O 5 2 4 oczekwane 5 3 realzacja operacj I/O Systemy operacyjne Wykład 5 3/39
Przebeg czasowy obsług urządzena sterowanej przerwanam procesor sterownk sterownk przerwań Systemy operacyjne Wykład 5 4/39
Obsługa sterowana przerwanam operacja wyjśca zlecene operacj operacja wejśca NIE urządz. dostępne NIE urządz. dostępne TAK TAK zapsz rejestr danych wyjścowych bt zlecena odczytu := bt zlecena zapsu := zapsane danych o zancjalz. operacj umeszczene zlecena wej-wyj w kolejce powrót do przetwarzana użytkowego Systemy operacyjne Wykład 5 5/39
Obsługa sterowana przerwanam reakcja na przerwane operacja wyjśca odczyt danych o zancjalz. operacj operacja wejśca odczyt danych o zancjalz. operacj bt got. =? błąd bt got. =? 0 0 usuwane danych o zancjalz. operacj odczyt. rejestru danych wejścowych zancjalz. kolejnej operacj I/O powrót z przerwana Systemy operacyjne Wykład 5 6/39
Sterowane przerwanam przepływ sterowana przetwarzane aplkacyjne moduł sterujący realzacja na os czasu 2a 2b 3a 3b zaps I/O zaps I/O zlecene I/O podprogram obsług przerwana 4 5 4 2a 5 2b 4 3a 5 3b realzacja operacj I/O realzacja operacj I/O Systemy operacyjne Wykład 5 7/39
Obsługa przerwań welokrotnych Przerwana welokrotne oznaczają zgłoszene kolejnego przerwana w czase obsług nnego przerwana. Podejśca do obsług przerwań welokrotnych: obsługa sekwencyjna, obsługa zagneżdżona, obsługa prorytetowa. Systemy operacyjne Wykład 5 8/39
Sekwencyjna obsługa przerwań przepływ sterowana program użytkownka procedura obsług przerwana procedura obsług przerwana 2 Systemy operacyjne Wykład 5 9/39
Zagneżdżona obsługa przerwań przepływ sterowana program użytkownka procedura obsług przerwana procedura obsług przerwana 2 Systemy operacyjne Wykład 5 20/39
Prorytetowa obsługa przerwań przepływ sterowana program użytkownka procedura obsług przerwana procedura obsług przerwana o wysokm prorytece procedura obsług przerwana o nskm prorytece Systemy operacyjne Wykład 5 2/39
Problemy współbeżnej obsług welu urządzeń Problem dentyfkacj źródła przerwana zdentyfkowane urządzena, które poprzez zgłoszene przerwana wymusło przekazane sterowana do procedury obsług przerwana. Problem prorytetów zagwarantowane określonej kolejnośc wyboru urządzeń w przypadku deklaracj gotowośc klku z nch w tym samym czase. Systemy operacyjne Wykład 5 22/39
Sposoby dentyfkacj źródła przerwana Wele ln przerwań doprowadzene do procesora osobnej ln przerwana dla każdego urządzena. Odpytywane programowe odczyt rejestru stanu sprawdzane btu gotowośc każdego urządzena. Odczyt wektora odczytane z magstral nformacj o adrese lub numerze urządzena, które zgłosło przerwane, lub też numerze zgłoszonego przerwana. Systemy operacyjne Wykład 5 23/39
Pozomy obsług przerwań pozom 0 wszystke przerwana odblokowane pozom wyłączene zadań okresowych szeregowanych za pomocą czasomerzy pozom 2 wyłączene przetwarzana protokołu secowego pozom 3 wyłączene przerwań od termnala pozom 4 wyłączene przerwać od dysku pozom 5 wyłączene przerwań od urządzeń secowych pozom 6 wyłączene przerwań od zegara sprzętowego pozom 7 wyłączene wszystkch przerwań Systemy operacyjne Wykład 5 24/39
Efektywność nterakcj procesora ze sterownkem oznaczena T c czas przetwarzana (oblczeń) przez procesor. T d czas realzacj operacj wejśca-wyjśca przez sterownk urządzeń. T o skumulowany narzut czasowy, wynkający ze zwłok pomędzy zgłoszenem gotowośc przez sterownk, a reakcją przez procesor. T t całkowty czas realzacj przetwarzana. Systemy operacyjne Wykład 5 25/39
Narzut czasowy W trybe odpytywana narzut czasowy T o = T p, gdze T p skumulowane opóźnene w pętl odpytywana pomędzy ustawenem btu gotowośc, a odczytanem rejestru stanu. W trybe sterowana przerwanam narzut czasowy T o = T b + T h + T r, gdze: T b skumulowany czas oczekwana na zwolnene urządzena, T h skumulowany czas obsług przerwań, T r skumulowany czas oczekwana na przydzał procesora po zakończenu operacj wejśca-wyjśca. Systemy operacyjne Wykład 5 26/39
Porównane efektywnośc przetwarzana w systeme jednozadanowym W systeme jednozadanowym czas cyklu przetwarzana T t = T c + T d + T o. Poneważ T p < T h + T b + T r w systeme jednozadanowym odpytywane zapewna wększą efektywność nawet przy założenu, że T r = 0 T b = 0, z punktu wdzene pojedynczego procesu odpytywane zapewna wększą efektywność. Systemy operacyjne Wykład 5 27/39
Systemy operacyjne Wykład 5 28/39 Czas przetwarzana w systeme welozadanowym n p n d n c n t T T T T,,,, n d n T c T,, d n n h n c n t T T T T,...,,, max Rozważmy zbór procesów współbeżnych P,..., P n. Nech T t,, T d,, T c,, T p,, T h,, T b, T r, oznaczają odpowedne parametry czasowe procesu P. Całkowty czas przetwarzana zboru procesów w trybe odpytywana: Całkowty czas przetwarzana w trybe sterowana przerwanam, przy założenu, że: n h n c n t T T T,,, warant optymstyczny warant pesymstyczny
Porównane efektywnośc w systeme welozadanowym Ogólna efektywność przetwarzana w trybe sterowana przerwanam w warance optymstycznym jest wększa w porównanu z trybem odpytywana wówczas, gdy n T d, n T Ogólna efektywność przetwarzana w trybe sterowana przerwanam w warance pesymstycznym jest wększa w porównanu z trybem odpytywana wówczas, gdy n T d, max... n T d, Systemy operacyjne Wykład 5 29/39 p, n n T T p, h, n T h,
Bezpośredn dostęp do pamęc pamęć pamęć procesor procesor DMA sterownk sterownk tradycyjne I/O I/O z DMA Systemy operacyjne Wykład 5 30/39
Organzacja wejśca-wyjśca z układem DMA CPU DMA urządze -ne I/O urządze -ne I/O pamęć CPU DMA urządze -ne I/O urządze -ne I/O DMA urządze -ne I/O pamęć CPU pamęć DMA urządze -ne I/O urządze -ne I/O Systemy operacyjne Wykład 5 3/39
Buforowane Dopasowane urządzeń różnących sę szybkoścą przekazywana danych dopasowane chwlowo szybszego producenta danych do możlwośc konsumenta. Dopasowane urządzeń różnących sę podstawową jednostką transmsj danych dopasowane w celu efektywnego przekazywana danych urządzeń przesyłających mnejsze jednostk danych do urządzeń wymagających wększych jednostek lub odwrotne (fragmentowane). Semantyka kop zagwarantowane nezmennośc danych w czase wykonywana operacj wejścawyjśca. Systemy operacyjne Wykład 5 32/39
Dopasowane różnc szybkośc Przykład: komputer potraf przekazać dane znaczne szybcej nż drukarka je przetworzyć (drukować). Systemy operacyjne Wykład 5 33/39
Dopasowane jednostek transmsj Przykład: zaps na dysku danych odberanych z sec. Systemy operacyjne Wykład 5 34/39
Semantyka kop bufor pamęć dysk Systemy operacyjne Wykład 5 35/39
Realzacja buforowana brak buforowana bufor pojedynczy bufor cyklczny bufor podwójny Systemy operacyjne Wykład 5 36/39
Przechowywane podręczne Przechowywane podręczne polega na gromadzenu kop danych w pamęc w celu poprawy efektywnośc ch przetwarzana. Przechowywane podręczne w przypadku operacj wejśca zmnejsza czas dostępu. Przechowywane podręczne w przypadku operacj wyjśca umożlwa skumulowane wynków przetwarzana w dłuższym czase przekazane ch na urządzene zewnętrzne w wynku jednej operacj wyjśca. Systemy operacyjne Wykład 5 37/39
Spoolng Systemy operacyjne Wykład 5 38/39
Wrtualne wejśce-wyjśce urządzene port komunkacyjny system plków proces proces proces podsystem wej-wyj moduł sterujący stos protokołów moduł sterujący logczny system plków organzacja fzyczna systemu plków sterownk urządzena sterownk urządzena moduł sterujący sterownk urządzena Systemy operacyjne Wykład 5 39/39