Systemy Operacyjne Dr inż. Sławomir Samolej D108 A, tel: ,

Slides:



Advertisements
Podobne prezentacje
Wirtualizacja zasobów w systemach operacyjnych
Advertisements

Wprowadzenie do informatyki Wykład 6
Mechanizmy pracy równoległej
Podstawy Informatyki (4)
ROZDZIAŁ 12: Systemy wejścia-wyjścia
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Moduł 2. Struktury Systemów Komputerowych
SYSTEMY OPERACYJNE PROCESY I WĄTKI
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE PROCESY I WĄTKI
1 Linux jako system wielozadaniowy i wielodostępny.
System Operacyjny Zajęcia 4.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 3: Struktura systemu operacyjnego
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład nr 6: Planowanie przydziału procesora
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Budowa systemów operacyjnych czasu rzeczywistego
ZARZĄDZANIE PROCESAMI
Język Java Wielowątkowość.
9. KOORDYNACJA PROCESÓW WSPÓŁBIEŻNYCH PRZY UŻYCIU INTERPRETATORA
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Wątki.
Zdzisław Stryła Instytut Fizyki UAM
ogólne pojęcia struktury
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Systemy Operacyjne Dr inż. Sławomir Samolej
Opracowanie: Maria Wąsik
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Podstawowe usługi systemów operacyjnych
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Problem sekcji krytycznej
Przerwanie ang. interrupt.
Maszyna wirtualna ang. virtual machine, VM.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy Operacyjne Dr inż. Sławomir Samolej
Spis treści Architektura systemu windows Pamięć wirtualna Plik wymiany
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Planowanie przydziału procesora
Przykłady implementacji planowania przydziału procesora
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wykład 8 Szeregowanie zadań
System plików.
Procesor, pamięć, przerwania, WE/WY, …
Systemy Operacyjne Dr inż. Sławomir Samolej
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Rodzaje systemów operacyjnych
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
Mikrokontrolery System przerwań
Zapis prezentacji:

Systemy Operacyjne Dr inż. Sławomir Samolej D108 A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Slajdy zostały przygotowane na podstawie materiałów opublikowanych na (http://wazniak.mimuw.edu.pl/

Definicja systemu operacyjnego System operacyjny (nadzorczy, nadrzędny, sterujący) jest to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania. Alan Shaw

SO w architekturze komputera System operacyjny pośredniczy pomiędzy użytkownikiem a sprzętem, dostarczając wygodnego środowiska do wykonywania programów. Użytkownik końcowy korzysta z programów (aplikacji), na potrzeby których przydzielane są zasoby systemu komputerowego. Przydziałem tym zarządza system operacyjny, dzięki czemu można uzyskać stosunkowo duży stopień niezależności programów od konkretnego sprzętu oraz odpowiedni poziom bezpieczeństwa i sprawności działania. Programy użytkowe System operacyjny Sprzęt

Ogólna struktura systemu operacyjnego Programy systemowe Interpreter poleceń Jądro SO W ogólnym przypadku w strukturze systemu operacyjnego wyróżnia się jądro oraz programy systemowe, które dostarczane są razem z systemem operacyjnym, ale nie stanowią integralnej części jądra. Sprzęt Jądro jest zbiorem modułów, które ukrywają szczegóły sprzętowej realizacji systemu komputerowego, udostępniając pewien zestaw usług, wykorzystywanych między innymi do implementacji programów systemowych. Interpreter wykonuje pewne polecenia wewnętrznie, tzn. moduł lub program interpretera dostarcza implementacji tych poleceń. Jeśli interpreter nie może wykonać wewnętrznie jakiegoś polecenia, uruchamia odpowiedni program (tzw. polecenie zewnętrzne), jako odrębny proces.

Zadania SO Definicja interfejsu użytkownika Udostępnianie systemu plików Udostępnianie środowiska do wykonywania programów użytkownika mechanizm ładowania i uruchamiania programów mechanizmy synchronizacji i komunikacji procesów Sterowanie urządzeniami wejścia-wyjścia Obsługa podstawowej klasy błędów

Zarządzanie zasobami SO Przydział zasobów Planowanie dostępu do zasobów Ochrona i autoryzacja dostępu do zasobów Odzyskiwanie zasobów Rozliczanie — gromadzenie danych o wykorzystaniu zasobów

Zasoby zarządzane przez SO (1) Procesor przydział czasu procesora Pamięć alokacja przestrzeni adresowej dla procesów ochrona i transformacja adresów

Zasoby zarządzane przez SO (2) Urządzenia wejścia-wyjścia udostępnianie i sterowanie urządzeniami pamięci masowej alokacja przestrzeni dyskowej udostępnianie i sterownie drukarkami, skanerami itp. Informacja (system plików) organizacja i udostępnianie informacji ochrona i autoryzacja dostępu do informacji

Klasyfikacja systemów operacyjnych ze względu na sposób przetwarzania Systemy przetwarzania bezpośredniego (ang. on-line processing systems) - systemy interakcyjne występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem, wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu. Systemy przetwarzania pośredniego (ang. off-line processing systems) — systemy wsadowe występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania, niemożliwa jest ingerencja użytkownika w wykonywanie zadania.

Klasyfikacja systemów operacyjnych ze względu na liczbę wykonywanych programów Systemy jednozadaniowe — niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego. Systemy wielozadaniowe — dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym zgodnie z pewną strategią przydzielany jest procesor.

Klasyfikacja systemów operacyjnych ze względu na liczbę użytkowników Systemy dla jednego użytkownika — zasoby przeznaczone są dla jednego użytkownika (np. W przypadku komputerów osobistych), nie ma mechanizmów autoryzacji, a mechanizmy ochrony informacji są ograniczone. Systemy wielodostępne — wielu użytkowników może korzystać ze zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed nieupoważnioną ingerencją.

Inne rodzaje systemów operacyjnych Systemy czasu rzeczywistego (ang. real-time systems) — zorientowane na przetwarzanie z uwzględnieniem czasu zakończenie zadania, tzw. linii krytycznej (ang. deadline), np. VxWorks, QNX, Windows CE, RT Linux. Systemy sieciowe i rozproszone (ang. network and distributed systems) — umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, czyli zbiorem jednostek (komputerów), które są zintegrowane siecią komputerową i nie współdzielą fizycznie zasobów, np. Windows, Novel Netware, Linux, Unix . Systemy operacyjne komputerów naręcznych — tworzone dla rozwiązań typu PDA, czy telefonów komórkowych, podlegają istotnym ograniczeniom zasobowym, np. Symbian, Windows Mobile, Brew, OS X iPhone.

Cykl rozkazowy (1) pobranie kodu rozkazu pobranie operandu pamięć wystaw. adr. kodu rozkazu dekodowanie operacji wystaw. adresu operandu CPU faza pobrania rozkazu faza pobrania argumentów łańcuch następny rozkaz

Cykl rozkazowy (2) faza przerwania zapis operandu wykonanie operacji wystaw. adresu operandu sprawdz. zgłoszenia przerwań przerwanie faza składowania wyniku brak przerwań

Podstawy działania systemu operacyjnego Odwołania do jądra systemu przez system przerwań lub specjalne instrukcje (przerwanie programowe) Sprzętowa ochrona pamięci Dualny tryb pracy — tryb użytkownika (ang. user mode) i tryb systemowy (tryb jądra, ang. system mode) Wyróżnienie instrukcji uprzywilejowanych, wykonywanych tylko w trybie systemowym Uprzywilejowanie instrukcji wejścia-wyjścia Przerwanie zegarowe

Koncepcja procesu Proces jest elementarną jednostką pracy (aktywności) zarządzaną przez system operacyjny, która ubiega się o zasoby systemu komputerowego w celu wykonania programu. Proces = wykonujący się program. Elementy składowe procesu: program — definiuje zachowanie procesu, dane — zbiór wartości przetwarzanych oraz wyniki, zbiór zasobów tworzących środowisko wykonawcze, blok kontrolny procesu (PCB, deskryptor) — opis bieżącego stanu procesu.

Koncepcja zasobu Zasobem jest element sprzętowy lub programowy systemu komputerowego, którego brak może potencjalnie zablokować wykonywanie programu (przetwarzanie) Przykłady zasobów: procesor, pamięć, plik (dane) itp.

Podział operacji jądra systemu w zarządzaniu procesami i zasobami Operacje tworzenia i usuwania procesów oraz elementarna komunikacja międzyprocesowa Operacje przydziału i zwalniania jednostek zasobów Elementarne operacje wejścia-wyjścia Procedury obsługi przerwań

Zarządcy Zarządca procesów (process manager) — kontroluje stany procesów w celu efektywnego i bezpiecznego wykorzystania współdzielonych zasobów systemu. Zarządca zasobów (resource manager) — realizuje przydział zasobów stosownie do żądań procesów, aktualnego stanu systemu oraz ogólnosystemowej polityki przydziału.

Struktury danych Deskryptor procesu (blok kontrolny procesu, PCB) używany przez zarządcę procesów w celu rejestrowania stanu procesu w czasie jego monitorowania i kontroli. Deskryptor zasobu — przechowuje informacje o dostępności i zajętości danego typu zasobu.

Deskryptor procesu Identyfikator procesu Stan procesu (nowy, gotowy, oczekujący, itd.) Identyfikator właściciela Identyfikator przodka Lista przydzielonych zasobów Zawartość rejestrów procesora Prawa dostępu (domena ochrony) Informacje na potrzeby zarządzania pamięcią Informacje na potrzeby planowania (np. priorytet) Informacje do rozliczeń Wskaźniki do kolejek porządkujących

Stany procesu Nowy (ang. new) — proces jest tworzony. Wykonywany (ang. running) — wykonywane są instrukcje programu. Oczekujący (ang. waiting) — proces oczekuje na jakieś zdarzenie, np. na zakończenie operacji wejścia-wyjścia, na przydział dodatkowego zasobu, synchronizuje się z innymi procesami. Gotowy (ang. ready) — proces czeka na przydział procesora. Zakończony (ang. terminated) — proces zakończył działanie i zwalnia zasoby.

Cykl zmian stanów procesu zakończony nowy wywłaszczenie gotowy wykonywany decyzja planisty przyjęcie oczekujący zakończenie operacji wej-wyj lub Wystąpienie zdarzenia zażądanie operacji wejwyj lub oczekiwanie na zdarzenie

Deskryptor zasobu Identyfikator zasobu Rodzaj zasobu Identyfikator twórcy zasobu Lista i liczba dostępnych jednostek zasobu Lista (kolejka) procesów oczekujących na jednostki danego zasobu Procedura przydziału

Klasyfikacja zasobów Ze względu na sposób wykorzystania zasoby odzyskiwalne (zwrotne, ang. reusable), zasoby nieodzyskiwalne (niezwrotne, zużywalne, ang. consumable). Ze względu na sposób odzyskiwania zasoby wywłaszczalne, zasoby niewywłaszczalne. Ze względu na tryb dostępu Współdzielone wyłączne

Kolejki procesów Kolejka zadań (ang. job queue) — wszystkie procesy systemu. Kolejka procesów gotowych (ang. ready queue) — procesy gotowe do działania, przebywające w pamięci głównej. Kolejka do urządzenia (ang. device queue) — procesy czekające na zakończenie operacji wejścia-wyjścia. Kolejka procesów oczekujących na sygnał synchronizacji od innych procesami (np. kolejka procesów na semaforze).

Diagram kolejek w planowaniu przydziału procesora kolejka procesów gotowych procesor kolejka operacji wej-wyj zamówienie operacji wej-wyj wej-wyj upłynięcie kwantu czasu kolejka procesów uśpionych synchronizacja sygnał

Przełączanie kontekstu zachowanie kontekstu w bloku kontrolnym 1 bezczynność Proces 1 odtworzenie kontekstu z bloku kontrolnego 2 bezczynność bezczynność Proces 2 bezczynność bezczynność Proces 3

Obsługa procesów (1) Tworzenie procesu Usuwanie procesu POSIX: fork Windows: CreateProcess Usuwanie procesu POSIX: exit, abort, kill Windows: ExitProcess, TerminateProcess

Obsługa procesów (2) Zawieszanie i aktywacja procesu Wstrzymywanie i wznawianie procesu Zmiana priorytetu procesu POSIX: nice (setpriority) Windows: SetPriorityClass Oczekiwanie na zakończenie procesu POSIX: wait, waitpid Windows: brak bezpośredniego wsparcia, należy użyć odpowiednich mechanizmów synchronizacji

Elementarne operacje na zasobach Tworzenie deskryptora zasobu Usuwanie deskryptora zasobu Realizacja żądania przydziału jednostek zasobu Zwolnienie i odzyskiwanie jednostek zasobu odzyskiwalnego Uwolnienie (wyprodukowanie) jednostki zasobu nieodzyskiwalnego

Wątki Wątek (lekki proces, ang. lightweight process — LWP) jest obiektem w obrębie procesu ciężkiego (heavyweight), posiadającym własne sterowanie I współdzielącym z innymi wątkami tego procesu przydzielone (procesowi) zasoby: segment kodu i segment danych w pamięci tablicę otwartych plików tablicę sygnałów

Obsługa wątków (1) Tworzenie wątku Usuwanie wątku POSIX: pthread_create Windows: CreateThread, CreateRomoteThread Usuwanie wątku POSIX: pthread_exit, pthread_cancel Windows: ExitThread, TerminateThread

Obsługa wątków (2) Wstrzymywanie i wznawianie wątku POSIX: brak Windows: SuspendThread, ResumeThread Zmiana priorytetu wątku POSIX: pthread_setschedprio, pthread_setschedparam Windows: SetThreadPriority Oczekiwanie na zakończenie wątku POSIX: pthread_join Windows: brak bezpośredniego wsparcia, należy użyć odpowiednich mechanizmów synchronizacji

Planowanie przydziału prcesora Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Algorytmy planowania

Komponenty jądra w planowaniu Planista krótkoterminowy (ang. CPU scheduler) — wyznacza wartość priorytetu procesów gotowych I wybiera proces (o najwyższym priorytecie) do wykonania. Ekspedytor (zwany również dyspozytorem) ang. dispatcher) — realizuje przekazanie sterowanie do procesu wybranego przez planistę (dokonuje przełączenia kontekstu).

Ogólna koncepcja planowania Tryb decyzji — określa okoliczności, w których oceniane i porównywane są priorytety procesów oraz dokonywany jest wybór procesu do wykonania. Funkcja priorytetu — funkcja wyznaczająca aktualny priorytet procesu na podstawie parametrów procesu I stanu systemu. Reguła arbitrażu — reguła rozstrzygania konfliktów w dostępie do procesora w przypadku procesów o tym samym priorytecie

Tryb decyzji Schemat niewywłaszczeniowy (ang. nonpreemptive) —proces po uzyskaniu dostępu do procesora wykonywany jest do momentu zakończenie lub zgłoszenia żądania obsługi do systemu. Schemat wywłaszczeniowy (ang. preemptive) — proces może zostać zatrzymany i umieszczony w kolejce procesów gotowych, a procesor zostaje przydzielony procesowi o wyższym (lub równym) priorytecie.

Podejmowanie decyzji o wywłaszczeniu Utworzenie i przyjęcie nowego procesu Obudzenie procesu w wyniku otrzymania komunikatu, sygnału gotowości urządzenia (przerwanie) lub sygnału wynikającego z synchronizacji Upłynięcie kwantu czasu odmierzanego przez czasomierz Wzrost priorytetu innego procesu w stanie gotowy powyżej priorytetu procesu wykonywanego — możliwe w systemie ze zmiennymi priorytetami

Funkcja priorytetu Argumentami funkcji priorytetu są wybrane składowe stanu procesu oraz stanu systemu. Priorytet procesu w danej chwili jest wartością wynikową funkcji priorytetu dla bieżących wartości parametrów stanu danego procesu i aktualnego stanu systemu.

Argumenty funkcji priorytetu (1) Czas oczekiwania — czas spędzony w kolejce procesów gotowych (czas spędzony w stanie gotowości) Czas obsługi — czas, przez który proces był wykonywany (wykorzystywał procesor) od momentu przyjęcia do systemu Rzeczywisty czas przebywania w systemie — czas spędzony w systemie od momentu przyjęcia (czas obsługi + czas oczekiwania + czas realizacji żądań zasobowych) Czasowa linia krytyczna — czas, po którym wartość wyników spada (nawet do zera, np. przy przewidywaniu pogody)

Argumenty funkcji priorytetu (2) Priorytet zewnętrzny — składowa priorytetu, która pozwala wyróżnić procesy ze względu na klasy użytkowników lub rodzaj wykonywanych zadań Wymagania odnośnie wielkości przestrzeni adresowej pamięci Obciążenie systemu — liczba procesów przebywających w systemie i ubiegających się (potencjalnie) o przydział procesora lub innych zasobów, zajętość pamięci.

Przykład realizacji przetwarzania Poniższy diagram przedstawia zmiany stanu 3 procesów w czasie i ma na celu zobrazowanie parametrów czasowych. Wykonywanie Gotowość Process Oczekiwanie c b a 2 4 6 8 10 12 14 16 18

Reguła arbitrażu Losowo — możliwe w przypadku, gdy liczba procesów o tym samym priorytecie jest niewielka Cyklicznie — cykliczny przydział procesora kolejnym procesom Chronologicznie — w kolejności przyjmowania procesów do systemu (w kolejności FIFO)

Algorytmy planowania niewywłaszczającego FCFS (First Come First Served) — pierwszy zgłoszony, pierwszy obsłużony LCFS (Last Come First Served) — ostatni zgłoszony, pierwszy obsłużony SJF (SJN, SPF, SPN, Shortest Job/Process First/Next) — najpierw najkrótsze zadanie

Algorytmy planowania wywłaszczającego Planowanie rotacyjne (ang. Round Robin, RR) — po ustalonym kwancie czasu proces wykonywany jest przerywany i trafia do kolejki procesów gotowych. SRT (Shortest Remaining Time) — najpierw zadanie, które ma najkrótszy czas do zakończenia

Podstawowe algorytmy planowania a funkcja priorytetu Podstawowe algorytmy planowania można uzyskać przez odpowiednią definicję funkcji priorytetu. Parametrami funkcji priorytetu dla podstawowych algorytmy planowania są następujące atrybuty czasowe procesów: a — bieżący (dotychczasowy) czas obsługi r — rzeczywisty czas w systemie t — całkowity wymagany czas obsługi (czas obsługido momentu zakończenia)

Przykłady uszeregowania bez wywłaszczeń Wykonywanie Process Gotowość P1 FCFS P2 P3 SJF P1 P2 P3 2 4 6 8 10 12 14 16 18

Przykłady uszeregowania z wywłaszczeniami Wykonywanie Process Gotowość P1 SRT P2 P3 RR P1 P2 P3 2 4 6 8 10 12 14 16 18

Algorytm RR — dobór kwantu czasu Krótki kwant czasu oznacza zmniejszenie czasu cyklu przetwarzania procesów krótkich, ale zwiększa narzut czasowy związany z przełączaniem kontekstu. Z punktu widzenia interakcji z użytkownikiem kwant czasu powinien być trochę większy, niż czas odpowiedzi (reakcji).

Inne algorytmy planowania Planowanie priorytetowe — oparte na priorytecie zewnętrznym Planowanie wielokolejkowe — w systemie jest wiele kolejek procesów gotowych i każda z kolejek może być inaczej obsługiwana. Planowanie przed liniami krytycznymi — zakończenie zadania przed czasową linią krytyczną lub możliwie krótko po tej linii

Szeregowanie procesów, ograniczonych wejściem-wyjściem Procesy ograniczone wejściem-wyjściem potrzebują niewiele czasu procesora, większość czasu w systemie spędzając na oczekiwaniu na urządzenia zewnętrzne. Opóźnianie przydziału procesora dla tego typu procesów powoduje zmniejszenie wykorzystania urządzeń zewnętrznych, a przydział — ze względu na nie długą fazę procesora — nie powoduje istotnego zwiększenia czasu oczekiwania innych procesów. Właściwym algorytmem byłby SJF lub SRT. Bezwzględna preferencja dla procesów oczekujących na gotowość urządzeń może spowodować głodzenie procesów ograniczonych procesorem.

Wirtualne planowanie rotacyjne kolejka procesów gotowych procesor Pomocnicza kolejka procesów gotowych zamówienie operacji wej-wyj wej-wyj kolejka operacji wej-wyj upłynięcie kwantu czasu kolejka procesów uśpionych synchronizacja sygnał

Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych i programów. Z punktu widzenia systemu pamięć jest zasobem o strukturze hierarchicznej (począwszy od rejestrów procesora, przez pamięć podręczną, pamięć główną, skończywszy na pamięci masowej), w której na wyższym poziomie przechowywane są dane, stanowiące fragment zawartości poziomu niższego. Z punktu widzenia procesu (również procesora) pamięć jest zbiorem bajtów identyfikowanych przez adresy, czyli tablicą bajtów, w której adresy są indeksami.

Hierarchia pamięci

Interakcja procesor — sterownik w operacji wyjścia w trybie odpytywania urządz. dostępne NIE bit zlecenia = ? TAK 1 zapisz rejestr danych wyjściowych odczyt. rejestr danych wyjściowych bit zlec. zapisu := 1 wykonaj operację na urządzeniu zew. bit got. = ? bit zlecenia := 0 bit gotowości := 1 bit zajętości := 0 1 bit gotowości := 0