• Nie Znaleziono Wyników

Część 1 Prawie

N/A
N/A
Protected

Academic year: 2021

Share "Część 1 Prawie"

Copied!
35
0
0

Pełen tekst

(1)

Część 1

Prawie Wszystko, co chcielibyście wiedzieć o

systemach operacyjnych, ale baliście się zapytać

Maciej J. Mrowiński

mrow@if.pw.edu.pl

Wydział Fizyki Politechnika Warszawska

5 października 2018

(2)

Pierwszy przykład poglądowy

1 p u b l i c cla ss E x a m p l e 0 0 1 {

2 p r i v a t e s t a t i c b o o l e a n s h o u l d R u n = true;

3

4 p u b l i c s t a t i c void main ( S t r i n g [] args ) {

5 T h r e a d t = new T h r e a d (new R u n n a b l e () {

6 @ O v e r r i d e

7 p u b l i c void run () {

8 S y s t e m . out . p r i n t l n (" S t a r t e d . ") ;

9 wh ile( s h o u l d R u n ) ;

10 S y s t e m . out . p r i n t l n (" Stopped , lol . ") ;

11 }

12 }) ;

13 t . s tar t () ;

14

15 S c a n n e r s c a n n e r = new S c a n n e r ( S y s t e m . in ) ;

16 if( s c a n n e r . h a s N e x t L i n e () ) {

17 s h o u l d R u n = f als e;

18 S y s t e m . out . p r i n t l n (" Stop ! ") ;

19 }

20 s c a n n e r . cl ose () ;

21 }

22 }

(3)

Zaliczenie

I Laboratorium - oceny z rozwiązywanych problemów, na koniec średnia, nieoddany problem wlicza się jako 0. Laboratorium musi być zaliczone.

I Wykład - praca domowa. Wykład musi być zaliczony.

Na koniec średnia z tych dwóch ocen.

(4)

Dzisiejszy Odcinek Sponsoruje...

(5)

Proces

Czym jest proces?

(6)

Proces

stack (stos)

heap (sterta) data text (kod)

(7)

Dygresja Niskopoziomowa

(8)

Stan Procesu

I new (nowy)

I running (aktywny)

I waiting (oczekujący)

I ready (gotowy)

I terminated (zakończony)

(9)

Stan Procesu

new

ready

terminated

running

waiting

(10)

Process Control Block (PCB) - Blok Kontrolny Procesu

wskaźnik

stan procesu wskaźnik instrukcji (IP)

numer procesu (PID)

rejestry ograniczenia pamięci

...

(11)

Process Control Block (PCB) - Blok Kontrolny Procesu

(12)

Process Control Block (PCB) - Blok Kontrolny Procesu

proces 0 system operacyjny proces 1

zapis PCB0 odczyt PCB1

zapis PCB1 odczyt PCB0

aktywnybezczynny (idle) bezczynny (idle)bezczynny (idle)

aktywny aktywny

(13)

Process Control Block (PCB) - Blok Kontrolny Procesu

head tail

PCB PCB PCB

kolejka procesów gotowych

head tail kolejka dysku 0

head tail

PCB kolejka dysku 1

(14)

Komunikacja Między Procesami (IPC - Interprocess Communication)

komunikaty

proces 0 SP

proces 1 SP

jądro SP

współdzielona pamięć

proces 0

proces 1

jądro

wspólna pamięć

(15)

Wątki

Czym są wątki (procesy lekkie)?

(16)

Wątki

Czym są wątki (procesy lekkie)?

Podstawowe jednostki wykorzystania procesora.

(17)

Wątki

proces jednowątkowy

kod dane pliki

rejestry stos

wątek

proces wielowątkowy

kod dane pliki

rejestry stos

rejestry stos

rejestry stos

wątek wątek wątek

(18)

Korzyści Programowania Wielowątkowego

(19)

Korzyści Programowania Wielowątkowego

I zdolność do reagowania

I dzielenie zasobów

I ekonomika - alokacja zasobów

I skalowalność

(20)

Planowanie Przydziału Procesora

Planowanie Przydziału Procesora

(21)

Cykle Faz Procesora i I/O

faza procesora faza I/O faza procesora faza I/O faza procesora faza I/O

czas

Procesy:

I CPU-bound(ograniczone przez procesor) - kilka długich faz procesora

I I/O-bound(ograniczone przez I/O) - wiele krótkich faz procesora

(22)

Planowanie Przydziału Procesora

Decyzje o przydziale procesora podejmuje dyspozytor (scheduler) w przypadku gdy:

1. proces przeszedł ze stanu running do waiting 2. proces przeszedł ze stanu running do ready 3. proces przeszedł ze stanu waiting do ready 4. proces kończy działanie

(23)

Planowanie Przydziału Procesora

Decyzje o przydziale procesora podejmuje dyspozytor (scheduler) w przypadku gdy:

1. proces przeszedł ze stanu running do waiting 2. proces przeszedł ze stanu running do ready 3. proces przeszedł ze stanu waiting do ready 4. proces kończy działanie

Jeżeli tylko 1 i 4, to planowanie niewywłaszczające (non-preemptive), w przeciwnym razie wywłaszczające (preemptive).

(24)

Kryteria Planowania

1. wykorzystanie procesora

2. przepustowość - liczba procesów kończonych w jednostce czasu

3. czas cyklu przetwarzania - czas między nadejściem procesu do systemu a zakończeniem procesu

4. czas oczekiwania - czas spędzony w kolejce procesów gotowych

5. czas odpowiedzi - czas między wysłaniem żądania a pojawieniem się pierwszej odpowiedzi

(25)

First-Come, First-Served (FCFS)

Proces Faza CPU

P1 24

P2 3

P3 3

P1 P2 P3

0 24 27 30

Średni czas oczekiwania: 17

P1 P2 P3

30

0 3 6

Średni czas oczekiwania: 3

(26)

First-Come, First-Served (FCFS)

Proces Faza CPU

P1 24

P2 3

P3 3

P1 P2 P3

0 24 27 30

Średni czas oczekiwania: 17

P1 P2 P3

30

0 3 6

Średni czas oczekiwania: 3

(27)

First-Come, First-Served (FCFS)

Proces Faza CPU

P1 24

P2 3

P3 3

P1 P2 P3

0 24 27 30

Średni czas oczekiwania: 17

P1 P2 P3

30

0 3 6

Średni czas oczekiwania: 3

(28)

Shortest-Job-First (SJF) bez wywłaszczenia

Proces Faza CPU

P1 6

P2 8

P3 7

P4 3

P4

0 3

P1

9 16

P3 P2

24 Średni czas oczekiwania: 7 (dla FCFS 10.25)

(29)

Shortest-Job-First z wywłaszczeniem

Proces Nadejście Proc. Faza CPU

P1 0 8

P2 1 4

P3 2 9

P4 3 5

P1 0 1

P2 5

P4 10

P1

17 26

P3

Średni czas oczekiwania: 6.5 (bez wyw. 7.75)

(30)

Planowanie Priorytetowe (Priority Scheduling)

Proces Priorytet Faza CPU

P1 3 10

P2 1 1

P3 4 2

P4 5 1

P5 2 5

P2 0 1

P5 6

P1

16 P3

18 19 P4

Średni czas oczekiwania: 8.2

Problem: głodzenie (starvation); rozwiązanie: postarzanie (aging).

(31)

Planowanie Priorytetowe (Priority Scheduling)

Proces Priorytet Faza CPU

P1 3 10

P2 1 1

P3 4 2

P4 5 1

P5 2 5

P2 0 1

P5 6

P1

16 P3

18 19 P4

Średni czas oczekiwania: 8.2

Problem: głodzenie (starvation); rozwiązanie: postarzanie (aging).

(32)

Round-Robin (Planowanie Rotacyjne)

Proces Faza CPU

P1 24

P2 3

P3 3

Kwant czasu: 4

0 P1

4 P2

7 P3

10

P1 P1 P1 P1 P1

14 18 22 26 30

Średni czas oczekiwania: 5.66

Problem: dobór kwantu czasu.

(33)

Round-Robin (Planowanie Rotacyjne)

Proces Faza CPU

P1 24

P2 3

P3 3

Kwant czasu: 4

0 P1

4 P2

7 P3

10

P1 P1 P1 P1 P1

14 18 22 26 30

Średni czas oczekiwania: 5.66 Problem: dobór kwantu czasu.

(34)

Planowanie z Wykorzystaniem Kolejek Wielopoziomowych

procesy systemowe procesy kadry procesy studentów procesy doktorantów

priorytet

(35)

Kolejki Ze Sprzężeniem Zwrotnym

kwant 8 kwant 16 FCFS

Cytaty

Powiązane dokumenty

zydenturze można zauważyć, że jego poglądy w tej kwestii tworzą wyraźną całość, którą należałoby określić jako koncepcję ustrojową J. Piłsudskiego dotyczącą

Solid Edge PCB Collaboration wykorzystuje pliki w formacie IDX do transferu danych między środowiskami ECAD i MCAD. Okna dialogowe oferują widok struktury drzewa pliku IDX,

Solid Edge PCB Collaboration allows users to browse and import exact models, pro- viding a true 3D view of the design that can be rotated and visually inspected for

Moduł oprogramowania Solid Edge® firmy Siemens do projektowania płytek drukowanych PCB oferuje w pełni zintegrowane możliwości projektowania płytek w 2D/3D, łącznie z

Znane przykłady substytucji atomów chloru w pierścieniu aromatycznym ograniczają się do reakcji zachodzących w wysokich temperaturach (realizowana w skali przemysłowej

I I Złożoność w pesymistycznym przypadku Złożoność w pesymistycznym przypadku nie zawsze musi się realizować.. nie zawsze musi

Współcześnie każde przedsiębiorstwo produkcyjne zorientowane jest na wytwarzanie produktów o wysokiej jakości zachowując przy tym akceptowalną przez klienta cenę. Wynika to

In simulations using GPS-X, the parameters that greatly influence was included the maximum sedimentation rate, the dependent nutrient microbial yield (anoxic), the