• Nie Znaleziono Wyników

Struktura systemów komputerowych

N/A
N/A
Protected

Academic year: 2022

Share "Struktura systemów komputerowych"

Copied!
8
0
0

Pełen tekst

(1)

4.1

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 4, Systemy operacyjne (studia zaoczne) PJWSTK, Adam Smyk, 2016/ 17

4.2

Architektura systemu komputerowego

4.3

Architektura systemu komputerowego

4.4

Architektura systemu komputerowego .

Architektura systemu komputerowego .

CISC, RISC?

http://ark.intel.com/

(2)

4.7

http://www.notebookcheck.net/Core-i7-3960X-and-i7-2700K-Desktop-CPUs-in-Review.67771.0.html

4.8

Najważniejsze cechy funkcjonowania systemu komputerowego

Urządzenia we/wy oraz CPU mogą działać współbieżnie

Każdy sterownik we/wy zarządza urządzeniem danego typu

Każdy sterownik we/wy posiada lokalny bufor

CPU przesyła dane z/do pamięci głównej do/z lokalnych buforów

Operacje we/wy odbywają się z urządzeń do ich lokalnych buforów

Sterownik urządzenia informuje CPU o zakończeniu operacji we/wy za pomocą przerwań

4.9

Ogólne funkcje architektury przerwań

Przerwanie powoduje przekazanie sterowania do procedury obsługi przerwań, z użyciem tzw. wektora przerwań - tablicy zawierającej adresy procedur obsługujących przerwania

System, w którym nastąpiło przerwanie musi zapamiętać i przechować adres (i inne informacje) przerwanego rozkazu (stos systemowy)

Nowe przerwania przychodzące podczas obsługi bieżącego przerwania są zwykle wyłączone (opóźniane do czasu, aż system upora się z bieżącym przerwaniem), aby nie utracić bieżącego przerwania

W nowszych systemach jest możliwość przerwania przerwań na bazie priorytetów przerwań

Pułapka ( trap ) czyli wyjątek jest rodzajem przerwań generowanych przez oprogramowanie w wyniku błędu (np. dzielenie przez zero, niewłaściwy dostęp do pamięci) lub specjalnego zamówienia z programu użytkownika.

 System operacyjny jest sterowanym przerwaniami

4.10

Obsługa przerwań

SO zachowuje stan CPU przez zapamiętanie zawartości rejestrów i licznika rozkazów .

Określa typ przerwania jakie nastąpiło przez:

odpytywanie , tzn. badanie stanu wszystkich urządzeń we/wy - polling

wektorowy system przerwań

Segmenty kodu programu określają jakie działania muszą być podjęte dla każdego typu przerwań

Wykres czasowy przerwań procesu

wykonującego operację wyjścia Hierarchia pamięci

 Hierarchia pamięci wg.:

Szybkości

Wielkości

Kosztu

Ulotności

 Stosowanie pamięci podręcznej - kopiowanie informacji do szybszych rodzajów pamięci; pamięć operacyjną można uznać za szybszą pamięć podręczną dla pamięci pomocniczej.

(3)

4.13

Hierarchia urządzeń pamięciowych

4.14

Przeniesienie z dysku do rejestru

4.15

Ochrona sprzętowa

SO nadzoruje wykorzystanie istniejących zasobów przez uruchomione procesy

Dualny tryb operacji

Ochrona wejścia-wyjścia

Ochrona pamięci

Ochrona jednostki centralnej

4.16

Dualny tryb operacji

 Dzielenie zasobów systemu wymaga od systemu operacyjnego gwarancji, że nieprawidłowy program nie spowoduje nieprawidłowego działania innych programów.

 Sprzęt posiada środki pozwalające na rozróżnianie rozmaitych trybów pracy:

1. Tryb użytkownika

2. Tryb monitora (nadzoru)

Dualny tryb operacji cd.

 W sprzęcie istnieje bit, którego stan wskazuje na bieżący tryb pracy: monitora (0) lub użytkownika (1).

 Za każdym razem po wystąpieniu pułapki lub przerwania sprzęt zmienia tryb pracy z trybu użytkownika na tryb monitora.

Rozkazy uprzywilejowane (np.: zmiana trybu procesora) mogą być wydane tylko w trybie monitora.

monitor użytkownik

przerwanie/błąd

ustaw tryb użytkownika

Dualny tryb operacji cd.

dualny tryb działania komputera jest uzupełniany

za pomocą środków sprzętowych

umożliwiających monitorowanie wykonania

potencjalnie niebezpiecznych rozkazów -

rozkazów uprzywilejowanych wykonywanych

tylko w trybie monitora.

(4)

4.19

Ochrona wejścia-wyjścia

Wszystkie rozkazy WE/WY są

uprzywilejowane (użytkownicy nie mogą ich używać bezpośrednio, lecz tylko za pośrednictwem SO)

 Należy mieć pewność, że program użytkownika nigdy nie przejmie kontroli nad komputerem w trybie pracy monitora (np. poprzez umieszczenie nowego adresu w wektorze przerwań)

4.20

Użycie wywołania systemowego do przeprowadzenia operacji We/Wy

Program Użytkownika Odwołanie do

zadania N-tego Odczytanie

Zadanie

N-te Rezydentny

Monitor

Operacja We/Wy

Zwrócenie do użytkownika Pułapka

do monitora

4.21

Ochrona pamięci

 Konieczna jest ochrona pamięci przynajmniej dla wektora przerwań i programów obsługujących przerwania.

 Aby zapewnić ochronę pamięci, dodaje się dwa rejestry, które określają rozpiętość adresów, do których program ma dostęp:

Rejestr bazowy – przechowuje najniższy dozwolony adres pamięci fizycznej.

Rejestr limitu – przechowuje rozmiar zasięgu

 Pamięć spoza tych ram jest chroniona.

4.22

Użycie rejestru bazowego i limitu

Zadanie 1

Zadanie 2

Zadanie 3

Zadanie 4

Rejestr bazowy

Rejestr limitu

Sprzętowa ochrona adresów

 System operacyjny pracujący w trybie monitora ma nieograniczony dostęp zarówno do pamięci monitora, jak i użytkownika.

 Instrukcje wczytywania dla limitu bazowego i limitu są instrukcjami uprzywilejowanymi.

(5)

4.25 4.26

4.27

Ochrona procesora przed zawłaszczeniem

W celu ochrony procesora przed zawłaszczeniem procesora wykorzystywany jest tzw. zegar:

Zegar jest zmniejszany przy każdym takcie zegara.

Kiedy zegar osiąga wartość 0, następuje przerwanie.

W trakcie obsługi przerwania SO może wstrzymać właśnie wykonywany proces, a uruchomić inny …

Zegar jest powszechnie używany do obsługi podziału czasu.

Używany też do wyliczania aktualnego czasu.

Programowanie zegara jest instrukcją uprzywilejowaną.

4.28

Wykład 4: Procesy

 Ogólne składowe systemu – część 1

 Koncepcja procesu

 Planowanie procesów

 Operacje na procesach

 Procesy współpracujące – przykład

 Komunikacja międzyprocesowa

 Wielowątkowość

Wykład 4, Systemy operacyjne (studia zaoczne) PJWSTK, Adam Smyk, 2016/17

Ogólne składowe systemu

Istnieje kilka dogodnych sposobów patrzenia na SO:

 poprzez przegląd świadczonych przez system usług

 Interfejs, który system udostępnia użytkownikom i programistom

 poszczególne części systemu i ich wzajemne powiązania

Współczesne SO zawierają następujące części składowe:

 zarządzanie procesami

 zarządzanie pamięcią operacyjną

 zarządzanie plikami

 zarządzanie systemem we/wy

 zarządzanie pamięcią pomocniczą

 praca sieciowa

 system ochrony

 system interpretacji poleceń

Ogólne składowe systemu

Współczesne SO zawierają następujące części składowe:

 zarządzanie procesami

 ….

 Nośnikiem każdego procesu jest zawsze w efekcie jakiś system fizyczny.

 Każdy kolejny stan/zmiana systemu spowodowana jest przez stan/zmianę poprzednią albo przez oddziaływanie zewnętrzne na system.

 Z punktu widzenia najbardziej ogólnego, tzn. systemowego, rozróżniamy procesy ciągłe i dyskretne.

Zgodnie z pl.wikipedia.org:

Proces to uporządkowany w czasie ciąg zmian i stanów zachodzących po sobie.

(6)

4.31

Ogólne składowe systemu

Współczesne SO zawierają następujące części składowe:

 zarządzanie procesami

 ….

Wyróżniamy też procesy naturalne i sztuczne.

Procesami naturalnymi zajmują się nauki przyrodnicze (fizyka, chemia, biologia, itd.)

Procesami sztucznymi zajmuje się inżynieria i nauki społeczne.

Zgodnie z pl.wikipedia.org:

Procesy ciągłe to takie gdzie na dowolnym skończonym odcinku czas możemy wyróżnić nieskończoną liczbę zmian a różnice między nimi są dowolnie małe.

Takie procesy opisują wiele podstawowych zjawisk fizycznych.

Procesy dyskretne to takie w których możemy wyróżnić skończoną liczbę zdarzeń/stanów.

4.32

Składowe systemu

Zarządzanie procesami

Program jest pasywną reprezentacją procesu - jeden wykonywany program rodzi wiele procesów

Proces to program, który jest wykonywany w sposób sekwencyjny, a podczas jego wykonywania licznik rozkazów określa następną instrukcję wykonania

Proces wymaga określonych zasobów, w tym czasu procesora, pamięci, plików, urządzeń WE/WY

4.33

Zarządzanie procesami

W odniesieniu do zarządzania procesami SO odpowiada za:

tworzenie i usuwanie zarówno procesów użytkowych, jak systemowych

wstrzymywanie i wznawianie procesów

dostarczanie mechanizmów

synchronizacji procesów

komunikacji procesów

obsługi zakleszczeń

4.34

Koncepcja procesu

 System operacyjny wykonuje różnorodne programy :

System wsadowy – zadania (jobs)

Systemy z podziałem czasu – bieżące programy użytkownika (tasks)

 Terminy zadanie i proces są stosowane prawie zamiennie,

 Proces – program w trakcie wykonywania; jego wykonanie musi przebiegać sekwencyjnie.

 Proces zawiera:

Licznik rozkazów (adres ostatnio wykonywanej instrukcji)

Zawartość rejestrów procesu

Wskaźnik stosu

Przestrzeń adresową:

Kod procesu – sekcja tekstu

Dane zainicjalizowane – sekcja danych

Dane niezainicjalizowane

Stos procesu – przechowuje dane tymczasowe (parametry procedur, adresy powrotne, zmienne tymczasowe)

Model procesów

 Na procesy można patrzeć z punktu widzenia:

A

B

C

B

D czas

1) Sprzętu (procesora) (jeden licznik rozkazów)

A B C

B

D 2) Systemu operacyjnego

(wiele liczników rozkazów)

A

B C

B D 3) Dostępności zasobów

Stan procesu

 Wykonujący się proces zmienia swój stan, wyróżniamy stany

nowy : proces zostaje utworzony.

aktywny : instrukcje są wykonywane.

oczekujący : proces czeka na wystąpienie jakiegoś zdarzenia (np. zakończenie operacji WE/WY).

gotowy : proces czeka na przydział procesora.

zakończony : proces zakończył działanie.

 Diagram stanów procesu nowy

gotowy aktywny

zakończony

oczekujący

Przyjęcie Przerwanie Wyjście

Decyzja planista

Oczekiwanie na zdarzenie lub na wykonanie

Operacji we/wy Zakończenie obsługi zdarzenia

lub operacji we/wy

(7)

4.37

Blok kontrolny procesu

(ang. process control block PCB) Informacje związane z każdym procesem zawarte są

w bloku kontrolnym procesu:

 Stan procesu – gotowy …..

 Licznik rozkazów - Licznik ten wskazuje adres następnego rozkazu do wykonania w procesie

 Rejestry procesora - Liczba i typy rejestrów zależą od architektury komputera; są tu akumulatory, rejestry indeksowe, wskaźniki stosu, rejestry ogólnego przeznaczenia oraz rejestry warunków. Informacje dotyczące tych rejestrów i licznika rozkazów muszą być przechowywane podczas przerwań, aby proces mógł być później poprawnie kontynuowany.

 Informacje o planowaniu przydziału procesora - Należą do nich: priorytet procesu, wskaźniki do kolejek przyporządkowujących zamówienia, a także inne parametry planowania.

wskaźnik stan procesu

numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otwartych plików

. . .

4.38

Blok kontrolny procesu (PCB)

 Informacje o zarządzaniu pamięcią - Mogą to być informacje takie, jak zawartości rejestrów granicznych, tablice stron, lub tablice segmentów - zależnie od systemu pamięci używanej przez SO.

 Informacje do rozliczeń - Do tej kategorii informacji należy ilość zużytego czasu procesora i czasu rzeczywistego, ograniczenia czasowe, numery zadań lub procesów itp.

 Informacje o stanie WE/WY - Mieszczą się tu informacje o urządzeniach WE/WY (np. o jednostkach dyskowych) przydzielonych do procesu, wykaz otwartych plików itd.

wskaźnik stan procesu

numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otwartych plików

. . .

4.39

w skaźnik stan procesu numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otw artych plików . . .

wskaźnik stan procesu numer procesu licznik rozkazów rejestry

ograniczenia pamięci lista otwartych plików . . . w skaźnik stan

procesu numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otw artych plików . . . w skaźnik stan

procesu numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otw artych plików . . .

wskaźnik stan procesu numer procesu licznik rozkazów rejestry

ograniczenia pamięci lista otwartych plików . . . w skaźnik stan

procesu numer procesu licznik rozkazów

rejestry

ograniczenia pamięci lista otw artych plików . . .

Przełączanie kontekstu

Gdy CPU przełącza się do innego procesu, system musi przechować stan starego procesu i załadować przechowywany stan nowego procesu – nazywa się to przełączaniem kontekstu.

Czas przełączania kontekstu jest obciążeniem dla systemu, które nie jest związane z żadną użyteczną pracą.

Czas ten zależy w dużym stopniu od możliwości sprzętu.

4.40

Przełączanie kontekstu

Proces P0 system operacyjny Proces P1

zapisz stan do PCB0

załaduj stan z PCB1

zapisz stan do PCB1

załaduj stan z PCB0 przerwanie albo funkcja systemowa przerwanie albo funkcja systemowa

wykonywanie

wykonywanie wykonywanie

bezczynny

bezczynny

bezczynny

Planowania procesów

 Celem wieloprogramowania jest jak najlepsze wykorzystanie procesora - powinien on zawsze wykonywać jakiś proces.

 W podziale czasu przełączanie procesora do procesów powinno następować tak często, aby każdy z wykonywanych procesów mógł współpracować z użytkownikami w sposób interaktywny.

 Kolejki:

Kolejka zadań – zbiór wszystkich procesów systemu.

Kolejka procesów gotowych – zbiór wszystkich procesów, które oczekują w pamięci głównej, gotowych i czekających na wykonanie.

Kolejki do urządzeń – zbiór procesów oczekujących na urządzenia WE/WY.

 Migracja procesów między różnymi kolejkami.

Kolejki procesów gotowych do wykonania i kolejki do różnych urządzeń we/wy

Taśma magnetyczna

Taśma magnetyczna

początek koniec

początek koniec

początek koniec

początek koniec

początek

koniec rejestry

rejestry rejestry rejestry

rejestry rejestry

PCB3 PCB14 PCB6

PCB5

PCB7 PCB2

nagłówek kolejki Kolejka

procesów gotowych

Jednostka 0

Jednostka 1

dysk Jednostka 2

terminal Jednostka 3

(8)

4.43

Migracja procesów między kolejkami systemu

Po przydzieleniu procesowi procesora może wystąpić jedno z następujących zdarzeń:

proces może zamówić operację WE/WY, wskutek czego trafia do kolejki procesów oczekujących na WE/WY

proces może utworzyć nowy podproces i oczekiwać na jego zakończenie

w wyniku przerwania proces może zostać przymusowo usunięty z procesora z powrotem do kolejki procesów gotowych

4.44

Planiści

W celu planowania działań SO musi w jakiś sposób wybierać procesy z kolejki; selekcji dokonuje proces systemowy zwany planistą (ang.

scheduler)

 Planista długoterminowy – wybiera procesy przechowywane w pamięci masowej (dysk) i ładuje je do pamięci, do kolejki zadań (procesów gotowych) .

 Planista krótkoterminowy (CPU scheduler) – wybiera jeden proces, który ma być wykonywany jako następny i przydziela mu procesor.

4.45

Planiści (c.d.)

 Planista krótkoterminowy musi bardzo często wybierać nowy proces dla procesora (millisekundy)  musi być szybki.

 Planista długoterminowy działa rzadko (sekundy, minuty)  może być wolniejszy.

 Planista długoterminowy nadzoruje stopień wieloprogramowości.

 Procesy można przedstawić jako:

 Procesy ograniczone przez WE/WY – spędzają więcej czasu wykonując operacje WE/WY niż na obliczeniach, wiele krótkich okresów aktywności procesora.

Procesy ograniczone przez dostęp do procesora – większość czasu spędzają na wykonywaniu obliczeń; kilka długich okresów aktywności procesora.

 Planista długoterminowy musi dobrać dobrą mieszankę procesów.

 W niektórych SO z podziałem czasu może występować pośredni poziom planowania ==> planista pośredni.

4.46

Planista pośredni

(występuje w niektórych systemach)

Kolejka procesów gotowych

Kolejka procesów oczekujących na operację wejścia-wyjścia

CPU

WE/WY

Koniec Usuń z pamięci Sprowadź z pamięci

Cytaty

Powiązane dokumenty

[r]

W przypadku 2, jeśli β jest kontrtautologią (formułą mającą wartość 0 przy każdym wartościowaniu zmiennych zdaniowych), to gałęzie w tablicy analitycznej formuły

Wtedy {¬ϕ} jest tablicowo niesprzeczny, a zatem jest speªnialny (na mocy Faktu poprzedzaj¡cego niniejsze twierdzenie oraz Twierdzenia o Istnieniu Modelu dla KRZ)..

W celu określenia udziału każdego z krajów w tej ogólnej sumie kosztów, kraje zawierające umowę i te, które przystąpią do Związku w przyszłości dzieli się na sześć klas,

cementitious composites incorporating electrochemically exfoliated graphene in building structures autorstwa mgr inż.. Małgorzaty Krystek przedstawione Radzie

Sposób obliczania azymutu przy pomocy tablicy ABC jest nast?puj?cy:?. Z tablicy A

Wskazywana przez Kościół metoda inkulturacji wiary zdaje się nie mieć praktycznego przełożenia na rzeczywistość i zamiast stać się rodzajem nowej ewangelizacji i

Ale jest w nim również nuta prze­ czucia, że przez warstwy „materii nieożywionej” ku „żywej materii” przecieka coś, co w ciele zjawia się jako ból, ale jest też