Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ROZDZIAŁ 12: Systemy wejścia-wyjścia

Podobne prezentacje


Prezentacja na temat: "ROZDZIAŁ 12: Systemy wejścia-wyjścia"— 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 Operacyjnych 12.1 Silberschatz 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 Operacyjnych 12.2 Silberschatz and Galvin ©1998

3 Określenie stanu urządzenia
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 Operacyjnych 12.3 Silberschatz and Galvin ©1998

4 Przerwanie skierowane do procesora jest wyzwalane z urządzenia we/wy
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 Operacyjnych 12.4 Silberschatz and Galvin ©1998

5 Przerwanie - cykl wejścia-wyjścia
Procesor Sterownik 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 2 3 4 7 5 6 Podstawy Systemów Operacyjnych 12.5 Silberschatz and Galvin ©1998

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 Operacyjnych 12.6 Silberschatz and Galvin ©1998

7 6 etapów przesyłania w trybie DMA
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 0. 6. Kiedy C=0, wtedy sterownik DMA przerywa pracę procesora w celu zasygnalizowania zakończenia przesyłania. Podstawy Systemów Operacyjnych 12.7 Silberschatz and Galvin ©1998

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 Operacyjnych 12.8 Silberschatz 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 Operacyjnych 12.9 Silberschatz and Galvin ©1998

10 Unix i Windows/NT posiadają interfejs gniazd
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 Operacyjnych Silberschatz and Galvin ©1998

11 Zapewniają bieżący czas, upływ czasu, czasomierz
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 Operacyjnych Silberschatz 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 Operacyjnych Silberschatz 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 Operacyjnych 12.12a Silberschatz 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 Operacyjnych Silberschatz 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 Operacyjnych Silberschatz and Galvin ©1998

16 Logi systemowe utrzymują raporty o błędach
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 Operacyjnych Silberschatz 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 Operacyjnych Silberschatz 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 Operacyjnych Silberschatz and Galvin ©1998

19 Etapy wykonania zamówienia wejścia-wyjścia
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 Podstawy Systemów Operacyjnych Silberschatz and Galvin ©1998

20 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 Operacyjnych Silberschatz and Galvin ©1998

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

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 Operacyjnych Silberschatz and Galvin ©1998


Pobierz ppt "ROZDZIAŁ 12: Systemy wejścia-wyjścia"

Podobne prezentacje


Reklamy Google