Wejście-wyjście. Wiesław Płaczek Systemy Operacyjne: Wykład 10 1
|
|
- Karolina Lis
- 6 lat temu
- Przeglądów:
Transkrypt
1 Wiesław Płaczek Systemy Operacyjne: Wykład 10 1 Wejście-wyjście Wprowadzenie. Sprzęt wejścia-wyjścia (WE/WY). Interfejs WE/WY. Podsystem WE/WY w jądrze. Przekształcenia zamówień WE/WY na operacje sprzętowe. Strumienie (STREAMS). Wydajność.
2 Wprowadzenie ü Komputer wykonuje dwa główne zadania: przetwarza informacje i obsługuje działania na wejściu i wyjściu. Duża różnorodność urządzeń WE/WY pod względem szybkości i funkcji (np. mysz komputerowa, dysk HD, nagrywarka CD/DVD) sprawia, że do sterowania nimi potrzeba różnorodnych metod. Metody te tworzą w jądrze podsystem wejścia-wyjścia (I/O subsystem) oddzielający resztę jądra od złożoności zarządzania wejściem-wyjściem. Podstawowe elementy sprzętowe WE/WY występujące w wielu urządzeniach zewnętrznych to: porty, szyny i sterowniki urządzeń (device controllers). Aby ogarnąć szczegóły i osobliwości tych urządzeń, w jądrze systemu operacyjnego umieszcza się moduły sterujące (device drivers). Moduły sterujące tworzą jednolity interfejs dostępu do podsystemu WE/WY (podobnie jak wywołania systemowe tworzą standardowy interfejs między aplikacjami a systemem operacyjnym). Wiesław Płaczek Systemy Operacyjne: Wykład 10 2
3 Sprzęt wejścia-wyjścia Typowe urządzenia, z których korzystają komputery: Urządzenia pamięci: dyski, karty pamięci, taśmy itd. Urządzenia przesyłania danych: karty sieciowe, modemy itd. Urządzenia interfejsu z człowiekiem: ekran monitora, klawiatura, mysz itd. Typowe elementy sprzętowe WE/WY: Port (port) punkt, przez który urządzenie kontaktuje się z maszyną; Szyna (magistrala) (bus) wspólna wiązka przewodów, z której korzysta jedno lub więcej urządzeń, posiadająca ściśle zdefiniowany protokół, precyzujący zbiór komunikatów, który można tymi przewodami przesyłać. Ø Np. szyna PCI, szyna rozszerzająca, szyna SCSI w komputerach PC. Sterownik (controller) zespół układów elektronicznych służących do kierowania pracą portu, szyny lub urządzenia; niektóre urządzenia mają własne, wbudowane sterowniki, np. napęd dysku posiada sterownik dysku. Komunikacja między procesorem a sterownikiem: Sterownik posiada rejestry do pamiętania danych i sygnałów sterujących. Procesor czyta i zapisuje układy bitów w tych rejestrach. Do realizacji komunikacji służą specjalne rozkazy WE/WY określające przesłanie bajta lub słowa na adres portu WE/WY. Sterownik może też realizować operacje WE/WY odwzorowane w pamięci. Wiesław Płaczek Systemy Operacyjne: Wykład 10 3
4 Struktura szynowa typowego PC Dysk Monitor Sterownik graficzny Procesor Most lub sterownik pamięci Pamięć podręczna Pamięć operacyjna Szyna SCSI Sterownik SCSI Dysk Dysk Sterownik dysku IDE Dysk Dysk Szyna PCI Interfejs szyny rozszerzającej Szyna rozszerzająca Klawiatura Dysk Dysk Port równoległy Port szeregowy Wiesław Płaczek Systemy Operacyjne: Wykład 10 4
5 Port WE/WY Port wejścia-wyjścia składa się typowo z czterech rejestrów o następujących nazwach i funkcjach: Stan (status) zawiera bity wskazujące stany urządzenia: zakończenie bieżącego polecenia, dostępność bajta do czytania w rejestrze danych WE i wykrycie błędu w urządzeniu; jest czytany przez procesor główny. Sterowanie (control) jest zapisywany przez procesor główny w celu rozpoczęcia polecenia lub zmiany trybu pracy, np. ustalanie długości słowa, sprawdzanie parzystości itd. Dane wejściowe (data-in) jest czytany przez procesor główny w celu pobrania informacji z urządzenia. Dane wyjściowe (data-out) jest zapisywany przez procesor główny w celu wysłania informacji na wyjście. Ø Rejestry danych mają na ogół od 1 do 4 B, niektóre mają układy FIFO do przechowywania kilku bajtów (pomagają rozładowywać chwilowe spiętrzenia danych). Wiesław Płaczek Systemy Operacyjne: Wykład 10 5
6 v q Odpytywanie (Polling) Prostym protokołem konwersacji między procesorem głównym a sterownikiem urządzenia jest tzw. uzgadnianie (handshaking). Przykład: Komunikacja typu producent-konsument potrzebne 2 bity: Sterownik zaznacza swój stan za pomocą bitu zajęte (busy) w rejestrze stanu: ustawia, gdy jest zajęty pracą, a czyści (tzn. zeruje) gdy jest gotów. Procesor sygnalizuje swoje życzenia za pomocą bitu gotowości polecenia (command-ready bit) w rejestrze poleceń (command register) część sterowania. 1. Procesor powtarza czytanie bitu zajęte w rejestrze stanu dopóki ten nie przyjmie wartości 0, tzn. wykonuje aktywne czekanie lub inaczej odpytywanie. 2. Kiedy bit zajęte przyjmie wartość 0, procesor ustawia bit pisania (write bit) w rejestrze poleceń i wpisuje bajt do rejestru danych wyjściowych. 3. Następnie procesor ustawia bit gotowości polecenia w rejestrze poleceń. 4. Gdy sterownik stwierdzi, że powyższy bit jest ustawiony, to ustawia bit zajęte. 5. Sterownik czyta rejestr poleceń i rozpoznaje polecenie pisania, następnie czyta bajt z rejestru danych wyjściowych i wykonuje na urządzeniu operację WE/WY. 6. Na koniec sterownik czyści bit gotowości polecenia w rejestrze poleceń, bit błędu (error bit) w rejestrze stanu (operacja się powiodła) oraz bit zajęte w rejestrze stanu sygnalizując, że zakończył działanie. Ø Schemat odpytywania można stosować wówczas, gdy sterownik i urządzenie są szybkie, natomiast dla powolnych urządzeń marnuje się dużo czasu procesora. Wiesław Płaczek Systemy Operacyjne: Wykład 10 6
7 Przerwania (Interrupts) Osprzęt procesora ma ścieżkę zwaną linią żądania przerwania. Do obsługi przerwania służy specjalna procedura obsługi przerwania (interrupt handler). Schemat podstawowego mechanizmu przerwania: Sterownik urządzenia zgłasza przerwanie za pomocą sygnału podawanego w linii żądania przerwania. Procesor przechwytuje przerwanie i ekspediuje je do procedury obsługi przerwania. Procedura obsługi czyści przerwanie obsługując urządzenie WE/WY. Podstawowy mechanizm przerwania umożliwia procesorowi reagowanie na zdarzenia asynchroniczne, np. gotowość sterownika. W większości procesorów są dwie linie żądania przerwań: Przerwania niemaskowalne, np. nieusuwalne błędy pamięci; Przerwania maskowalne (mascable) można je wyłączyć przed wykonaniem krytycznych instrukcji; używane do zgłaszania żądań obsługi przez sterowniki. Najczęściej adresy procedur obsługi przerwania znajdują się w tablicy zwanej wektorem przerwań (interrupt vector); mechanizm przerwania generuje indeks tej tablicy wskazując procedurę obsługi. Wiesław Płaczek Systemy Operacyjne: Wykład 10 7
8 Wiesław Płaczek Systemy Operacyjne: Wykład 10 8 Cykl WE/WY sterowany przerwaniem Procesor 1 Moduł sterujący urządzenia rozpoczyna operację WE/WY Między rozkazami procesor sprawdza występowanie przerwań 2 Sterownik WE/WY Rozpoczęcie operacji WE/WY 3 7 Procesor przyjmuje przerwanie i przekazuje sterowanie procedurze obsługi przerwania 4 Gotowość wejścia, wyjście zakończone lub błąd wytworzenie sygnału przerwania 5 Procedura obsługi przerwania przetwarza dane i wykonuje powrót po przerwaniu 6 Procesor podejmuje wykonywanie przerwanego działania
9 Tablica wektora zdarzeń procesora Intel Pentium Numer wektora Opis 0 Błąd dzielenia 1 Wyjątek diagnostyczny 2 Przerwanie puste 3 Punkt kontrolny 4 Wykryty nadmiar INTO 5 Wyjątek granicy przedziału 6 Niedozwolony kod operacji 7 Urządzenie niedostępne 8 Błąd podwojenia 9 Przepełnienie segmentu koprocesora (zarezerwowane) 10 Niedozwolony segment stanu zadania 11 Brak segmentu 12 Błąd stosu 13 Ochrona ogólna 14 Błąd (brak) strony 15 (zarezerwowane przez firmę Intel nie używać!) 16 Błąd zmiennopozycyjny 17 Kontrola przylegania 18 Kontrola maszyny (zarezerwowane przez firmę Intel nie używać!) Przerwania maskowalne (np. generowane przez urządzenia) Wiesław Płaczek Systemy Operacyjne: Wykład 10 9
10 Mechanizm przerwań Mechanizm przerwań zawiera też system poziomów priorytetów przerwań (interrupt priority levels), który pozwala przerwaniom wysokopriorytetowym wywłaszczać obsługę przerwań niskopriorytetowych (opóźnianie obsługi bez maskowania). Inne zastosowania mechanizmu przerwań: Do obsługi wyjątków (exceptions), jak dzielenie przez zero, zaadresowanie chronionego lub nieistniejącego obszaru pamięci itd. Przy stronicowaniu pamięci wirtualnej: brak strony przerwanie (page fault). W realizacji wywołań systemowych (system calls), tzn. funkcji wywoływanych przez programy użytkowe w celu przywołania usługi jądra; używane są specjalne rozkazy zwane przerwaniami programowymi (software interrupt) lub pułapkami (traps), które powodują przełączenie procesora do trybu jądra i przejście do wykonania odpowiedniej procedury jądra (mają relatywnie niskie priorytety). Do zarządzania przebiegiem sterowania w jądrze, np. dyskowe operacje WE/WY za pośrednictwem bufora jądra są obsługiwane przez parę procedur obsługi przerwania. Architektura z wątkami jądra umożliwia przydzielanie procedur obsługi przerwań wątkom; przypisanie wątkom priorytetów ułatwia stosowanie schematu priorytetów przerwań (np. system Solaris). ü Przerwania są stosowane we wszystkich współczesnych systemach operacyjnych do obsługi zdarzeń asynchronicznych oraz jako środek przechodzenia do procedur jądra wykonywanych w trybie nadzorcy. Wiesław Płaczek Systemy Operacyjne: Wykład 10 10
11 Bezpośredni dostęp do pamięci ü Programowane wejście-wyjście (programmed I/O PIO) procesor sprawdza bity stanu i przekazuje dane sterownikowi po jednym bajcie. L Zastosowanie PIO do urządzenia transmitującego wielkie ilości informacji jest bardzo nieefektywne (zabiera sporo czasu procesora głównego). Sterownik bezpośredniego dostępu do pamięci (direct memory access DMA) wyspecjalizowany procesor do przesyłania danych w trybie DMA: Aby rozpocząć przesyłanie procesor główny zapisuje w pamięci blok sterujący DMA, zawierający wskaźnik do źródła przesyłania, wskaźnik do miejsca docelowego przesyłania oraz liczbę bajtów do przesłania. Następnie procesor główny zapisuje adres bloku sterującego DMA w sterowniku DMA i przechodzi do kontynuowania innych prac. Sterownik DMA przejmuje bezpośredni nadzór nad szyną pamięci. Uzgadnianie przesyłania (handshaking) między sterownikiem DMA a sterownikiem urządzenia odbywa się za pomocą pary przewodów zwanych zamówieniem DMA (DMA-request) i potwierdzeniem DMA (DMA-acknowledge). Kiedy przesyłanie danych między urządzeniem WE/WY a pamięcią się zakończy, sterownik DMA powiadamia o tym procesor główny wysyłając mu przerwanie. Choć sterownik DMA kradnie cykle pamięci procesorowi głównemu, to jednak stosowanie przesyłania DMA zwykle poprawia ogólną wydajność systemu. W niektórych architekturach stosuje się bezpośredni dostęp do pamięci wirtualnej (DVMA) z wykorzystaniem adresów wirtualnych. Wiesław Płaczek Systemy Operacyjne: Wykład 10 11
12 Wiesław Płaczek Systemy Operacyjne: Wykład 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. Etapy przesyłania w trybie 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. DMA, szyna, sterownik przerwań Procesor Pamięć podręczna Szyna pamięci procesora Pamięć operacyjna X Bufor Sterownik dysku IDE Dysk Dysk Sterownik dysku rozpoczyna przesyłanie DMA. Sterownik dysku wysyła bajt za bajtem do sterownika DMA. Szyna PCI Dysk Dysk
13 Interfejs WE/WY Metody abstrakcji, enkapsulacji i strukturalizacji oraz interfejsy systemu operacyjnego umożliwiają standardowe, jednolite traktowanie urządzeń WE/WY. Często zaniedbuje się detale różniące między sobą urządzenia WE/WY wydzielając kilka ogólnych ich rodzajów. Dostęp do każdego z tych rodzajów urządzeń odbywa się za pomocą odpowiedniego interfejsu, czyli standaryzowanego zbioru funkcji. Szczegóły dotyczące poszczególnych urządzeń są zamknięte (enkapsulowane) w modułach jądra zwanych modułami sterującymi urządzeń (device drivers). Urządzenia różnią się między sobą pod wieloma względami: Tryb przesyłania danych: strumień znaków (np. terminal) lub bloki (np. dysk). Sposób dostępu: sekwencyjny (np. drukarka) lub swobodny (np. dysk). Organizacja przesyłania: synchroniczna (np. taśma), asynchroniczna (klawiatura). Sposób użytkowania: współdzielenie (np. dysk) lub wyłączność (np. taśma). Szybkość działania: od bajtów na sekundę do gigabajtów na sekundę. Kierunek przesyłania: tylko czytanie (np. CD-ROM), tylko pisanie (np. sterownik graficzny), czytanie i pisanie (np. dysk). Większość systemów posiada system obejścia (escape system), czyli tylne drzwi (back door), umożliwiający przekazanie w sposób transparentny dowolnego polecenia od aplikacji do modułu sterującego urządzenia bez konieczności dodawania nowego wywołania systemowego, np. ioctl() w Uniksie. Wiesław Płaczek Systemy Operacyjne: Wykład 10 13
14 Struktura WE/WY w jądrze Oprogramowanie Moduł sterujący urządzenia SCSI Moduł sterujący klawiatury Jądro Podsystem wejścia-wyjścia w jądrze Moduł sterujący myszy... Moduł sterujący szyny PCI Moduł sterujący dyskietek Moduł sterujący urządzenia ATAPI Sprzęt Sterownik urządzenia SCSI Urządzenia SCSI Sterownik klawiatury Klawiatura Sterownik myszy Mysz Sterownik szyny PCI Szyna PCI Sterownik dyskietek Napędy dyskietek Sterownik urządzenia ATAPI Urządzenia ATAPI (dyski, taśmy, napędy) Wiesław Płaczek Systemy Operacyjne: Wykład 10 14
15 Urządzenia blokowe i znakowe Interfejs urządzenia blokowego (block device) dotyczy dostępu do napędów dyskowych i innych urządzeń o działaniu blokowym. Polecenia: czytaj, pisz i szukaj (dla urządzeń o dostępie bezpośrednim). Dostęp do takiego urządzenia odbywa się w aplikacjach zwykle poprzez interfejs systemu plików. Możliwy jest też dostęp w trybie surowego wejścia-wyjścia (raw I/O), w którym urządzenie traktowane jest jak zwykła, liniowa tablica bloków. Dostęp do plików odwzorowywanych w pamięci (memory-mapped) zwykle tworzy warstwę powyżej modułów sterujących urządzeń umożliwia dostęp do pamięci dyskowej za pośrednictwem tablicy bajtów w pamięci operacyjnej. Interfejs urządzenia znakowego (character device) dotyczy obsługi urządzeń przetwarzających liniowy strumień bajtów, takich jak klawiatury, myszy, modemy, drukarki, karty dźwiękowe itp. Podstawowe polecenia: pobranie (get) i przekazanie (put) jednego znaku. Oprogramowanie biblioteczne znajdujące się powyżej tego interfejsu udostępnia jednorazowe przesyłanie całych wierszy tekstu z możliwością ich buforowania i edytowania liniowego (np. używając klawisza Backspace). Wiesław Płaczek Systemy Operacyjne: Wykład 10 15
16 Urządzenia sieciowe Sieciowe WE/WY różni się znacznie od dyskowego WE/WY, dlatego większość systemów operacyjnych udostępnia specjalny, sieciowy interfejs WE/WY (network I/O interface). Systemy rodziny UNIX oraz MS Windows XP/Vista/7/8 posiadają interfejs gniazda sieciowego (socket). Wywołania systemowe w tym interfejsie umożliwiają aplikacji utworzenie gniazda lokalnego w celu połączenia ze zdalnym adresem (związanym z gniazdem utworzonym przez inną aplikację) oraz nasłuchiwanie, czy któraś ze zdalnych aplikacji podłączyła się do gniazda lokalnego; za pomocą takiego połączenia aplikacja wysyła i odbiera pakiety informacji. Aby ułatwić implementację serwerów, dostarczana jest funkcja wybierz (select) do zarządzania zbiorem gniazd i informowania, które gniazda mają nie odebrane pakiety, a które mają miejsce by przyjąć nowy pakiet (uwalnia od konieczności odpytywania i aktywnego czekania). Zrealizowano też wiele innych technik komunikacji międzyprocesowej i komunikacji sieciowej: UNIX: potoki nienazwane, potoki nazwane (FIFO), strumienie, kolejki komunikatów, zdalne wywołanie procedury (remote procedure call RPC). Windows: interfejsy do kart sieciowych oraz do protokołów sieciowych. Wiesław Płaczek Systemy Operacyjne: Wykład 10 16
17 Zegary i czasomierze Większość komputerów jest zaopatrzona w sprzętowe zegary i czasomierze, które spełniają trzy podstawowe funkcje: podawanie bieżącego czasu, podawanie upływającego czasu, powodowanie wykonania operacji X w chwili czasu T. Sprzęt służący do spełniania dwóch ostatnich funkcji nazywa się czasomierzem programowalnym (programmable interval timer). Po upływie nastawionego czasu powoduje przerwanie. Można go nastawić na jednorazowe wykonanie czynności lub na periodyczne generowanie przerwań. Z czasomierza korzysta: w Planista przydziału procesora przy wywłaszczaniu procesu po upływie przydzielonego mu kwantu czasu. w Podsystem dyskowego WE/WY w celu okresowego zapisywania na dysk zawartości zmodyfikowanych buforów podręcznych (w pamięci operacyjnej). w Podsystem sieciowy w celu anulowania operacji, które są wykonywane za wolno (wskutek przeładowania sieci lub awarii). Interfejs czasomierza może być udostępniony procesom użytkownika. Rozdzielczość czasomierza wynosi od 18 do 60 tyknięć na sekundę (mała). Wiesław Płaczek Systemy Operacyjne: Wykład 10 17
18 Blokujące i nieblokujące WE/WY Wykonanie przez proces blokującego (blocking) wywołania systemowego WE/WY powoduje wstrzymanie jego działania do czasu zakończenia wykonywania tego wywołania. J Kod aplikacji z blokowaniem jest łatwiejszy do zrozumienia i użycia. L Niewystarczające dla pewnych potrzeb, np. klawiatura (mysz) i ekran. Nieblokujące (nonblocking) wywołanie systemowe WE/WY nie wstrzymuje wykonywania aplikacji na dłuższy czas, lecz kończy się szybko, przekazując informację o liczbie przesłanych bajtów. Stosowane np. w interfejsach użytkownika, w których sygnały z klawiatury i myszy przeplatają się z przetwarzaniem i wyświetlaniem danych na ekranie. Mogą być implementowanie przez wielowątkowość podczas gdy jedne wątki są blokowane przez operacje WE/WY, inne mogą kontynuować działanie (np. biblioteka poziomu użytkownika w systemie Solaris). Asynchroniczne odwołanie do systemu powrót następuje natychmiast, bez czekania na zakończenie operacji WE/WY. Aplikacja kontynuuje wykonywanie swojego kodu. Zakończenie operacji WE/WY następuje po pewnym czasie i zostaje zakomunikowane przez: ustawienie pewnej zmiennej w przestrzeni adresowej aplikacji, przekazanie sygnału, przerwanie programowe lub przywołanie. Wiesław Płaczek Systemy Operacyjne: Wykład 10 18
19 Podsystem WE/WY w jądrze Planowanie wejścia-wyjścia określenie dobrego porządku wykonywania operacji WE/WY: Utrzymywanie kolejek zamówień do każdego urządzenia. Planista WE/WY ustala porządek w kolejce tak, aby polepszyć ogólną wydajność systemu i zmniejszyć czas odpowiedzi. System operacyjny może też próbować być sprawiedliwym, tzn. dbać o to, aby żadna z aplikacji nie była źle obsługiwana lub dawać pierwszeństwo obsłudze pilnych zamówień itp. Buforowanie (buffering) przechowywanie danych w obszarze pamięci, zwanym buforem, w trakcie ich przesyłania między urządzeniami lub między urządzeniem a aplikacją; powody: Dysproporcje między szybkościami producenta i konsumenta strumienia danych (np. zapisywanie pliku na dysku przesyłanego przy pomocy modemu); często stosuje się podwójne buforowanie (dwa bufory: po zapełnieniu pierwszego bufora, drugi bufor jest zapisywany, a pierwszy w tym czasie opróżniany) usprawnia to przesyłanie danych. Dopasowanie urządzeń o różnych rozmiarach przesyłanych jednostek danych. Zapewnienie semantyki kopii na wejściu i wyjściu aplikacji najczęściej realizowane przez kopiowanie danych aplikacji do bufora jądra i udostępnianie ich do dalszych operacji za pośrednictwem tego bufora. Wiesław Płaczek Systemy Operacyjne: Wykład 10 19
20 Tablica stanów urządzeń Urządzenie: klawiatura Stan: bezczynne Urządzenie: drukarka Stan: zajęte Urządzenie: mysz Stan: bezczynność Zamówienie na drukarkę adres: długość: 1372 Urządzenie: dysk 1 Stan: bezczynność Urządzenie: dysk 2 Stan: zajęte Zamówienie na dysk 2 plik: xxx operacja: czytaj adres: długość: Zamówienie na dysk 2 plik: yyy operacja: pisz adres: długość: 500 Wiesław Płaczek Systemy Operacyjne: Wykład 10 20
21 Szybkości przesyłania w urządzeniach komputera Sun Enterprise 6000 Wiesław Płaczek Systemy Operacyjne: Wykład 10 21
22 Podsystem WE/WY w jądrze c.d. Przechowywanie podręczne (caching) kopie danych przechowywane są w szybkiej pamięci podręcznej (cache): Dostęp do kopii w pamięci podręcznej jest szybszy niż dostęp do oryginału, np. instrukcje wykonywanego procesu są pamiętane na dysku, przechowywane podręcznie w pamięci operacyjnej oraz kopiowane do podstawowej pamięci podręcznej procesora. Różni się od buforowania tym, że bufor może zawierać jedyną kopię danych. Ø Jest kluczowe dla wydajności systemu! Spooling użycie bufora (spool) do przechowywania danych przeznaczonych dla urządzenia, które nie dopuszcza przeplatania danych w przekazywanym mu strumieniu (np. drukarka). W niektórych systemach zarządzany przez proces systemowego demona, a w innych obsługiwany przez wątek w jądrze; buforem jest plik dyskowy. System operacyjny dostarcza interfejsu, który umożliwia użytkownikom wyświetlanie kolejek, usuwanie niepotrzebnych zadań z kolejki itp. Rezerwacja urządzeń środki dostępu urządzenia na wyłączność: Specjalne funkcje systemowe pozwalające procesom między sobą koordynować wyłączność dostępu (np. funkcja open() w MS Windows). Unikanie zakleszczeń należy do obowiązków aplikacji. Wiesław Płaczek Systemy Operacyjne: Wykład 10 22
23 Podsystem WE/WY w jądrze c.d. Obsługa błędów (error handling): Systemy operacyjne mogą przeciwdziałać pewnym awariom przejściowym, np. błąd czytania z dysku można naprawić powtarzając czytanie, błąd transmisji sieciowej powtórną transmisją itp. Większość systemowych wywołań WE/WY zwraca krótką informację określającą skutek wywołania: sukces lub porażka, np. w systemie UNIX większość funkcji systemowych zwraca wartość 1 w przypadku niepowodzenia i ustawia dodatkowo zmienną całkowitą errno na kod błędu, który wskazuje na odpowiednią pozycję w tablicy komunikatów informujących ogólnie o charakterze błędu. Niektóre rodzaje sprzętu dostarczają szczegółowych informacji o błędach, jednak nie wszystkie systemy operacyjne udostępniają je użytkownikom. Jądrowe struktury danych WE/WY jądro musi przechowywać informacje o stanie używanych składowych WE/WY; używa do tego rozmaitych, wewnętrznych struktur danych. Np. uniksowy system plików udostępnia wiele różnych obiektów: pliki użytkowników, surowe urządzenia, przestrzenie adresowe procesów różnice te obudowane są metodami obiektowymi w jednolitą strukturę. Niektóre systemy operacyjne używają metod obiektowych i mechanizmów przekazywania komunikatów do realizacji WE/WY (np. Windows NT). Wiesław Płaczek Systemy Operacyjne: Wykład 10 23
24 Wiesław Płaczek Systemy Operacyjne: Wykład Struktura WE/WY w jądrze UNIX Deskryptor pliku Procesowa tablica otwartych plików Ogólnosystemowa tablica otwartych plików Rekord systemu plików Wskaźnik i-węzła Wskaźnik do funkcji read i write Wskaźnik do funkcji select Wskaźnik do funkcji ioctl Wskaźnik do funkcji close Tablica aktywnych i-węzłów Pamięć procesu użytkownika Rekord sieciowy (gniazda) Wskaźnik do informacji o sieci Wskaźnik do funkcji read i write Wskaźnik do funkcji select Wskaźnik do funkcji ioctl Wskaźnik do funkcji close Pamięć jądra Tablica informacji sieciowych
25 Wiesław Płaczek Systemy Operacyjne: Wykład Podsystem WE/WY podsumowanie v Podsystem WE/WY w jądrze nadzoruje: Zarządzanie przestrzenią nazw plików i urządzeń. Kontrolowanie dostępu do plików i urządzeń. Poprawność operacji. Przydzielanie przestrzeni systemu plików. Przydzielanie urządzeń. Buforowanie, przechowywanie podręczne oraz spooling. Planowanie operacji WE/WY. Doglądanie stanu urządzeń, obsługę błędów oraz czynności naprawcze po awarii. Konfiguracja i inicjalizacja modułu sterującego urządzenia. Ø Dostęp do urządzeń na górnych poziomach podsystemu WE/WY odbywa się za pomocą jednolitego interfejsu dostarczanego przez moduły sterujące urządzeń (device drivers).
26 Przekształcenia zamówień WE/WY na operacje sprzętowe Ø W jaki sposób system operacyjny wiąże pochodzące od aplikacji zamówienie ze zbiorem kabli sieciowych lub sektorem na dysku? q Rozważmy czytanie pliku z dysku przez proces niezbędne kroki: Identyfikacja urządzenia, na którym znajduje się plik. Przetłumaczenie nazwy urządzenia na jego reprezentację, np. adres portu. w MS-DOS: pierwsza część nazwy ścieżkowej identyfikuje jednostkę sprzętu, np. C: oznacza podstawowy dysk twardy napis ten jest odwzorowywany w określony adres portu za pomocą tablicy urządzeń. w UNIX: nazwy urządzeń są pamiętane w regularnej przestrzeni nazw systemu plików (nie są wyróżnione) przedrostki nazw ścieżek są związane z nazwami poszczególnych urządzeń w tablicy montaży (mount table); nazwa urządzenia ma również postać nazwy z przestrzeni systemu plików. Odwzorowanie nazwy pliku za pomocą katalogów systemu plików na informacje o miejscu przydzielonym plikowi na dysku, np. pozycja tablicy FAT w systemie MS-DOS, numer i-węzła w systemie UNIX. Fizyczne przeczytanie danych z dysku do bufora w pamięci. Udostępnienie danych zamawiającemu je procesowi. Zwrócenie sterowania do procesu. Wiesław Płaczek Systemy Operacyjne: Wykład 10 26
27 Etapy wykonania zamówienia WE/WY Zamówienie WE/WY Wywołanie funkcji systemowej Czy można już zrealizować zamówienie? Nie Wyślij zamówienie do modułu sterującego urządzenia, w razie konieczności zablokuj proces Tak Proces użytkownika Podsystem WE/WY w jądrze Podsystem WE/WY w jądrze Operacja WE/WY zakończona, dane wejściowe są dostępne lub dane wyjściowe zostały wyprowadzone Powrót po zakończeniu funkcji systemowej Prześlij (w razie potrzeby) dane do procesu, zwróć kod poprawnego lub błędnego zakończenia Przetwórz zamówienie, wydaj polecenie sterownikowi, zablokuj sterownik do chwili przerwania Polecenie sterownika urządzenia Monitoruj urządzenie, przerwij po zakończeniu operacji WE/WY Moduł sterujący urządzenia Procedura obsługi przerwania Sterownik urządzenia Określ, która operacja WE/WY została zakończona, wskaż zmianę stanu podsystemowi WE/WY 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 Przerwanie Operacja WE/WY zakończyła się, wygeneruj przerwanie Czas Wiesław Płaczek Systemy Operacyjne: Wykład 10 27
28 Strumienie (STREAMS) Strumienie (streams) są mechanizmem Uniksa Systemu V umożliwiającym aplikacjom dynamiczne tworzenie modularnych programów obsługi urządzeń. Strumień jest dwukierunkowym (full-duplex) połączeniem między modułem sterującym urządzenia a procesem poziomu użytkownika składa się z: Czoła strumienia (stream head) interfejs z procesem użytkownika. Zakończenia modułu sterującego (driver end) nadzoruje urządzenie. Dowolnej liczby modułów strumienia (stream modules) między czołem strumienia a jego zakończeniem. Każdy moduł zawiera kolejkę czytania (read queue) i kolejkę pisania (write queue) mogą realizować kontrolę przepływu. Do przesyłania danych między kolejkami używany jest mechanizm przekazywania komunikatów. Moduły można umieszczać w strumieniu w celu dodawania do niego funkcji w sposób warstwowy za pomocą wywołania systemowego ioctl(). q Np. proces może otworzyć port szeregowy za pośrednictwem strumienia i wstawić do niego moduł umożliwiający redagowanie danych wejściowych. Strumieniowe WE/WY poniżej czoła strumienia odbywa się asynchronicznie. W wielu odmianach Uniksa (ale nie w Linuksie!) strumienie są preferowaną metodą pisania protokołów i modułów sterujących urządzeń (device drivers), np. UNIX System V oraz Solaris używają strumieni do implementacji gniazd. Wiesław Płaczek Systemy Operacyjne: Wykład 10 28
29 Wiesław Płaczek Systemy Operacyjne: Wykład Struktura strumieni Proces użytkownika Czoło strumienia Kolejka czytania Kolejka pisania Kolejka czytania Kolejka czytania Kolejka pisania Kolejka pisania Moduły Kolejka czytania Kolejka pisania Zakończenie modułu sterującego Urządzenie
30 Wydajność ü Wejście-wyjście ma istotny wpływ na wydajność systemu komputerowego. Wymaga od procesora wykonywania modułu sterującego urządzenia, kodu WE/WY jądra, blokowania i odblokowywania procesów. Związane z obsługą WE/WY przełączanie kontekstu obciąża procesor i jego sprzętową pamięć podręczną. Obsługa przerwań jest także zadaniem względnie kosztownym (choć współczesne komputery mogą obsługiwać wiele tysięcy przerwań na sekundę). Kopiowanie danych jest operacją kosztowną i czasochłonną. Ruch w sieci może dość znacznie obciążać system powodując częste zmiany kontekstu. Ø Wykorzystanie wielowątkowości na poziomie jądra może znacznie zwiększyć wydajność poprzez eliminację kosztownych przełączeń kontekstu (np. system operacyjny Solaris). Ø W niektórych systemach do operacji WE/WY dotyczących terminali używa się specjalizowanych procesorów czołowych (front-end processor): Koncentrator terminali (terminal concentrator) może obsługiwać w sposób przeplatany w jednym porcie dużego komputera dane z setek zdalnych terminali. Kanał wejścia-wyjścia (I/O channel) wydzielony, specjalizowany procesor przejmujący od procesora głównego obciążenia związane z operacjami WE/WY stosowany w systemach wysokiej wydajności (high-end systems). Wiesław Płaczek Systemy Operacyjne: Wykład 10 30
31 Wiesław Płaczek Systemy Operacyjne: Wykład Komunikacja międzykomputerowa i jej koszty Napisanie znaku Moduł sterujący urządzenia System nadawczy Sprzęt Wygenerowanie przerwania Przechowanie stanu Obsłużenie przerwania Zakończenie odwołania do systemu Przełączenie kontekstu Obsłużenie przerwania Przechowanie stanu Wygenerowanie przerwania Adapter sieciowy Sieć Odebranie pakietu sieciowego System odbiorczy Sprzęt Adapter sieciowy Wygenerowanie przerwania Przechowanie stanu Moduł sterujący urządzenia Jądro Przełączenie kontekstu Proces użytkownika Moduł sterujący urządzenia Przełączenie kontekstu Jądro Jądro Przełączenie kontekstu Demon sieci Przełączenie kontekstu Poddemon sieci Przełączenie kontekstu Jądro
32 Wiesław Płaczek Systemy Operacyjne: Wykład Poprawa wydajności Zmniejszać liczbę przełączeń kontekstu. Zmniejszać liczbę kopiowań danych w pamięci podczas przekazywania ich między urządzeniem a aplikacją. Zmniejszać częstość występowania przerwań przez stosowanie wielkich przesłań i inteligentnych (smart) sterowników, a także odpytywania (o ile można zminimalizować aktywne czekanie). Zwiększać współbieżność za pomocą sterowników pracujących w trybie DMA lub kanałów, aby uwolnić procesor główny od zwykłego przesyłania danych. Realizować elementarne działania za pomocą sprzętu i pozwalać na ich wykonywanie w sterownikach urządzeń współbieżnie z działaniem szyny i procesora. Równoważyć wydajność procesora, podsystemów pamięci, szyny i operacji WE/WY dla osiągnięcia maksymalnej przepustowości aby przeciążenie w jednym miejscu nie powodowało bezczynności w innych miejscach.
33 Lokalizacja funkcji WE/WY Wiesław Płaczek Systemy Operacyjne: Wykład Nowy algorytm Wzrost nakładów czasu pracy Wzrost wydajności Wzrost kosztów opracowania Wzrost stopnia trudności W kodzie aplikacji W kodzie jądra W kodzie modułu sterującego urządzenia W kodzie sterownika urządzenia (sprzęt) W kodzie urządzenia (sprzęt) Wzrost elastyczności
34 Zagadnienia 1. Przedstawić podstawowe klasy urządzeń WE/WY oraz omówić typowe elementy sprzętowe WE/WY. Jak wygląda typowa komunikacja między procesorem a sterownikiem urządzenia? 2. Scharakteryzować strukturę rejestrów typowego portu WE/WY oraz omówić protokół komunikacji zwany uzgadnianiem (ang. handshaking). 3. Na czym polega mechanizm przerwań WE/WY, jakie są podstawowe linie przerwań, do czego służy wektor przerwań, jak wygląda typowy cykl WE/ WY sterowany przerwaniami? 4. Jak przebiegają operacje WE/WY w trybie DMA i czym różnią się od zwykłych operacji WE/WY sterowanych przerwaniami? Jakie są zalety oraz wady tego rozwiązania? 5. Przedstawić strukturę interfejsu WE/WY. Jakie są różnice między typowymi urządzeniami WE/WY? Omówić podstawowe kategorie urządzeń WE/WY. 6. Jakie są zadania podsystemu WE/WY w jądrze? Do czego służą i jak są realizowane jądrowe struktury danych WE/WY? 7. Jak odbywa się przekształcanie zamówień WE/WY na operacje sprzętowe? Jakie są główne etapy wykonania zamówienia WE/WY? Czym jest, jaką ma strukturę i do czego służy mechanizm STREAMS? 8. Przedstawić kwestie wydajności WE/WY oraz podać metody jej poprawy. Wiesław Płaczek Systemy Operacyjne: Wykład 10 34
Systemy wejścia-wyjścia. wyjścia
Wiesław Płaczek Systemy Operacyjne: Wykład 9 1 Systemy wejścia-wyjścia wyjścia Wprowadzenie. Sprzęt wejścia-wyjścia (WE/WY). Użytkowy interfejs WE/WY. Podsystem WE/WY w jądrze. Przekształcenia zamówień
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Bardziej szczegółowoSystem wejścia-wyjścia
System wejścia-wyjścia System wejścia-wyjścia Trzy rodzaje urządzeń wejścia-wyjścia: Urządzenia pamięci (dyski, taśmy) Urządzenia przesyłania danych (karty sieciowe, modemy) Urządzenia komunikacji z człowiekiem
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
Bardziej szczegółowoSYSTEMY WEJŚCIA-WYJŚCIA
SYSTEMY WEJŚCIA-WYJŚCIA Systemy wejścia-wyjścia mają na celu umożliwienie wprowadzania informacji do komputera (wpisywanie tekstu, odczytywanie i zapisywanie danych na urządzeniach pamięci masowej itp.)
Bardziej szczegółowoSystemy wejścia-wyjścia. wyjścia
Systemy wejścia-wyjścia wyjścia RóŜnorodność urządzeń Funkcje Pamięci Przesyłania danych Interfejsu z człowiekiem Sterowanie Transmisja Znakowa Blokowa Dostęp Sekwencyjny Swobodny Tryb pracy Synchroniczny
Bardziej szczegółowoUrządzenia wejścia-wyjścia
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
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Bardziej szczegółowoSystem wejścia-wyjścia
System wejścia-wyjścia Trzy rodzaje urządzeń wejścia-wyjścia: wyjścia: Urządzenia pamięci (dyski, taśmy) Urządzenia przesyłania danych (karty sieciowe, modemy) Urządzenia komunikacji z człowiekiem (klawiatury,
Bardziej szczegółowoArchitektura systemu komputerowego
Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie
Bardziej szczegółowoPośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Bardziej szczegółowoStruktura systemów komputerowych
Struktura systemów komputerowych Działanie systemu komputerowego Struktury WE/WY Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Wykład 6, Systemy operacyjne (studia
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoArchitektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
Bardziej szczegółowoArchitektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Bardziej szczegółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoUrządzenia wej.-wyj. Plan (1) Plan (2)
Urządzenia wej.-wyj. Plan (). Rodzaje urządzeń wejścia-wyjścia 2. Struktura mechanizmu wejścia-wyjścia a) sterownik urządzenia b) moduł sterujący c) podsystem wejścia-wyjścia 3. Miejsce urządzeń wejścia-wyjścia
Bardziej szczegółowoUrządzenia wej.-wyj.
Urządzenia wej.-wyj. Plan (). Rodzaje urządzeń wejścia-wyjścia 2. Struktura mechanizmu wejścia-wyjścia a) sterownik urządzenia b) moduł sterujący c) podsystem wejścia-wyjścia 3. Miejsce urządzeń wejścia-wyjścia
Bardziej szczegółowoUrządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia
Plan () Urządzenia wej.-wyj.. Rodzaje urządzeń wejścia-wyjścia 2. Struktura mechanizmu wejścia-wyjścia a) sterownik urządzenia b) moduł sterujący c) podsystem wejścia-wyjścia 3. Miejsce urządzeń wejścia-wyjścia
Bardziej szczegółowoPRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowoWstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali
Wstęp doinformatyki Architektura interfejsów Interfejsy, urządzenia we/wy i komunikacja Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 Slajd 1 Slajd 2 Magistrala Linie magistrali Sterowanie
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
Bardziej szczegółowoSystemy operacyjne system przerwań
system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi
Bardziej szczegółowoArchitektura komputera
Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób
Bardziej szczegółowoPodstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Układy wejścia-wyjścia mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Układem wejścia-wyjścia nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy procesorem
Bardziej szczegółowoUkłady wejścia/wyjścia
Układy wejścia/wyjścia Schemat blokowy systemu mikroprocesorowego Mikroprocesor połączony jest z pamięcią oraz układami wejścia/wyjścia za pomocą magistrali systemowej zespołu linii przenoszącymi sygnały
Bardziej szczegółowoTechnologia informacyjna. Urządzenia techniki komputerowej
Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji
Bardziej szczegółowoURZĄDZENIA WEJŚCIA-WYJŚCIA
Wykład czwarty URZĄDZENIA WEJŚCIA-WYJŚCIA PLAN WYKŁADU Budowa ogólna komputerów PC Urządzenia zewnętrzne w PC Podział urządzeń zewnętrznych Obsługa przerwań Bezpośredni dostęp do pamięci Literatura 1/24
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoMetody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Bardziej szczegółowoSystemy Operacyjne i Sieci Komputerowe
Systemy Operacyjne i Sieci Komputerowe Sprzęt komputerowy Prowadzący: System Operacyjny + Programy Łatwe użytkowanie szmurlor@iem.pw.edu.pl GE 229 1 Komunikacja z urządzeniami. Komunikacja z urządzeniami
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoSystem plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Bardziej szczegółowoWprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
Bardziej szczegółowoProces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoDodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Bardziej szczegółowoInformatyka. informatyka i nauki komputerowe (computer science)
Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Bardziej szczegółowoPrzerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Bardziej szczegółowoArchitektura i administracja systemów operacyjnych
Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący
Bardziej szczegółowoPrzerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań
Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna I NIC Sterownik sieci
Bardziej szczegółowoPrzerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań
Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna Sterownik sieci Przerwanie
Bardziej szczegółowoStandard transmisji równoległej LPT Centronics
Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku
Bardziej szczegółowoMagistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.
Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie trzecie (jedne zajęcia) Temat: Potoki i łącza nazwane w Linuksie. Opracowanie: dr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja
Bardziej szczegółowoobszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)
Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja
Bardziej szczegółowoProcesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowoWykład 2. Struktury systemów komputerowych. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 2 Struktury systemów komputerowych Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Uproszczony schemat architektury komputera Procesor, pamięć i urządzenia we-wy podłączone
Bardziej szczegółowoWykład 14. Zagadnienia związane z systemem IO
Wykład 14 Zagadnienia związane z systemem IO Wprowadzenie Urządzenia I/O zróżnicowane ze względu na Zachowanie: wejście, wyjście, magazynowanie Partnera: człowiek lub maszyna Szybkość transferu: bajty
Bardziej szczegółowoPRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
Bardziej szczegółowoDefinicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego
Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na
Bardziej szczegółowoJądro systemu operacyjnego
Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Bardziej szczegółowoDziałanie komputera i sieci komputerowej.
Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia
Bardziej szczegółowoUrządzenia wejścia-wyjścia. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak 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 związanych
Bardziej szczegółowoStan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Bardziej szczegółowoKlient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Bardziej szczegółowoUTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Bardziej szczegółowoUrządzenia zewnętrzne
Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoWykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład IV Układy we/wy 1 Część 1 2 Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
Bardziej szczegółowoStruktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko
Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 8 Magistrale systemowe Magistrala Układy składające się na komputer (procesor, pamięć, układy we/wy) muszą się ze sobą komunikować, czyli być połączone. Układy łączymy ze
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoCelem 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
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 związanych z tym mechanizmów w jądrze systemu operacyjnego.
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Bardziej szczegółowoMAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na
, gniazda kart rozszerzeń, w istotnym stopniu wpływają na wydajność systemu komputerowego, m.in. ze względu na fakt, że układy zewnętrzne montowane na tych kartach (zwłaszcza kontrolery dysków twardych,
Bardziej szczegółowoSystem operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
Bardziej szczegółowoKomputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury
1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoZarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Bardziej szczegółowoCompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)
PCI Industrial Computers Manufacturers Group (PICMG) nowy standard; nowa jakość komputerów realizujących krytyczne zadania w systemach pracujących w trudnych warunkach; Baza specyfikacji: format kaset
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoSystem komputerowy. System komputerowy
System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,
Bardziej szczegółowoKomunikacja za pomocą potoków. Tomasz Borzyszkowski
Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania
Bardziej szczegółowoPodstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia
Podstawy techniki cyfrowej i mikroprocesorowej II Urządzenia wejścia-wyjścia Tomasz Piasecki magistrala procesor pamięć wejście wyjście W systemie mikroprocesorowym CPU może współpracować za pośrednictwem
Bardziej szczegółowoDział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoPłyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo
Zestaw komputera: 1)Płyta główna: 2)Monitor 3)Klawiatura i mysz 4)Głośniki 5) Urządzenia peryferyjne: *skaner *drukarka Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego,
Bardziej szczegółowoPodstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
Bardziej szczegółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowoArchitektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Bardziej szczegółowoZarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Bardziej szczegółowoPamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji
Bardziej szczegółowoSystemy operacyjne System sieciowy UNIX-a
Systemy operacyjne 29.10.2010 System sieciowy UNIX-a System sieciowy UNIX-a używa potoku umożliwiającego przepływ strumienia bajtów między dwoma procesami i przepływ gniazdek (sockets) dla procesów powiązanych
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci
Bardziej szczegółowo1.1 Wprowadzenie... 1 1.2 Organizacja operacji we/wy... 3 1.3 System wejścia/wyjścia... 6
Spis treści 1 Operacje wejścia/wyjścia 1 1.1 Wprowadzenie.............................................. 1 1.2 Organizacja operacji we/wy........................................ 3 1.3 System wejścia/wyjścia..........................................
Bardziej szczegółowo