• Nie Znaleziono Wyników

SYSTEMY OPERACYJNE

N/A
N/A
Protected

Academic year: 2021

Share "SYSTEMY OPERACYJNE"

Copied!
82
0
0

Pełen tekst

(1)

SYSTEMY OPERACYJNE

dr. hab. Vitaliy Yakovyna

yakovyna@matman.uwm.edu.pl http://wmii.uwm.edu.pl/~yakovyna/

UNIWERSYTET WARMIŃSKO-MAZURSKI W OLSZTYNIE

Wydział Matematyki i Informatyki

(2)

Literatura Podstawowa

• A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, Wydanie 7, WNT, 2006

• A. Silberschatz, P. B. Galvin, G. Gagne, Operating system concepts, 10th edition, NJ : Wiley, 2018

• A. S. Tanenbaum, H. Bos, Systemy Operacyjne, Wydanie IV, Wydawnictwo Helion, 2015

(3)

Dlaczego warto studiować systemy operacyjne?

• Prawie cały kod działa na systemie operacyjnym – wiedza o działaniu systemów operacyjnych ma kluczowe znaczenie dla właściwego, wydajnego, efektywnego i bezpiecznego programowania

• Zrozumienie podstaw systemów operacyjnych,

sposobu, w jaki sterują one sprzęt komputerowy i tego, co dostarczają aplikacjom, jest bardzo

przydatne dla tych, którzy piszą na nich programy i używają ich

(4)

Wprowadzenie

(5)

Definicja

• System operacyjny to oprogramowanie, które zarządza sprzętem komputera

• podstawą dla programów aplikacyjnych – program sterujący, który zarządza wykonywaniem programów użytkownika

• pośrednik między użytkownikiem komputera a sprzętem komputerowym – alokator zasobów

• Podstawową odpowiedzialnością systemu operacyjnego jest przydzielanie zasobów sprzętowych (procesora, pamięci i urządzeń wejścia/wyjścia) do programów

(6)

Składniki Systemu Komputerowego

(7)

Składniki Systemu Operacyjnego

• System operacyjny (SO) jest jedynym programem uruchomionym przez cały czas na komputerze — zwykle nazywane jądrem

• Inne rodzaje programów:

• programy systemowe, które są związane z systemem operacyjnym, ale niekoniecznie są częścią jądra

• programy aplikacyjne, które obejmują wszystkie programy niezwiązane z działaniem systemu

• Mobilny SO często zawiera oprogramowanie pośrednie (middleware) – zestaw frameworków programowych, które zapewniają dodatkowe usługi programistom

(8)

Historia Systemów Operacyjnych

• Pierwsza generacja (1945-1955): lampy próżniowe

• Druga generacja (1955-1965): tranzystory i systemy przetwarzania wsadowego

• FMS (Fortran Monitor System), IBSYS

• Trzecia generacja (1965-1980): układy scalone i wielozadaniowość

• OS/360, CTSS, MULTICS, UNIX

• Czwarta generacja (od 1980): komputery osobiste

• СР/М, MS-DOS, Windows, Linux, FreeBSD, MacOS

• Piąta generacja (od 1990 r.): komputery mobilne

• Symbian OS, Windows Mobile, Blackberry OS, iOS, Android

(9)

Wczesne Systemy

• Przed 1940 r. urządzenia komputerowe

projektowano i implementowano do wykonywania określonych, stałych zadań

• Lata 1940 – Alan Turing i John von Neumann: idea komputera programowego o uniwersalnym

przeznaczeniu

• Manchester Mark I – jeden z najwcześniejszych

komputerów przechowujących instrukcje w pamięci

(10)

Manchester Mark 1 (1949)

(11)

Rozwój Oprogramowania i Sprzętu

• Czytniki kart, drukarki liniowe, taśmy magnetyczne

• Asemblery, ładowarki i łączniki zostały zaprojektowane w celu ułatwienia programowania

• Biblioteki wspólnych funkcji - można skopiować do

nowego programu bez konieczności ponownego pisania -> ponowne wykorzystanie oprogramowania

• Sterowniki urządzeń (ang. driver) – napisane dla każdego urządzenia wejścia / wyjścia

• Później kompilatory dla FORTRAN, COBOL i innych języków

(12)

Dedykowane Systemy Komputerowe

• Znaczna ilość czasu konfiguracji może być zaangażowana w prowadzenie zadania:

• Ładowanie taśmy kompilatora FORTRAN

• Uruchamianie kompilatora

• Rozładowywanie taśmy kompilatora

• Ładowanie taśmy asemblera

• Uruchamianie asemblera

• Rozładowywanie taśmy asemblera

• Ładowanie programu obiektowego

• Uruchamianie programu obiektowego

• Potrzeba wysokiego wykorzystania czasu procesora

(13)

Współdzielone Systemy Komputerowe

• Rozwiązanie dla wysokiego wykorzystania czasu procesora:

1) Profesjonalni operatorzy komputerowi 2) Zadania o podobnych potrzebach były

grupowane razem i uruchamiane przez komputer jako grupa, aby skrócić czas instalacji

• Automatyczne sekwencjonowanie zadań – pierwsze szczątkowe systemy operacyjne

• Monitor rezydentny – automatycznie przenosi kontrolę z jednego zadania na drugie

(14)

Układ Pamięci Dla Monitora

Rezydentnego

(15)

Talia Kart dla Prostego Systemu

Wsadowego

(16)

Wejście / Wyjście On-line i Off-line

• Problem - urządzenia wejścia / wyjścia są same w sobie wolniejsze niż procesor

• Działanie urządzeń wejścia / wyjścia:

(a) on-line, (b) off-line

(17)

Spooling

• Simultaneous Peripheral Operation On-Line

• nakłada operacje w/w jednego zadania z obliczaniem innych

• CPU i w/w działają z dużo większą szybkością

• naturalnie prowadzi do multiprogramowania

(18)

IBM 360

(19)

Migracja Koncepcji i Funkcji

Systemu Operacyjnego

(20)

Organizacja Systemu

Komputerowego

(21)

Typowy System Komputerowy

(22)

Typowa Operacja W/W

• sterownik urządzenia ładuje odpowiednie rejestry do kontrolera urządzenia

• kontroler urządzenia sprawdza zawartość tych

rejestrów, aby określić, jakie działania należy podjąć

• kontroler rozpoczyna przesyłanie danych z urządzenia do lokalnego bufora

• po zakończeniu przesyłania danych kontroler urządzenia informuje sterownik urządzenia o zakończeniu operacji – przerwanie

(23)

Przerwania

• Sprzęt może wywołać przerwanie w dowolnym momencie, wysyłając sygnał do procesora

• Kiedy procesor zostaje przerwany, zatrzymuje to, co robi, i natychmiast przekazuje wykonanie do

ustalonej lokalizacji – wektora przerwań

• Po zakończeniu CPU wznawia przerwane obliczenia

(24)

Implementacja Przerwań

• Sterownik urządzenia wywołuje przerwanie poprzez stanowienie sygnału na linii żądania przerwania

• CPU przechwytuje przerwanie i wysyła je do obsługi przerwań (ang. interrupt handler)

• Obsługa zapisuje każdy stan, który będzie się zmieniał podczas pracy

• Obsługa usuwa przerwanie, serwisując urządzenie

(25)

Cykl W/W z Przerwaniami

(26)

Maskowane i Niemaskowane Przerywania

• Większość procesorów ma dwie linie żądania przerwań:

• Niemaskowane przerywania – zarezerwowane dla zdarzeń takich jak nieodwracalne błędy pamięci

• Maskowane – może być wyłączony przez CPU przed wykonaniem krytycznych sekwencji instrukcji, które nie mogą być przerywane. Używany przez

kontrolery urządzeń do żądania usługi

(27)

Łańcuch i Priorytet Przerwań

• Łańcuch przerwań: każdy element wektora przerwania wskazuje na głowę listy procedur obsługi przerwań

• Gdy przerwanie jest wywoływane, procedury obsługi na odpowiedniej liście są wywoływane jeden po drugim, dopóki nie zostanie znaleziony, który może obsłużyć żądanie

• Poziomy priorytetu przerwań: umożliwia procesorowi odłożenie obsługi przerwań o niskim priorytecie bez maskowania wszystkich przerwań i umożliwia

wywłaszczenie przerwania o niskim priorytecie dla obsługi przerwania o wysokim priorytecie

(28)

Tablica Wektorów Przerwań

Procesorów Intel

(29)

Struktura Pamięci

• Komputery ogólnego przeznaczenia uruchamiają większość swoich programów z pamięci

wielokrotnego zapisu, zwanej pamięcią główną (pamięć o dostępie losowym, pamięć RAM)

• Program bootstrap - electrically erasable

programmable read-only memory (EEPROM)

• Wszystkie formy pamięci są tablicą bajtów

• Architektura von Neumanna i Harvarda

(30)

Typowy Cykl Wykonania Instrukcji

• Pobieranie instrukcji z pamięci

• Przechowywanie tej instrukcji w rejestrze instrukcji

• Dekodowanie instrukcji (może powodować

pobieranie operandów z pamięci i zapisywanie ich w wewnętrznym rejestrze)

• Wykonywanie instrukcji (wynik może być zapisany w pamięci)

(31)

Dodatkowa Pamięć

• Jednostka pamięci widzi tylko strumień adresów pamięci

• Większość systemów komputerowych zapewnia pamięć dodatkową jako rozszerzenie pamięci głównej

• Najpopularniejszymi urządzeniami dodatkowej pamięci dyski twarde (HDD) i urządzenia pamięci nieulotnej (pamięć flash)

(32)

Hierarchia Pamięci

(33)

Bezpośredni Dostęp do Pamięci

• Sterowane przerwaniami W/W mogę generować wysokie koszty, gdy są używane do masowego

przesyłania danych

• Rozwiązanie – bezpośredni dostęp do pamięci (DMA)

• Sterownik urządzenia przesyła cały blok danych

bezpośrednio do lub z urządzenia i pamięci głównej bez interwencji procesora

• Podczas gdy kontroler urządzenia wykonuje operacje W/W, procesor jest dostępny do wykonania innej pracy

(34)

Architektura Systemu

Komputerowego

(35)

Architektura Systemu Komputerowego

• Systemy jednoprocesorowe

• Systemy wieloprocesorowe

• Systemy wielordzeniowe

• Systemy klastrowe

(36)

Symetryczne Przetwarzanie Wieloprocesowe

• Symetryczne przetwarzanie wieloprocesowe (SMP):

każdy procesor wykonuje wszystkie zadania, w tym funkcje SO i procesy użytkownika

• Zła skalowalność – rywalizacja o magistrali systemowej staje się wąskim gardłem

(37)

Nierównomierny Dostęp do Pamięci

• Nierównomierny dostęp do pamięci (NUMA) – każdy procesor (lub grupa procesorów) jest wyposażony we własną pamięć lokalną, do której można uzyskać dostęp za pośrednictwem szybkiej lokalnej magistrali

• Procesory są połączone wspólnym interkonektem,

więc wszystkie procesory współużytkują jedną fizyczną przestrzeń adresową

• Systemy NUMA można skalować bardziej efektywnie w miarę dodawania kolejnych procesorów

• Potencjalna wada - zwiększone opóźnienie, gdy procesor musi uzyskać dostęp do pamięci zdalnej

(38)

Architektura NUMA

(39)

Ogólna Struktura Systemu

Klastrowego

(40)

Systemy Klastrowe

• Klaster składa się z kilku systemów komputerowych połączonych za pośrednictwem sieci

• Usługa wysokiej dostępności:

• zgrabna degradacja

• odporne na uszkodzenia

• Klastrowanie asymetryczne: jedna maszyna

znajduje się w stanie gotowości do pracy, podczas gdy druga obsługuje aplikacje

• Klastrowanie symetryczne: co najmniej dwa hosty obsługują aplikacje i monitorują się nawzajem

(41)

Operacje Systemu

Operacyjnego

(42)

Multiprogramowanie

• System operacyjny zapewnia środowisko, w którym wykonywane są programy

• Jednym z najważniejszych aspektów SO jest możliwość uruchamiania wielu programów

• Multiprogramowanie zwiększa wykorzystanie procesora

• W systemie wieloprogramowym program w trakcie wykonywania nazywa się procesem

(43)

Wielozadaniowość

• Wielozadaniowość jest logicznym rozszerzeniem multiprogramowania

• W systemach wielozadaniowych procesor wykonuje wiele procesów, przełączając się między nimi, ale przełączenia występują często, zapewniając

użytkownikowi szybki czas reakcji

(44)

Multiprogramowanie i

Wielozadaniowość (kont.)

• Posiadanie kilku procesów w pamięci w tym samym czasie wymaga pewnej formy zarządzania pamięcią

• Jeśli kilka procesów jest gotowych do uruchomienia w tym samym czasie, system musi wybrać, który

proces będzie uruchamiany w następnej kolejności – planowanie procesora

• Typową metodą zapewnienia rozsądnego czasu reakcji jest pamięć wirtualna. Robi abstrakcję pamięci głównej jako dużej, jednolitej macierzy pamięci, oddzielając pamięć logiczną od pamięci fizycznej

(45)

Multiprogramowanie i

Wielozadaniowość (kont.)

• Systemy wieloprogramowe i wielozadaniowe muszą również zapewniać system plików

• Aby zapewnić prawidłowe wykonanie, system musi również zapewniać mechanizmy synchronizacji i komunikacji procesów

• SO może zapewnić, że procesy nie zostaną zakleszczone (ang. deadlock)

(46)

Obsługa w Dwóch Trybach

• Konieczne jest rozróżnienie między wykonaniem kodu systemu operacyjnego a kodu użytkownika w celu zapewnienia prawidłowego wykonania

systemu

• Przynajmniej potrzebujemy dwóch oddzielnych trybów działania: trybu użytkownika i trybu jądra

• Bit trybu jest dodawany do sprzętu komputera, aby wskazać bieżący tryb

• Instrukcje uprzywilejowane - mogą być wykonywane tylko w trybie jądra

(47)

Przejście z Trybu Użytkownika do

Jądra

(48)

Działanie Wielomodowe

• Procesory Intel mają cztery oddzielne pierścienie ochronne

• Systemy ARMv8 mają siedem trybów

• Procesory z wirtualizacją - osobny tryb dla menedżera maszyn

wirtualnych (VMM): więcej uprawnień niż proces

użytkownika, ale mniej niż jądro

(49)

Cykl Życia Instrukcji Wykonania

• Kontrola początkowa znajduje się w systemie

operacyjnym, gdzie instrukcje są wykonywane w trybie jądra

• Po nadaniu kontroli aplikacji użytkownika tryb zostaje ustawiony na tryb użytkownika

• W końcu sterowanie jest przełączane z powrotem do systemu operacyjnego przez przerwanie,

pułapkę lub wywołanie systemowe

• Obsługa w dwóch trybach zapewnia lepszą ochronę systemu operacyjnego

(50)

Cykl Życia Instrukcji Wykonania:

Wywołania Systemowe

• Wywołania systemowe udostępniają programowi użytkownika zasoby, aby poprosił SO o wykonanie zadań zarezerwowanych dla systemu operacyjnego w imieniu programu użytkownika

• Kiedy wywołanie systemowe jest wykonywane, jest ono zazwyczaj traktowane przez sprzęt jako

przerwanie programowe

• Sterowanie przechodzi przez wektor przerwań do procedury serwisowej w systemie operacyjnym, a bit trybu jest ustawiony na tryb jądra

(51)

Naruszenia Zasad

• Sprzęt ochronny wykrywa błędy, które naruszają tryby

• Błędy te są zwykle obsługiwane przez SO

• Jeśli program użytkownika w jakiś sposób zawodzi, sprzęt przechwytuje system operacyjny

• Pułapka przekazuje sterowanie przez wektor przerwań do SO, tak jak to robi przerwanie

• Gdy wystąpi błąd programu, system operacyjny musi zakończyć program nieprawidłowo

(52)

Regulator Czasu

• System operacyjny musi utrzymywać kontrolę nad procesorem - regulator czasu

• Regulator czasu można ustawić tak, aby przerwał

działanie komputera po określonym czasie: stałym lub zmiennym

• Zmienny regulator czasu jest na ogół realizowany przez zegar o stałej szybkości i licznik

• Przed przekazaniem kontroli użytkownikowi SO zapewnia, że regulator czasu jest ustawiony na przerwanie

• Instrukcje modyfikujące zawartość regulatora czasu są uprzywilejowane

(53)

Zarządzanie Zasobami

(54)

Zarządzanie Procesami

• Program nie może nic zrobić, dopóki jego instrukcje nie zostaną wykonane przez procesor

• Proces wymaga pewnych zasobów – w tym czasu procesora, pamięci, plików i urządzeń wejścia / wyjścia – w celu wykonania tego zadania

• Proces jednowątkowy ma jeden licznik programu określający następną instrukcję do wykonania

(55)

Zarządzanie Procesami

System operacyjny odpowiada za następujące czynności związane z zarządzaniem procesami:

• Tworzenie i usuwanie zarówno procesów użytkownika, jak i systemu

• Planowanie procesów i wątków na procesorach

• Zawieszanie i wznawianie procesów

• Zapewnienie mechanizmów do synchronizacji procesów

• Zapewnienie mechanizmów komunikacji procesowej

(56)

Zarządzanie Pamięcią

• Główna pamięć ma kluczowe znaczenie dla funkcjonowania systemu komputerowego

• Pamięć główna (RAM) to duża tablica bajtów; każdy bajt ma swój własny adres

• Aby program mógł zostać wykonany, musi zostać zmapowany na adresy bezwzględne i załadowany do pamięci

• Kilka programów w pamięci – potrzeba zarządzania pamięcią

(57)

Zarządzanie Pamięcią

System operacyjny odpowiada za następujące czynności związane z zarządzaniem pamięcią:

• Śledzenie, które części pamięci są obecnie używane i który proces ich używa

• Przydzielanie i zwalnianie pamięci w razie potrzeby

• Podejmowanie decyzji, które procesy (lub części procesów) i dane powinny być przeniesione do i z pamięci

(58)

Zarządzanie Systemem Plików

• Aby system komputerowy był wygodny dla użytkowników, system operacyjny zapewnia jednolity logiczny widok przechowywania informacji

• System operacyjny abstrahuje od fizycznych właściwości urządzeń pamięci masowej, aby zdefiniować logiczną jednostkę pamięci – plik

• System operacyjny mapuje pliki na nośniki fizyczne i uzyskuje dostęp do tych plików za pośrednictwem urządzeń pamięci masowej

(59)

Zarządzanie Systemem Plików

System operacyjny odpowiada za następujące czynności związane z zarządzaniem plikami:

• Tworzenie i usuwanie plików

• Tworzenie i usuwanie katalogów

• Obsługa prymitywów do manipulowania plikami i katalogami

• Odwzorowywanie (mapowanie) plików na pamięć masową

• Tworzenie kopii zapasowej plików na stabilnym (nieulotnym) nośniku pamięci

(60)

Zarządzanie Pamięcią Masową

System operacyjny odpowiada za następujące czynności związane z zarządzaniem pamięcią masową:

• Montowanie i odmontowanie

• Zarządzanie wolnym miejscem

• Przydział pamięci

• Planowanie dysku

• Partycjonowanie

• Ochrona

(61)

Zarządzanie Pamięcią Podręczną

Poziom 1 2 3 4 5

Nazwa rejestry pamięć

podręczna

pamięć główna

dysk SSD dysk HDD

Typowy rozmiar < 1 KB < 16MB < 64GB < 1 TB < 10 TB Technologia

wdrażania

pamięć

niestandardowa z wieloma

portami CMOS

on-chip lub off-chip CMOS SRAM

CMOS DRAM pamięć flash dysk

magnetyczny

Czas dostępu (ns) 0.25-0.5 0.5-25 80-250 25,000-50,000 5,000,000

Przepustowość (MB/sec)

20,000 -100,000 5,000 -10,000 1,000 - 5,000 500 20 – 150

Zarządzany przez kompilator sprzęt

komputerowy

system operacyjny

system operacyjny

system operacyjny Wspierany przez pamięć

podręczna

pamięć główna

dysk dysk dysk lub taśma

(62)

Zarządzanie Pamięcią Podręczną

• Buforowanie to ważna zasada systemów komputerowych

• Ponieważ pamięć podręczna ma ograniczony rozmiar, zarządzanie pamięcią podręczną jest ważnym problemem projektowym

• Staranny dobór rozmiaru pamięci podręcznej i polityki zastępczej może spowodować znaczne zwiększenie wydajności

(63)

Zarządzanie Systemem Wejścia / Wyjścia

• Jednym z celów systemu operacyjnego jest ukrycie specyfiki poszczególnych urządzeń sprzętowych od użytkownika

• Podsystem wejścia / wyjścia składa się z kilku komponentów:

• Komponent zarządzania pamięcią, który obejmuje buforowanie, pamięć podręczną i spooling

• Ogólny interfejs między urządzeniem a sterownikiem

• Sterowniki dla konkretnych urządzeń sprzętowych

(64)

Bezpieczeństwo i

Ochrona

(65)

Ochrona Danych

• Pliki, segmenty pamięci, procesor i inne zasoby

mogą być obsługiwane tylko przez te procesy, które uzyskały odpowiednią autoryzację z systemu

operacyjnego

• Ochrona to dowolny mechanizm kontrolujący dostęp procesów lub użytkowników do zasobów zdefiniowanych przez system komputerowy

• System zorientowany na ochronę zapewnia środki pozwalające na rozróżnienie między

autoryzowanym a nieautoryzowanym użyciem

(66)

Bezpieczeństwo

• Zadaniem bezpieczeństwa jest obrona systemu przed atakami zewnętrznymi i wewnętrznymi:

• wirusy i robaki

• ataki typu odmowa usługi (DoS)

• kradzież tożsamości

• kradzież usługi (nieautoryzowane użycie systemu)

• Zapobieganie niektórym z tych ataków jest uważane za funkcję systemu operacyjnego w

niektórych systemach; inne systemy pozostawiają je polityce lub dodatkowemu oprogramowaniu

(67)

Wirtualizacja

(68)

Wirtualizacja

• Wirtualizacja to technologia, która pozwala na abstrahowanie sprzętu z jednego komputera w

kilku różnych środowiskach wykonawczych, tworząc w ten sposób wrażenie, że każde oddzielne

środowisko działa na swoim prywatnym komputerze

• Wirtualizacja umożliwia uruchomienie systemów operacyjnych jako aplikacji w innych systemach operacyjnych

(69)

Emulacja

• Emulacja obejmuje symulację sprzętu

komputerowego w oprogramowaniu i jest zwykle używana, gdy źródłowy typ procesora jest inny niż docelowy

• Emulacja ma wysoką cenę

• Każda instrukcja maszynowa, która działa natywnie w systemie źródłowym, musi zostać

przetłumaczona na równoważną funkcję w systemie docelowym, co często prowadzi do kilku instrukcji docelowych

(70)

Architektura Hyper-V

(71)

Architektura XenClient

(72)

Systemy Rozproszone

(73)

Systemy Rozproszone

• System rozproszony to zbiór fizycznie oddzielnych, możliwie heterogenicznych systemów

komputerowych, które są połączone w sieć, aby zapewnić użytkownikom dostęp do różnych

zasobów, utrzymywanych przez system

• Dostęp do udostępnionego zasobu zwiększa szybkość obliczeń, funkcjonalność, dostępność danych i niezawodność

(74)

Sieciowe i Rozproszone Systemy Operacyjne

• Sieciowy system operacyjny to system operacyjny, który udostępnia funkcje sieciowe, które umożliwia różnym procesom na różnych komputerach

wymianę komunikatów

• Komputer działający w sieciowym SO działa

autonomicznie, chociaż jest świadomy sieci i może komunikować się z innymi komputerami

• Rozproszony system operacyjny zapewnia mniej autonomiczne środowisko

• Różne komputery komunikują się wystarczająco blisko, aby zapewnić iluzję, że tylko jeden system operacyjny kontroluje sieć

(75)

Wprowadzenie.

Streszczenie

(76)

Streszczenie (1)

• System operacyjny to oprogramowanie, które zarządza sprzętem komputerowym, a także

zapewnia środowisko do uruchamiania programów.

• Przerwania są kluczowym sposobem interakcji sprzętu z systemem operacyjnym. Urządzenie

sprzętowe wyzwala przerwanie, wysyłając sygnał do procesora CPU, aby ostrzec, że pewne zdarzenie

wymaga uwagi. Przerwanie jest zarządzane przez procedurę obsługi przerwań.

(77)

Streszczenie (2)

• Aby komputer mógł uruchamiać programy, one

muszą znajdować się w głównej pamięci, która jest jedynym obszarem pamięci, do którego procesor może uzyskać bezpośredni dostęp.

• Pamięć główna to zwykle pamięć ulotna, która traci swoją zawartość, gdy zasilanie jest wyłączone lub utracone.

• Pamięć nieulotna jest rozszerzeniem pamięci

głównej i jest w stanie utrzymać duże ilości danych na stałe.

(78)

Streszczenie (3)

• Najpopularniejszym nieulotnym urządzeniem pamięci masowej jest dysk twardy, który może przechowywać zarówno programy, jak i dane.

• Szeroka gama systemów pamięci masowej w

systemie komputerowym może być zorganizowana w hierarchię według szybkości i kosztów. Wyższe poziomy są drogie, ale są szybkie. Gdy

przechodzimy w dół hierarchii, koszt na bajt zwykle zmniejsza się, podczas gdy czas dostępu wzrasta.

(79)

Streszczenie (4)

• Nowoczesne architektury komputerowe są

systemami wieloprocesorowymi, w których każdy procesor zawiera kilka rdzeni obliczeniowych.

• Nowoczesne systemy operacyjne wykorzystują multiprogramowanie, które umożliwia

jednoczesne zapisanie kilku zadań w pamięci, dzięki czemu procesor zawsze ma zadanie do wykonania.

• Wielozadaniowość jest rozszerzeniem

multiprogramowania, w którym algorytmy

planowania CPU szybko przełączają się między

procesami, zapewniając użytkownikom szybki czas reakcji.

(80)

Streszczenie (5)

• Aby uniemożliwić programom użytkownika

zakłócenie prawidłowego działania systemu, sprzęt systemu ma dwa tryby: tryb użytkownika i tryb

jądra.

• Różne instrukcje są uprzywilejowane i mogą być wykonywane tylko w trybie jądra. Przykłady

obejmują instrukcję przejścia do trybu jądra, sterowania wejściem / wyjściem, zarządzania

regulatorem czasowym i zarządzania przerwaniami.

(81)

Streszczenie (6)

• Proces jest podstawową jednostką pracy w

systemie operacyjnym. Zarządzanie procesami obejmuje tworzenie i usuwanie procesów oraz zapewnienie mechanizmów umożliwiających komunikację i synchronizację procesów.

• System operacyjny zarządza pamięcią, śledząc, które części pamięci są używane i przez kogo. Jest również odpowiedzialny za dynamiczne

przydzielanie i zwalnianie przestrzeni pamięci.

(82)

Streszczenie (7)

• Przestrzeń dyskowa jest zarządzana przez system operacyjny; obejmuje to zapewnienie systemów plików do reprezentowania plików i katalogów oraz zarządzania przestrzenią na urządzeniach pamięci masowej.

• Systemy operacyjne zapewniają mechanizmy

ochrony i bezpieczeństwa systemu operacyjnego i użytkowników.

• Wirtualizacja obejmuje abstrahowanie sprzętu komputera do kilku różnych środowisk

wykonawczych.

Cytaty

Powiązane dokumenty

The pur pose of our stud ies is to eval u ate the hy dro car - bon po ten tial of autochthonous Mio cene strata of the Carpa- thian Foredeep and its Palaeozoic–Me so zoic base ment

Czasownik całować w funkcji werbalnego pozdrowienia i pożegnania, za- wierający w swej treści życzenie zdrowia, jest już bardzo bliski skonwencjonali- zowanemu gestowi, jakim

Jeszcze jedną, być może najbardziej kardynalną, zdolnością człowieka jest pamiętanie, dzięki niemu bowiem człowiek nie tylko uczy się na błędach i do- świadczeniach własnej

M. S.: Sądzimy często, że kultura jest pochodną komfortu materialne- go, a tu nagle odkrywamy społeczność bardzo aktywną i kreatywną, choć biedną. To nie tylko zaskakuje, ale

Ta pamięć podzielona znajduje się w sferze napięć między dwoma zapalnymi punktami wspomnień: o Holokauście i Gułagu; to one przeszkadzają w uformowaniu się jednej

Szlak Pamięci wyznaczający drogę, którą Żydzi z getta na Podzamczu prowadzeni byli na bocznicę kolejową, znajdującą się na terenie rzeźni miejskiej. ze znajdującej się

van ieder recht op aansprakelijkstelling en zich verplicht tot vrijwaring voor iedere aansprakeiijkheid jegens derden. Het rapport mag slechts woordelijk en in zijn geheel

Teoria asocjacyjna Kempa opiera się zasadniczo na trzech podstawowych założeniach: (a) zdarzenia doświadczane są wraz z całym kontekstem im towarzyszącym,