Spooling(simultaneousperipheraloperationon-line):
Metoda nakładania operacji WE/WY jednego zadania na obliczenia
innych zadań.
Dysk pełni rolę bufora między czytnikiem kart a pamięcią.
•Podczas wykonywania jednego zadania system operacyjny:??czyta następne zadanie z czytnika kart na dysk (kolejka zadań),??wysyła wyniki poprzedniego zadania z dysku na drukarkę.•
Pula zadań(jobpool)-struktura danych pozwalająca systemowi wybierać następne zadania do wykonania (poprawia wykorzystanie CPU).
Zalety:Zwiększenie wydajności procesora, jak i urządzeń WE/WY.
Wady:Mało wydajny dla szybkich procesorów (tylko jedno zadanie w pamięci operacyjnej).
Proste systemy wsadowe
(Simple Batch Systems)
Konieczne zatrudnienie operatora (użytkownik ?operator).
Użytkownik przygotowuje zadanie (na kartach perforowanych) i przekazuje je operatorowi.
Operator uruchamia zadanie i wyniki zwraca użytkownikowi.
Skrócenie czasu ustawiania (set-up) przez grupowanie podobnych zadań.
Automatyczne porządkowanie zadań -automatyczne przekazywanie sterowania od jednego zadania do drugiego.
Wprowadzenie kart sterujących w celu rozróżniania zadań itd.
Zalety -większa przepustowość!
Wady -niska wydajność: •długi czas obiegu zadania;•szybki procesor i wolny czytnik kart (drukarka) pracujące naprzemian.??Rozwiązanie: praca w trybie pośrednim (off-line)
czytniki kart (drukarki) obsługiwane przez pomocnicze komputery ładujące zadania na taśmy magnetyczne (drukujące wyniki z taśm) w trybieoff-line;
komputer główny czyta zadania z taśmy magnetycznej i zapisuje wyniki na inną taśmę (taśmy przenoszone ręcznie).
Czytniki magnetyczne szybsze niż mechaniczne!
Przegląd rozwoju systemów operacyjnych
I. Systemy komputerów głównych (Mainfraime Systems Mainfraime Systems)
A) Wczesne systemy -„goła” maszyna(lata 1950-te)
Struktura:
•duże maszyny obsługiwane przy pomocy konsoli;
•system jednoużytkownikowy;
•programista/użytkownik jako operator;
•taśmy papierowe i karty perforowane jako nośniki.
Wczesne oprogramowanie:
•asemblery, kompilatory;
•programy łączące (linkers), programyładujące (loaders);
•biblioteki typowych funkcji;•sterowniki urządzeń (device drivers).
Zalety -wysoki poziom bezpieczeństwa
Wady -nieefektywne wykorzystanie drogich zasobów:
niski poziom wykorzystania CPU,
znaczący czas potrzebny na czynności operatorskie.
Składowe systemu komputerowego
Składowe systemu komputerowego
•Sprzęt(ang.hardware)-dostarcza podstawowe zasoby systemu komputerowego: procesor (jednostka centralna,ang. centralprocessing unit-CPU), pamięć, urządzenia wejścia-wyjścia (WE/WY) itd.
•System operacyjny-nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy aplikacyjne (użytkowe) pracujące na zlecenie różnych użytkowników.
•Programy aplikacyjne(kompilatory, systemy baz danych, gry komputerowe, programy dla biznesu) -określają sposoby użycia zasobów systemu do rozwiązywania zadań stawianych przez użytkowników.
•Użytkownicy(ludzie, maszyny, inne komputery).
Co to jest system operacyjny? Co to jest system operacyjny?
System operacyjny-program, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym.
Zadania systemu operacyjnego:
•Zarządzanie zasobami komputera: procesory, pamięć, urządzenia wejścia-wyjścia, porty komunikacyjne itd.
•Ukrywanie szczegółów sprzętowych przez tworzenie abstrakcyjnych obiektów (maszyn wirtualnych).
•Tworzenie środowiska, w którym użytkownik może wydajnieiwygodniewykonywać programy.
Wieloprogramowe(Multiprogrammed Multiprogrammed) systemy wsadowe
Wiele zadań rezyduje w tym samym czasie w pamięci, a procesor jest im odpowiednio przydzielany (współbieżność);
Np. gdy wykonujące się zadanie potrzebuje zaczekać na jakąś usługę (np. WE/WY), to uruchamiane jest inne.
Niezbędne cechy systemu operacyjnego:
•Szeregowanie zadań-decydowanie, które zadania z puli zadańmają być załadowane do pamięci operacyjnej.
•Zarządzanie pamięcią-system musi alokować pamięć dla wielu zadań.•Planowanie przydziału procesora(CPUscheduling) -system musi wybrać do uruchomienia jedno spośród wielu zadań w pamięci.
•Ochrona zadańna wszystkich etapach pobytu w systemie.•Alokowanie urządzeń, dostarczanie procedur WE/WY.
Zalety:Wydajne wykorzystanie zasobów (CPU, pamięć operacyjna, urządzenia zewnętrzne).
Wady:Użytkownik nie może ingerować w zadanie w trakcie jego wykonywania, np. reagować na błędy kompilacji, nie może na bieżąco testować programu itd.
Długi obieg zadania -od złożenia programu do odebrania wyników.
Systemy z podziałem czasu
(Time Time-Sharing Sharing Systems Systems)
Procesor wykonuje na przemian wiele różnych zadań(wielozadaniowość, ang.multitasking),a przełączenia następują tak często, że użytkownicy mogą na bieżąco współdziałać z programami podczas ich wykonywania.
•Możliwość pracy interakcyjnej-użytkownik wydaje bezpośrednio instrukcje systemowi lub programowi i otrzymuje natychmiastowe odpowiedzi (zazwyczaj przy użyciu klawiatury i ekranu monitora).
•Bezpośrednio dostępny systemu plików(on-line filesystem)-użytkownik ma bezpośredni dostęp do plików z programami i danymi(zazwyczaj na dysku).
•Wymiana zadania pomiędzy pamięcią a dyskiem w trakcie jego wykonywania (swapping).
•Tworzenie pamięci wirtualnej(virtual memory),tzn. rozszerzenie pamięci operacyjnej pamięcią dyskową -umożliwienie wykonywania zadań nie mieszczących się w pamięci operacyjnej.
•Wielu użytkowników może równocześnie dzielić jeden komputer -każdy z nich odnosi wrażenie jakby dysponował swoim własnym.
Wieloprogramowość i podział czasu procesora -to podstawowe zagadnienia nowoczesnych systemów operacyjnych!
Systemy biurkowe
(Desktop Desktop Systems Systems)
Początkowo:
•Komputery osobiste (personal computers: PC): systemy komputerowe dedykowane dla pojedynczego użytkownika -pojawiły się w latach 1970-tych.
•Brak potrzeby maksymalizowania wykorzystania CPU i urządzeń zewnętrznych.•Mniej istotna ochrona plików, pamięci.
•Nacisk na maksimum wygody użytkownika i szybkość kontaktu z użytkownikiem.
Systemy operacyjne: MS-DOS, wczesne Microsoft Windows,AppleMacintosh.
Później:??Sieci komputerowe, Internet -zmiana podejścia do kwestii ochrony i bezpieczeństwa (konieczność ochrony danych, systemów).
Szybkie mikroprocesory, duże pamięci -możliwość zastosowania cech systemów dużych komputerów (wielozadaniowość itd.).
Nowa generacja systemów operacyjnych dla PC: Microsoft Windows NT/2000/XP, IBM OS/2, AppleMacintosh OS X (Darwin), Linux.
Systemy wieloprocesorowe
(Multiprocessor Systems Multiprocessor Systems)
Systemy wieloprocesorowe z więcej niż jednym CPU w ścisłej komunikacji między sobą.
Zwane także systemami równoległymi(parallelsystems)lub mocno sprzężonymi(tightly coupled)-procesory dzielą szynę systemową i zegar, czasami pamięć i urządzenia peryferyczne, komunikacja zwykle odbywa się przez pamięć dzieloną.
Zalety:większa przepustowość,
większa niezawodność (łagodna degradacja, tolerancja na awarie),
ekonomika skali (oszczędność). i.Wieloprzetwarzanie symetryczne (symmetricmultiprocessing: SMP):
•Każdy procesor wykonuje identyczną kopię systemu operacyjnego.
•Wiele procesów może być wykonywanych równocześnie bez spadku wydajności.
Systemy: Sun Solaris, Linux, MS Windows 2000/XP, Mac OS X.ii.Wieloprzetwarzanie asymetryczne (asymmetric multiprocessing):
•Każdy procesor ma przydzielone specyficzne zadanie; procesor główny (master)szereguje i przydziela pracę procesorom podrzędnym (slaves)
.•Częściej spotykana w bardzo dużych systemach.
Systemy rozproszone
(Distributed Systems Distributed Systems)
Systemy luźno powiązane(loosely coupled)-każdy procesor ma swoją własną pamięć lokalną; procesory komunikują się między sobą za pomocą różnych linii komunikacyjnych (np. szybkie szyny danych, linie telefoniczne).
˘Zalety:??podział zasobów(w różnych miejscach można mieć różne zasoby),
przyspieszanie obliczeń(rozdzielanie obliczeń między wiele procesorów, używanie mniej obciążonych komputerów -tzw. dzielenie obciążeń)
niezawodność(awaria jednego komputera nie wstrzymuje pracy pozostałych),
komunikacja(wymiana informacji, plików itd. między węzłami).
Ogromnie zyskały na znaczeniu w ostatnich latach, a w przyszłości powinny jeszcze bardziej się rozwijać -coraz szybsze i tańsze linie komunikacyjne!
Internet, a w szczególności WorldWideWeb (CERN, 1990), miał i ma przemożny wpływ na rozwój współczesnych systemów operacyjnych.
•Sieci komputerowe: lokalne(LAN), miejskie(MAN), rozległe(WAN), oparte o technologie bezprzewodowe sieci małoobszarowe(small-areanetwork: SAN).
•Systemy klient-serwer: systemy serwerów obliczeń, systemy serwerów plików.
•Systemy Peer-to-Peer(P2P): systemy wymiany plików, np. Napster, Gnutella.
•Rozproszone systemy operacyjne: systemy w bliskiej komunikacji przez sieć.
Rozwijane obecnie systemyGridowe-rozproszone systemy obliczeń oraz baz danych o zasięgu globalnym.
Systemy klajstrowe
(zgrupowane) (zgrupowane) (Cluster Systems Cluster Systems)
Według ogólnie akceptowanej definicji zgrupowane w klasterkomputery dzielą pamięć dyskową i są blisko ze sobą powiązane poprzez siećLAN.
Różnią się od systemów równoległych tym, że złożone są z dwu lubwięcej indywidualnych systemów sprzężonych razem.
Zwykle są używane w celu dostarczania serwisów wysokiego poziomu dostępności (high-availability services), tj.takich serwisów, które będą dostępne nawet gdy jeden lub więcej systemów w klastrze ulegnie awarii.
•Tryb asymetryczny: jeden komputer pozostaje w pogotowiu(hot-standby host)monitorując aktywne serwery aplikacji -gdy któryś z nich ulegnie awarii, wówczas przejmuje jego rolę.
•Tryb symetryczny: wszystkie komputery klastra działają jako aktywne serwery aplikacji i zarazem monitorują się nawzajem na wypadek awarii.
Inne rodzaje klastrów: klastryrównoległe:wiele komputerów ma dostęp do tych samych danych w dzielonej pamięci masowej (np. Oracle Parallel Server) -potrzebna synchronizacja, np. w formie distributedlockmanager(DLM);
klastryw sieciach rozległych, np. storage-area networks(SAN) -wiele różnych systemów podłączonych do wielu jednostek pamięci masowej poprzezWAN.
Systemy czasu rzeczywistego
((RealReal--Time SystemsTime Systems)
Używane jako sterowniki urządzeń o ściśle określonym celu.
Surowe wymagania czasowe.
Nierzadko sprzężenie zwrotne.
•Rygorystyczne systemy czasu rzeczywistego(hard real-time systems):
pamięć pomocnicza mała lub jej brak, dane przechowywane w pamięci o krótkim czasie dostępu lub pamięci tylko do odczytu (ROM);
w konflikcie z systemami z podziałem czasu -dlatego nie są realizowane w uniwersalnych systemach operacyjnych.
Zastosowania do sterowania procesami przemysłowymi, nadzorowaniaeksperymentów naukowych, obrazowania badań medycznych itd.
•Łagodne systemy czasu rzeczywistego(soft real-time systems)
krytyczne zadanie do obsługi w czasie rzeczywistym otrzymuje pierwszeństwo przed innymi zadaniami,
łagodniejsze wymagania czasowe -mogą występować pewne opóźnienia.
Zastosowania w technikach multimedialnych, wirtualnej rzeczywistości, zaawansowanych projektach badawczych -wymagających systemów operacyjnych o rozbudowanych właściwościach.
Znajdują się w większości współczesnych systemów operacyjnych, (większość wersji systemu UNIX, Windows XP).
Systemy kieszonkowe (Handheld Systems Handheld Systems)
Personal digital assistants(PDA), takie jakPalm,Pocket-PC, telefony komórkowe-coraz bardziej zyskująna znaczeniu!
•W porównaniu np. z komputerem PC dysponują niewielką pamięcią, wolnym procesorem, małym ekranem-wyzwania dla twórców systemów operacyjnych; zwykle pełnią wyspecjalizowane funkcje.
•Ograniczenia w funkcjonalności są równoważone przez ich wygodę iprzenośność (obecnie powszechny jest również dostęp do Internetu).
Użyteczność i rola systemów kieszonkowych ciągle wzrasta!
•Wiele własności dawnych systemów operacyjnych, opracowanych np. dla komputerów głównych (mainfraimes),zostało zaadaptowanych przez późniejsze systemy operacyjne, np. dla PC, a nawet dla PDA.
Np. sporo idei systemu MULTICS(MIT, 1965-70) zastosowano przy projektowaniu systemu UNIX(Bell Labs, ok. 1970), którego z kolei wiele cech przeniknęło w latach 1980-tych i 1990-tych do systemów operacyjnych komputerów PC, takich jak Linux, IBM OS/2, Microsoft Windows NT, Mac OS X(np. wielodostęp, mechanizmy sieciowe itd.).
Aby zrozumieć nowoczesne systemy operacyjne warto poznawać historię rozwoju systemów operacyjnych (pewne idee nierzadko się odradzają).
Środowiska obliczeniowe
(Computing Computing Environments Environments)
??Tradycyjne obliczenia
•W przeszłości typowymi środowiskami obliczeniowymi były: przedsiębiorstwo, instytucja, biuro, czy pojedynczy komputer; komunikacja zdalna była utrudniona.
•Wraz z rozwojem sieci przewodowych i bezprzewodowych oraz technologii WWW środowiska obliczeniowe stają się coraz bardziej rozproszonei globalne.??Obliczenia oparte na WWW (Web-based computing
)•Rozpowszechnienie WWW sprawiło, że coraz więcej i to coraz bardziej różnorodnych urządzeń ma do niego dostęp: PC, PDA, telefony komórkowe itd.
•Środowisko obliczeniowe WWW zwiększyło znaczenie łączności sieciowej w odniesieniu do urządzeń sprzętowych oraz systemów operacyjnych.
•Powstała nowa kategoria urządzeń: balansery obciążeń(load balancers)-rozdzielają połączenia sieciowe w ramach puli podobnych serwerów.
Obliczenia wbudowane(embeddedcomputing)
•Najbardziej rozpowszechnionymi formami komputerów są komputerywbudowane, np. w samochodach, robotach produkcyjnych, magnetowidach, kuchenkach mikrofalowych, systemach alarmowychitd.
•Ich celem jest na ogół wykonywanie bardzo specjalizowanych funkcji.
•Komputery wbudowane działają często pod nadzorem wbudowanych systemów czasu rzeczywistego.
•Systemy operacyjne tego typu urządzeń mają dość ograniczone możliwości.
Zastosowania oraz możliwości systemów wbudowanych stale się zwiększają!
Działanie systemu komputerowego
•CPUi sterowniki urządzeń(device controllers)są połączone wspólną szyną systemową(systembus)
.•CPU i sterowniki mogą działać współbieżnie.
•Każdy sterownik odpowiada za określony typ urządzenia (np. napędy dysków, monitor, USB itd.).
•Każdy sterownik ma swój lokalny bufor.
•CPU przesyła dane między pamięcią operacyjną a lokalnymi buforami.
•Operacje wejścia-wyjścia odbywają się między urządzeniami a lokalnymi buforami sterowników.
•Sterownik informuje CPU o zakończeniu swojej operacji za pomocą przerwania(interrupt).
Mechanizm przerwań
•Przerwanieprzekazuje sterowanie do procedury obsługi przerwania, zwykle poprzez wektor przerwańzawierający adresy wszystkich procedur obsługi (stosowane np. w systemach UNIX, MS-DOS).
•W architekturze przerwań trzeba uwzględniać przechowywanie adresu przerwanego rozkazu.
•Podczas obsługi jednego przerwania inne przerwania są wyłączone, aby uchronić przed jego utratą.
•Przerwanie generowane przez oprogramowanie nazywa się pułapką (trap)-może być spowodowane przez jakiś błąd (np. dzielenie przez zero) lub na życzenie użytkownika.
•System operacyjny (SO) przechowuje stan CPU zapamiętując zawartość rejestrów i licznika rozkazów.
•SO ustala rodzaj przerwania przy pomocy: odpytywania(polling)lub wektorowego systemu przerwań.
•Oddzielne segmenty kodu określają działania, jakie należy podjąćdla każdego typu przerwania.
•Nowoczesne systemy operacyjne są sterowane przerwaniami(interrupt driven).
Struktura wejścia-wyjścia (WE/WY)
??Przerwania wejścia-wyjścia
•Przed operacją WE/WY CPU określa zawartość rejestrów w sterowniku.
•Sterownik sprawdza stan swoich rejestrów, aby określić rodzaj działania, a następnie wykonuje to działanie (np. dla operacji czytania przesyła dane z urządzenia do swojego lokalnego bufora).
•O zakończeniu działania sterownik informuje CPU za pomocą przerwania.
??Synchroniczne WE/WY(synchronousI/O) -CPU czeka na zakończenie operacji WE/WY.
??Nieefektywne wykorzystanie CPU i urządzeń WE/WY!
??Asynchroniczne WE/WY(asynchronousI/O)-rozpoczęcie operacji WE/WY i kontynuowanie działań systemu operacyjnego lub programu użytkownika bez czekania na zakończenie.
??Tablica stanów urządzeń(devicestatustable)określająca typ urządzeń, ich adresy i stany (wolne, zajęte, …) -potrzebna do obsługi wielu urządzeń.
??Kolejka oczekujących zamówieńdla każdego urządzenia -do obsługi zamówień wielu procesów.˘Efektywniejsze wykorzystanie CPU i urządzeń WE/WY.
•Na koniec procedura obsługi przerwania urządzenia WE/WY zwraca sterowanie -do programu użytkownika, do pętli czekania, etc.
Struktura DMA
(Direct Memory Direct Memory Access) Access)
•Używana dla szybkich urządzeń WE/WY zdolnych do transmisji danych z szybkością zbliżoną do szybkości pamięci operacyjnej (np. dyski, sieci komunikacyjne).
•Sterownik urządzenia przesyła blok danych między własnym buforem a pamięcią -bez interwencji procesora.
•Przerwanie jest generowane na cały blok danych, a nie po każdym przesłanym bajcie (jak dla powolnych urządzeń WE/WY).
•Działanie:
SO wybiera bufor z kolejki buforów do przesłania.
Moduł obsługi urządzenia(device driver)ustawia w rejestrach DMA adresy źródła i celu oraz długość transmisji.
Sterownik DMA otrzymuje rozkaz do zainicjowania operacji WE/WY.
Podczas transmisji danych procesor może wykonywać inne zadania.
Po zakończeniu operacji sterownik DMA wysyła procesorowi przerwanie.
Duża szybkość operacji WE/WY.
Sterownik DMA „kradnie” cykle pamięci procesorowi, co może spowalniać jego działanie.
Struktura pamięci
•Pamięć operacyjna lubgłówna(main memory)-jedyny wielki obszar pamięci dostępny bezpośrednio procesorowi (za pośrednictwem szyny
pamięci); w wielu architekturach stosowane jest WE/WY odwzorowywane w pamięci(memory-mappedI/O), np.ekran monitora w IBM PC.
•Pamięć pomocnicza(secondary storage)-rozszerzenie pamięci operacyjnej dające możliwość trwałego przechowywania dużej ilości danych (dyski magnetyczne, taśmy magnetyczne, dyski elektroniczne USB, tzw.Pendrives).
Dysk magnetyczny -metalowa lub szklana płyta pokryta materiałem magnetycznym; powierzchnia logicznie podzielona na ścieżki(tracks), a te z kolei na sektory(sectors); wiruje z dużą prędkością w napędzie dysku; połączony z komputerem wiązką przewodów zwaną szyną WE/WY;sterownik dyskui sterownik macierzysty(po stronie szyny WE/WY) nadzorują przesyłanie danych między dyskiem a komputerem (sterowniki dysków mają zwykle pamięć podręczną, która jest używana do przesyłania danych z dysku lub na dysk).
Taśma magnetyczna-taśma pokryta materiałem magnetycznym, znajduje się na szpuli i przewija się do przodu lub do tyłu pod głowicąodczytująco-zapisującą; znacznie wolniejsza od dysku, ale może być kilkakrotnie pojemniejsza; używana głównie do przechowywania rzadko używanych danych (np. archiwizacja, kopie zapasowe, czyli tzw. backup).
Przenośny dysk elektroniczny USB (USB Mobile Disk) -elektroniczne urządzenie pamięci nieulotnej; pojemność do kilku GB, duża szybkość dostępu.
Przechowywanie podręczne Przechowywanie podręczne (Caching Caching)
Stosowaniepamięci podręcznej(cache)-kopiowanie informacji, która może być potrzebna (np. CPU), do szybszego systemu pamięci na okres przejściowy.
Gdy potrzebny jest jakiś fragment informacji, najpierw sprawdza się, czy nie ma go w pamięci podręcznej -jeżeli nie, to się go do niej sprowadza.
Zarządzanie pamięcią podręczną (cache management)jest ważnym zagadnieniem projektowym odnośnie sprzętu oraz systemów operacyjnych -odpowiedni dobór wielkości pamięci podręczneji polityki zastępowaniaw niej informacji może sprawić, że 80 -95%wszystkich dostępów będzie odnosić się do pamięci podręcznej.
Zgodność i spójność Zgodność i spójność (Coherency and Consistency Coherency and Consistency)
•W hierarchicznej strukturze pamięci te same dane mogą występowaćna różnych jej poziomach.
Np. chcemy zwiększyć o 1liczbę całkowitą N znajdującą się w pliku na dysku ?odpowiedni fragment pliku zostanie skopiowany do pamięci operacyjnej, następnie do pamięci podręcznej, a wreszcie do rejestru wewnętrznego ?z chwiląwykonania operacji zwiększenia w rejestrze, wartośćNbędzie różna w różnych systemach pamięci -stanie się taka sama dopiero po przekopiowaniu jej w dół.
Należy zadbać o to aby informacja na różnych poziomach pamięci była zgodnai spójna-sprzętowo lub w ramach systemu operacyjnego.
Ochrona sprzętowa Ochrona sprzętowa dualny tryb operacji:
•Dzielenie zasobów systemowych wymaga od systemu operacyjnego zapewnienia, że niepoprawny program nie spowoduje, że inne programy będą działać nieprawidłowo.
•Rozwiązanie -wyposażenie sprzętu w środki umożliwiające co najmniej dwa tryby pracy:
1)Tryb użytkownika(user mode)-działania w imieniu użytkownika.
2)Tryb monitora (systemu, nadzorcy)-działania w imieniu SO.
•Sprzęt posiada bit trybu(modebit)do wskazywania bieżącego trybu pracy: monitor (0)albo użytkownik (1).
•Przy każdorazowym wystąpieniu przerwanialub pułapki sprzęt zmienia tryb pracy z trybu użytkownikana tryb monitora.
•Potencjalnie niebezpieczne rozkazy kodu maszynowego są oznaczanejako rozkazy uprzywilejowane(privileged instructions), które mogą być wykonywane tylko w trybiemonitora.
Ochrona wejścia-wyjścia:
•Wszystkie rozkazy WE/WY są uprzywilejowane!
•Konieczne jest zapewnienie, że program użytkownikanigdy nie przejmie kontroli nad komputerem w trybie pracy monitora (np. wstawiając nowy adres w wektorze przerwań).
Ochrona pamięci:
•Trzeba zapewnić ochronę pamięci przynajmniej dla wektora przerwań i procedur obsługi przerwań.
•Ochronę pamięci można uzyskać za pomocą dwu rejestrów określających zakres dopuszczalnych adresów programu:
Rejestr bazowy(baseregister)-zawiera najmniejszy dopuszczalny adres fizyczny pamięci.
Rejestr graniczny(limit register)-zawiera rozmiar obszaru pamięci.
Pamięć poza tak zdefiniowanym obszarem jest chroniona!
Ochrona jednostki centralnej CPU
•Czasomierz(timer)-generuje przerwania po wyznaczonym okresie czasu aby zapewnić systemowi operacyjnemu utrzymanie kontroli.
Licznik czasomierza jest zmniejszany przy każdym tyknięciu zegara.
Kiedy licznik osiągnie wartość zero pojawia się przerwanie.
•Czasomierz jest zwykle używany do realizacji podziału czasu.
•Czasomierza używa się również do obliczania bieżącego czasu.
•Ustawianie czasomierza jest rozkazem uprzywilejowanym.
Operacje WE/WY użytkownika
Rozkazy WE/WY są uprzywilejowane -jak zatem użytkownik może wykonywać operacje WE/WY?
Wywołanie systemowe(systemcall)-metoda poprzez którą proces zamawiajakąś akcję systemu operacyjnego.
•Zwykle przyjmuje postać przejścia do określonej komórki w wektorze przerwań(poprzez rozkaz traplub rozkazsyscall).
•Sterowanie przechodzi przez wektor przerwań do procedury obsługi w systemie operacyjnym, a bit trybujest ustawiany na trybpracy monitora.
•Monitor-po sprawdzeniu, że parametry wywołania są poprawne i dozwolone -spełnia żądanie oraz zwraca sterowanie do rozkazu, który następuje bezpośrednio po wywołaniu systemowym.