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

Slides:



Advertisements
Podobne prezentacje
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Advertisements

Wirtualizacja zasobów w systemach operacyjnych
Monitory i systemy graficzne
Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Moduł 2. Struktury Systemów Komputerowych
SYSTEMY OPERACYJNE WSTĘP
Magistrale.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 3: Struktura systemu operacyjnego
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Płyty główne Budowa.
ZARZĄDZANIE PROCESAMI
9. KOORDYNACJA PROCESÓW WSPÓŁBIEŻNYCH PRZY UŻYCIU INTERPRETATORA
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Wątki.
Efektywna transmisja plików za pomocą TCP Piotr Kasprzyk Instytut Informatyki Politechniki Śląskiej.
Systemy operacyjne i sieci komputerowe
Układy wejścia-wyjścia
Zdzisław Stryła Instytut Fizyki UAM
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Układy kombinacyjne cz.2
Architektura komputerów
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Architektura komputerów
Architektura komputerów
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Opracowanie: Maria Wąsik
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
Budowa komputera.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wiadomości wstępne o sieciach komputerowych
Temat 4: Rodzaje, budowa i funkcje urządzeń sieciowych.
Etapy pracy biosu.
Prezentacja i szkolenie
Problem sekcji krytycznej
Przerwanie ang. interrupt.
Buforowanie D e f i n i c j a.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
System operacyjny – skąd się wziął?
Etapy uruchamiania systemu Pliki konfiguracyjne
W ą t e k (lekki proces) thread.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Sieci komputerowe E-learning
BUDOWA I ZASADA DZIAŁANIA
Procesor, pamięć, przerwania, WE/WY, …
Struktura wewnętrzna mikrokontrolera zamkniętego
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Płyta główna. Magistrale I/O
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
Mikrokontrolery System przerwań
Zapis prezentacji:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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