Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ROZDZIAŁ 12: Systemy wejścia-wyjścia Sprzęt wejścia-wyjścia Użytkowy interfejs wejścia-wyjścia Podsystem wejścia-wyjścia w jądrze Przekształcenie żądań

Podobne prezentacje


Prezentacja na temat: "ROZDZIAŁ 12: Systemy wejścia-wyjścia Sprzęt wejścia-wyjścia Użytkowy interfejs wejścia-wyjścia Podsystem wejścia-wyjścia w jądrze Przekształcenie żądań"— Zapis prezentacji:

1 ROZDZIAŁ 12: Systemy wejścia-wyjścia Sprzęt wejścia-wyjścia Użytkowy interfejs wejścia-wyjścia Podsystem wejścia-wyjścia w jądrze Przekształcenie żądań operacji wejścia-wyjścia na operacje systemowe Wydajność Podstawy Systemów Operacyjnych12.1Silberschatz and Galvin ©1998

2 Sprzęt wejścia-wyjścia Niewiarygodna różnorodność urządzeń we/wy Pojęcia wspólne –port –szyna (łańcuch lub dzielony bezpośredni dostęp) –sterownik (adapter główny) Instrukcje we/wy kontrolują urządzenia Urządzenia mają adresy używane przez –bezpośrednie instrukcje we/wy –mapowanie pamięci we/wy Podstawy Systemów Operacyjnych12.2Silberschatz and Galvin ©1998

3 Odpytywanie Określenie stanu urządzenia –gotowy –zajęty –błąd Zastosowanie cyklu Zajęty-czekaj dla oczekiwania na zakończenie pracy przez urządzenia we/wy Podstawy Systemów Operacyjnych12.3Silberschatz and Galvin ©1998

4 Przerwania Przerwanie skierowane do procesora jest wyzwalane z urządzenia we/wy Procedura obsługi przerwania przejmująca przerwanie Zastosowanie maskowania przerwań do ignorowania lub opóźniania niektórych przerwań Wektor przerwań rozprowadzający przerwanie do właściwej procedury obsługowej –bazujący na priorytetach przerwań –niektóre przerwania są niemaskowalne Mechanizm przerwań jest także używany dla wyjątków Podstawy Systemów Operacyjnych12.4Silberschatz and Galvin ©1998

5 Przerwanie - cykl wejścia-wyjścia Podstawy Systemów Operacyjnych12.5Silberschatz and Galvin ©1998 ProcesorSterownik wejścia-wyjścia 1 Moduł sterujący urządzenia rozpoczyna operację wejścia-wyjścia Między rozkazami procesor sprawdza występowanie przerwań Procesor przyjmuje przerwanie i przekazuje sterowanie procedurze obsługi przerwania Procedura obsługi przerwania przetwarza dane i wykonuje powrót po przerwaniu Procesor podejmuje wykonywanie przerwanego zadania Rozpoczęcie operacji wejścia-wyjścia Gotowość wejścia, wyjście zakończone lub błąd – wytworzenie sygnału przerwania

6 Bezpośredni dostęp do pamięci Używany do uniknięcia programowej obsługi operacji we/wy przesyłających duże porcje danych Wymaga kontrolera DMA Omija procesor aby przenieść dane bezpośrednio pomiędzy we/wy a pamięcią Podstawy Systemów Operacyjnych12.6Silberschatz and Galvin ©1998

7 6 etapów przesyłania w trybie DMA Podstawy Systemów Operacyjnych12.7Silberschatz and Galvin ©1998 Szyna PCI Szyna pamięci procesora Pamięć operacyjna Bufor X Procesor Pamięć podręczna DMA, szyna, sterownik przerwań Sterownik dysku IDE Dysk 3. Sterownik dysku rozpoczyna przesyłanie DMA. 4. Sterownik dysku wysyła bajt za bajtem do sterownika DMA. 1. Moduł sterujący urządzenia otrzymuje polecenie przesłania danych dyskowych do bufora pod adresem X. 2. Moduł sterujący urządzenia zawiadamia dysk o potrzebie przesłania C bajtów do bufora pod adresem X. 5. Sterownik DMA przesyła bajty do bufora X, zwiększając adres pamięci i zmniejszając C dopóty, dopóki C jest różne od Kiedy C=0, wtedy sterownik DMA przerywa pracę procesora w celu zasygnalizowania zakończenia przesyłania.

8 Użytkowy interfejs wejścia-wyjścia Systemowe wywołania we/wy uogólniają zachowanie [sposób działania] różnych fizycznych urządzeń [enkapsułują] Warstwa sterowników urządzeń ukrywa przed jądrem różnice pomiędzy różnymi kontrolerami we/wy Urządzenia różnią się w wielu aspektach –znakowe lub blokowe –sekwencyjne lub o swobodnym dostępie –dzielone lub dedykowane –szybkość operacji –zapisująco-odczytujące, tylko do odczytu, tylko do zapisu Podstawy Systemów Operacyjnych12.8Silberschatz and Galvin ©1998

9 Urządzenia blokowe i znakowe Urządzenia blokowe zawierają sterowniki dysków –komendy: czytaj, pisz, szukaj –surowe we/wy lub dostęp poprzez system plików –możliwy dostęp do pliku odwzorowania pamięci Urządzenia znakowe to m.in. klawiatury, myszki, porty szeregowe –komendy: pobranie, przekazanie –biblioteki wyższych warstw umożliwiają edycję całej linii Podstawy Systemów Operacyjnych12.9Silberschatz and Galvin ©1998

10 Urządzenia Sieciowe Różnią się zdecydowanie od urządzeń blokowych i znakowych poprzez posiadanie własnego interfejsu Unix i Windows/NT posiadają interfejs gniazd –rozdzielenie protokołów sieciowych od operacji sieciowych –umożliwiają funkcjonalność select Bardzo różne podejścia [filozofie] (potoki, kolejki FIFO, strumienie, kolejki, skrzynki pocztowe) Podstawy Systemów Operacyjnych12.10Silberschatz and Galvin ©1998

11 Zegary i czasomierze Zapewniają bieżący czas, upływ czasu, czasomierz Czasomierz programowalny nastawiony na okresowe generowanie przerwań ioctl (w UNIX) obejmuje różne aspekty operacji we/wy takie jak czas i zegar Podstawy Systemów Operacyjnych12.11Silberschatz and Galvin ©1998

12 Wejście-wyjście z blokowaniem i bez blokowania Blokujące: proces zostaje zawieszony [wstrzymany] do czasu zakończenia operacji we/wy –łatwe w użyciu i zrozumieniu –nieodpowiednie dla niektórych zastosowań Nieblokujące: wywołanie operacji we/wy zwraca największą możliwą porcję informacji –interfejs użytkownika, kopiowanie danych (buforowane operacje we/wy) –realizowane poprzez użycie wielowątkowości –wywołanie funkcji we/wy jest natychmiastowe, zwracając w wyniku liczbę odczytanych/zapisanych bajtów Podstawy Systemów Operacyjnych12.12Silberschatz and Galvin ©1998

13 Wejście-wyjście z blokowaniem i bez blokowania Asynchroniczne: proces jest wykonywany współbieżnie z operacją we/wy –trudny w użyciu –podsystem we/wy sygnalizuje [wysyła sygnał] procesowi zakończenie operacji we/wy Podstawy Systemów Operacyjnych12.12aSilberschatz and Galvin ©1998

14 Podsystem wejścia-wyjścia w jądrze Szeregowanie –niektóre żądania wykonania operacji we/wy są porządkowane poprzez zastosowanie kolejek dedykowanych dla każdego urządzenia –niektóre systemy operacyjne próbują... Buforowanie – zapamiętywanie danych w pamięci podczas przesyłania pomiędzy urządzeniami –rozwiązuje problemy z niedopasowaniem prędkości poszczególnych urządzeń –rozwiązuje problemy z niedopasowaniem rozmiaru pakietów danych między poszczególnymi urządzeniami –utrzymuje [wspiera] semantykę kopiowania Podstawy Systemów Operacyjnych12.13Silberschatz and Galvin ©1998

15 Podsystem wejścia-wyjścia w jądrze Caching - szybka pamięć utrzymująca kopię danych –zawsze tylko kopia –kluczowa dla wydajności Spooling – utrzymywanie danych wyjściowych dla urządzenia –stosowane, gdy urządzenie może obsłużyć tylko jedno zadanie naraz –tyle co drukowanie Rezerwacja urządzeń – umożliwia wyłączny dostęp do urządzenia –wywołania systemowe dla alokacji i dealokacji [rezerwacji i zwalniania] –uwaga na możliwość zakleszczeń Podstawy Systemów Operacyjnych12.14Silberschatz and Galvin ©1998

16 Obsługa błędów Systemy operacyjne mogą odzyskiwać dane z dysku, urządzenia niedostępnego i chwilowych błędów zapisu Większość operacji we/wy zwraca w wyniku numer lub kod błędu w wypadku niepowodzenia Logi systemowe utrzymują raporty o błędach Podstawy Systemów Operacyjnych12.15Silberschatz and Galvin ©1998

17 Struktura danych jądra Jądro utrzymuje stan informacji o składnikach we/wy, w tym tabel otwartych plików, połączeń sieciowych, stanu urządzeń znakowych Wiele, wiele złożonych struktur danych dla śledzenia buforów, alokacji pamięci, brudnych bloków Zdarza się użycie metod obiektowych i przesyłania komunikatów do zaimplementowania we/wy Podstawy Systemów Operacyjnych12.16Silberschatz and Galvin ©1998

18 Przekształcenie zamówień wejścia-wyjścia na operacje sprzętowe Rozważ problem odczytu pliku z dysku dla procesu –określ urządzenie, na którym znajduje się plik –przetłumacz nazwę pliku na reprezentację sprzętową –fizycznie odczytaj dane z dysku do bufora –udostępnij dane żądającemu procesowi –zwróć sterowanie do procesu Podstawy Systemów Operacyjnych12.17Silberschatz and Galvin ©1998

19 Etapy wykonania zamówienia wejścia-wyjścia Podstawy Systemów Operacyjnych12.18Silberschatz and Galvin ©1998 Zamówienie wejścia-wyjścia Wyślij zamówienie do modułu sterującego urządzenia, w razie konieczności zablokuj proces Przetwórz zamówienie, wydaj polecenie sterownikowi, zablokuj sterownik do chwili przerwania Sprawdź urządzenie, przerwij po zakończeniu operacji wejścia-wyjścia Polecenia sterownika urządzenia Odwołanie do systemu Czy można już zrealizować zamówienie? Operacja wejścia-wyjścia zakończona, dane wejściowe są dostępne lub dane wyjściowe zostały wyprowadzone Przesyłanie (w razie potrzeby) danych do procesu oraz przekazywanie informacji o poprawnym lub błędnym zakończeniu Określ, która operacja wejścia-wyjścia została zakończona, wskaż zmianę stany podsystemowi wejścia-wyjścia Przyjmij przerwanie, przechowaj dane w buforze modułu sterującego urządzenia, jeżeli była to operacja wejścia, wyślij sygnał odblokowujący moduł sterujący urządzenia Operacja wejścia-wyjścia się skończyła, wygeneruj przerwanie Powrót po wykonaniu odwołania do systemu Przerwanie Proces użytkownika Podsystem wejścia-wyjścia w jądrze Moduł sterujący urządzenia Procedura obsługi przerwania Sterownik urządzenia klawiatury Nie Tak Czas

20 Wydajność Operacje we/wy jako podstawowy czynnik wydajności systemu –wymaga zaangażowania procesora do wykonania kodu sterownika i operacji w trybie jądra –przełączanie kontekstu dla obsługi przerwania –kopiowanie danych –ruch sieciowy szczególnie wpływa na wydajność Podstawy Systemów Operacyjnych12.19Silberschatz and Galvin ©1998

21 Komunikacja międzykomputerowa Podstawy Systemów Operacyjnych12.20Silberschatz and Galvin ©1998 Wygenerowanie przerwania Obsłużenie przerwania Moduł sterujący urządzenia Jądro Proces użytkownika Jądro Moduł sterujący urządzenia Adapter sieciowy Wygenerowanie przerwania Obsłużenie przerwania Zakończenie odwołania do systemu Adapter sieciowy Wygenerowanie przerwania Moduł sterujący urządzenia Jądro Demon sieciJądro Poddemon sieci Przełączenie kontekstu Napisanie znaku Odebranie pakietu sieciowego Przełączenie kontekstu Przełą- czenie kon- tekstu Przełą- czenie stanu Sprzęt Przełą- czenie kon- tekstu Przełą- czenie stanu Przełą- czenie kon- tekstu Sprzęt Sieć System nadawczySystem odbiorczy

22 Zwiększanie wydajności Ogranicz liczbę przełączeń kontekstu Ogranicz liczbę kopiowań danych Ogranicz przerwania poprzez stosowanie dużych transferów danych, inteligentnych kontrolerów, aktywnych odpytywań Użyj DMA Wyważ i zbalansuj [dostrój] użycie CPU, pamięci, magistrali i wydajności we/wy dla największej przepustowości Podstawy Systemów Operacyjnych12.21Silberschatz and Galvin ©1998


Pobierz ppt "ROZDZIAŁ 12: Systemy wejścia-wyjścia Sprzęt wejścia-wyjścia Użytkowy interfejs wejścia-wyjścia Podsystem wejścia-wyjścia w jądrze Przekształcenie żądań"

Podobne prezentacje


Reklamy Google