Systemy wejścia-wyjścia. wyjścia
|
|
- Jacek Kalinowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 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ń 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. myszka, dysk twardy, grająca szafa z płytami CD) 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 funkcje systemowe tworzą interfejs między programem użytkowym a systemem operacyjnym). Wiesław Płaczek Systemy Operacyjne: Wykład 9 2
3 Sprzęt wejścia-wyjścia wyjścia Typowe urządzenia, z których korzystają komputery: Urządzenia pamięci: dyski, taśmy; Urządzenia przesyłania danych: karty sieciowe, modemy; Urządzenia interfejsu z człowiekiem: ekrany monitorów, klawiatury, myszy. 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 ma rejestry do pamiętania danych i sygnałów sterujących. Proces 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. Do szybkiego przesyłania dużych ilości danych stosuje się metodę DMA. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 9 4
5 Port WE/WY Port WE/WY Port wejścia wyjścia składa się zwykle 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; bity te mogą być czytane przez procesor główny. Sterowanie (control) może być 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 przy wysyłaniu danych. 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 9 5
6 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) w rejestrze poleceń (command register). 1. Procesor powtarza czytanie bitu zajęte dopóki nie przyjmie on wartości 0, tzn. wykonuje aktywne czekanie lub inaczej odpytywanie. 2. Procesor ustawia bit pisania (write bit) w rejestrze poleceń i wpisuje bajt do rejestru danych wyjściowych. 3. Procesor ustawia bit gotowości polecenia. 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 w rejestru danych wejściowych i wykonuje na urządzeniu operację WE/WY. 6. Sterownik czyści bit gotowości polecenia oraz bit błędu (error bit) w rejestrze stanu (operacja się powiodła), a następnie czyści bit zajęte, sygnalizując, że zakończył działanie. Schemat odpytywania można stosować gdy sterownik i urządzenie są szybkie, natomiast dla wolnych urządzeń marnuje się dużo czasu procesora. Wiesław Płaczek Systemy Operacyjne: Wykład 9 6
7 Przerwania (Interrupts) Osprzęt procesora ma ścieżkę zwaną linią zgłaszania przerwań. 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 zgłaszania przerwania. Procesor przechwytuje przerwanie i ekspediuje je do procedury obsługi przerwania. Procedura obsługi czyści przerwane, obsługując urządzenie. Podstawowy mechanizm przerwania umożliwia procesorowi reagowanie na zdarzenia asynchroniczne, np. gotowość sterownika. W większości procesorów są dwie linie zgłaszania 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 9 7
8 Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 Błąd dzielenia Wyjątek diagnostyczny Przerwanie puste Punkt kontrolny Nadmiar INTO wykryty Wyjątek granicy przedziału Niedozwolony kod operacji Urządzenie niedostępne Błąd podwojenia Przepełnienie segmentu współprocesora (zarezerwowane) Niedozwolony segment stanu zadania Brak segmentu Błąd stosu Ochrona ogólna Błąd (brak) strony (zarezerwowane przez firmę Intel nie używać!) Błąd zmiennopozycyjny Kontrola przylegania Kontrola maszyny (zarezerwowane przez firmę Intel nie używać!) Przerwania maskowalne Wiesław Płaczek Systemy Operacyjne: Wykład 9 9 Opis
10 Mechanizm przerwań 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). Różne zastosowanie mechanizm 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). 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 nadzorcy i przejście do wykonania odpowiedniej procedury jądra (mają stosunkowo niskie priorytety) Do zarządzania przebiegiem sterowania w jądrze, np. operacje WE/WY na dysku z użyciem bufora jądra. 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 do przechodzenia do procedur jądra wykonywanych w trybie nadzorcy. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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. 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 przesyłanie rozpocząć 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. Procesor zapisuje adres bloku sterującego w sterowniku DMA i przechodzi do kontynuowania innych prac. Sterownik DMA przejmuje bezpośredni nadzór nad szyną pamięci. Uzgadnianie przesyłania między sterownikiem DMA a sterownikiem urządzenia odbywa się za pomocą pary przewodów zwanych zamówieniem DMA (DMArequest) i potwierdzeniem DMA (DMA-acknowledge). 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. Płyty WE/WY komputerów PC służące do zarządzania szyną (bus-mastering) zwykle posiadają własny sprzęt DMA o dużej szybkości. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 3. Sterownik dysku rozpoczyna przesyłanie DMA. 4. Sterownik dysku wysyła bajt za bajtem do sterownika DMA. Szyna PCI Dysk Dysk
13 Użytkowy interfejs WE/WY Użytkowy interfejs WE/WY Metody 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 odbywa się za pomocą odpowiedniego interfejsu (ustandaryzowany zbiór funkcji). Szczegóły dotyczące poszczególnych urządzeń zamknięte są w modułach jądra zwanych modułami sterującymi. 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. modem) lub swobodny (np. dysk). Organizacja przesyłania: synchroniczna (np. taśma), asynchroniczna (klawiatura). Sposób użytkowania: dzielenie (np. dysk) lub wyłączność (np. taśma). Szybkość działania: od kilku bajtów na sekundę do kilku 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 przezroczysty dowolnego polecenia od aplikacji do modułu sterującego urządzenia (np. funkcja systemowa ioctl() w systemie UNIX). Wiesław Płaczek Systemy Operacyjne: Wykład 9 13
14 Struktura oprogramowania 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 myszki... 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 myszki 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 9 14
15 Urządzenia blokowe i znakowe 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 9 15
16 Urządzenia sieciowe Urządzenia sieciowe Sieciowe WE/WY różni się znacznie od WE/WY dyskowego, dlatego większość systemów operacyjnych udostępnia specjalny, sieciowy interfejs WE/WY (network I/O interface). Systemy UNIX/Linux oraz Windows NT/9x/2000/XP posiadają interfejs gniazda sieciowego (socket). Gniazdo oddziela protokół sieciowy od operacji sieciowej. Aplikacja tworzy gniazdo lokalne i łączy je ze zdalnym adresem (związanym z gniazdem utworzonym przez inną aplikację), następnie nasłuchuje, 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 XP: interfejsy do kart sieciowych oraz do protokołów sieciowych. Wiesław Płaczek Systemy Operacyjne: Wykład 9 16
17 Zegary i czasomierze 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 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: Planista przydziału procesora przy wywłaszczaniu procesu po upływie przydzielonego mu kwantu czasu. Podsystem dyskowego WE/WY w celu okresowego zapisywania na dysk zawartości zmodyfikowanych buforów podręcznych. 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żytkowym. Rozdzielczość czasomierza wynosi od 18 do 60 tyknięć na sekundę (mała). Wiesław Płaczek Systemy Operacyjne: Wykład 9 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ńczenie wykonywania tego wywołania. Kod aplikacji z blokowaniem jest łatwiejszy do zrozumienia i użycia. 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 myszki 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, przekazania sygnału, przerwania programowego lub przywołania. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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, 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 9 19
20 Szybkości przesyłania w urządzeniach komputera Sun Enterprise 6000 Szyna gigabajtowa Szyna SBUS Szyna SCSI Szybka sieć Ethernet Dysk twardy Sieć Ethernet Drukarka laserowa Modem Mysz Klawiatura 0,001 0,01 0,1 1 Wiesław Płaczek Systemy Operacyjne: Wykład Liczba bitów na milisekundę
21 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. System operacyjny dostarcza interfejsu, który umożliwia użytkownikom wyświetlanie kolejek, usuwania niepotrzebnych zadań z kolejki itp. Rezerwacja urządzeń dostarczanie jawnych środków dostępu: Specjalne funkcje systemowe pozwalające procesom między sobą koordynować wyłączność dostępu (np. funkcja open() w Windows XP). Unikanie zakleszczeń należy do obowiązków aplikacji. Wiesław Płaczek Systemy Operacyjne: Wykład 9 21
22 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. Struktury danych jądra 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 różne obiekty, jak pliki użytkowników, surowe urządzenia i przestrzenie adresowe procesów różnice te obudowuje się jednolitą strukturą za pomocą metod obiektowych. 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 9 22
23 Wiesław Płaczek Systemy Operacyjne: Wykład 9 23 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
24 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? Rozważmy czytanie pliku z dysku przez proces niezbędne kroki: Identyfikacja urządzenia, na którym znajduje się plik. Przetłumaczenie nazwy na reprezentację urządzenia (adres portu itd.). 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ń. 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, np. pozycja tablicy FAT w systemie MS-DOS, numer i-węzła w systemie UNIX. Fizyczne przeczytanie danych z dysku do bufora. Udostępnienie danych zamawiającemu je procesowi. Zwrócenie sterowania do procesu. Wiesław Płaczek Systemy Operacyjne: Wykład 9 24
25 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 Podsystem WE/WY w jądrze Tak Proces użytkownika 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 Sprawdź 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 9 25
26 Strumienie (STREAMS) Strumień (stream) systemu UNIX w wersji V jest jednokierunkowym połączeniem między modułem sterującym 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ą funkcji ioctl()). Np. proces może otworzyć port szeregowy za pomocą strumienia i wstawić do niego moduł umożliwiający redagowanie danych wejściowych. Strumieniowe WE/WY odbywa się asynchronicznie (oprócz czoła). Strumieni można używać do komunikacji międzyprocesowej i sieciowej (np. gniazda są zrealizowane za pomocą strumieni). Wiesław Płaczek Systemy Operacyjne: Wykład 9 26
27 Wiesław Płaczek Systemy Operacyjne: Wykład 9 27 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
28 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 zadanie względnie kosztownym (współczesne komputery mogą obsługiwać setki 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 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ć z przeplataniem 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 wysokowydajnych systemach). Wiesław Płaczek Systemy Operacyjne: Wykład 9 28
29 Wiesław Płaczek Systemy Operacyjne: Wykład 9 29 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
30 Wiesław Płaczek Systemy Operacyjne: Wykład 9 30 Poprawa wydajności Zmniejszać liczbę przełączeń kontekstu. Zmniejszać liczbę kopiowań danych w pamięci podczas przekazywania ich od urządzenia do aplikacji. Zmniejszać częstość występowania przerwań przez stosowanie wielkich przesłań i sprytnych (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).
31 Lokalizacja realizacji funkcji urządzeń Wiesław Płaczek Systemy Operacyjne: Wykład 9 31 Nowy algorytm Wzrost nakładów czasu (generacje) Wzrost wydajności Wzrost kosztów opracowania Wzrost stopnia abstrakcji 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
Wejście-wyjście. Wiesław Płaczek Systemy Operacyjne: Wykład 10 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.
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
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ół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ół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ół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ół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 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoWybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola
Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola Ogólny schemat komputera Jak widać wszystkie bloki (CPU, RAM oraz I/O) dołączone są do wspólnych
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ółowodokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
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ół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ółowoSOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów
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ółowoArchitektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 13: Układy wejścia wyjścia. Struktura komputera. Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Układy wejścia-wyjścia
Bardziej szczegółowoSystem wejścia-wyjścia
System wejścia-wyjścia Trzy rodzaje urządze dzeń wejścia 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoInterfejs urządzeń peryferyjnych
Interfejs urządzeń peryferyjnych Terminy - Referaty do 08.05.2010 - Egzamin 09.05.2010 lub 22.05.2010 Typy transmisji informacji Transmisja informacji w komputerach odbywa się przy wykorzystaniu magistrali
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ół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ół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ół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ół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ółowoInstrukcja do laboratorium Systemów Operacyjnych (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem
Bardziej szczegółowo