projektovanje operativnih sistema za realno vreme · 2020. 10. 12. · operativni sistemi...

38
1 PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME Klasifikacija OS Koncept procesa Asinhroni procesi

Upload: others

Post on 26-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

1

PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME

Klasifikacija OS

Koncept procesa

Asinhroni procesi

Page 2: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

2

Definicije Operativnog Sistema

I def. OS: skup programskih proširenja nad primitivnim elementima fizičke arhitekture koja dovode do virtuelnih mašina.

II def. OS: operativni sistema je upravljačkiprograma za dodelu resursa procesima prisutnim u računarskom sistemu.

Page 3: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

3

Funkcije OS (1/2)

formiranje (stvaranje) i odstranjivanje procesa

upravljanje tokom realizacije procesa

delovanje u uslovima izuzetnih događaja

dodela resursa fizičke arhitekture procesima

Page 4: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

4

Funkcije OS (2/2)

obezbeđenje pristupa programskim resursima (npr. datotekama, editoru, kompajlerima, asemblerima, bibliotekama i programskim sistemima)

obezbeđenje zaštitnog mehanizma, upravljanje pristupom i bezbednošću informacije

obezbeđenje komunikacije između procesa i sinhronizacije

Page 5: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

5

Glavni resursi operativnog sistema

procesor

memorija

ulazno/izlazni podsistem

informacije (podaci i programi).

Page 6: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

6

KLASIFIKACIJA OPERATIVNIH SISTEMA

Klasifikacija prema vrsti primene:

1. opštenamenski

2. sa radom u realnom vremenu

3. orijentisani na transakcionu obradu

Page 7: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

7

Operativni sistemi opšte namene

Dva osnovna režima rada:

operativni sistemi za serijsku obradu grupa programskih paketa (batch processing),

multiprogramski operativni sistemi.

Page 8: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

8

MULTIPROGRAMSKI OS

Računarski sistem radi u multiprogramskom režimu, ukoliko je u sistemu prisutno više korisničkih programa istovremeno.

Prisutni programi čine multiprogramski skup.

Različiti oblici multiprogramskog rada pojavili su se uglavnom u odnosu na pravila prenosa upravljanja sa jednog programa na drugi program iz tog skupa.

Page 9: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

9

Tri osnovna tipa multiprogramskog režima:

multiprogramiranje bez vremenskih prekida,

multiprogramiranje sa vremenskim prekidom,

multiprogramiranje sa vremenskim prekidom i programskim prioritetima na bazi podele vremena (TIME SHARING).

Page 10: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

10

Multiprogramiranje bez vremenskih prekida

Klasično multiprogramiranje.

Karakteriše se pravilima prelaza sa programa na program sa stanovišta dostizanja maksimalnog iskorištenja računarskog sistema.

Page 11: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

11

Ilustracija jednoprogramskog režima

I 1

O 1

M 1

O 1

I 1

Osnovni

nivo

T

P

Page 12: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

12

Ilustracija multiprogramskog režima:

O1

I1

O2

I2

O3

I3

M2

M3

0

P3

P2

P1 O1

O2

O3

O1

O2

O3

I1

I2

I3 I3

I2

I1

T

U

I1

U

I2

U

I3

Page 13: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

13

Multiprogramiranje sa vremenskim prekidom

Predstavlja multiprogramski režim kod koga se prelaz između programa vrši u vrlo kratkom intervalu vremena.

U ovom slučaju, postiže se visok stepen istovremenog rada resursa računarskog sistema.

Page 14: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

14

Dva tipa prekida koji izazivaju prelaze među programima

prekidi koji označavaju završetak ulazno-izlazne operacije (multiprogramiranje) i

iznuđeni vremenski prekid, na kraju intervala vremena koji je dodeljen svakom programu

Page 15: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

15

Multiprogramski sistemi sa podelom vremena i dodelom prioriteta programima

Predstavljaju multiprogramiranje sa sposobnošću multipleksiranja ili podele ukupnog vremenskog intervala T, na odsečke vremena Δti.

Svakom programu se dodeljuje određen brojvremenskih intervala (kvanta), Δti.

Page 16: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

16

Vremenski interval

Dužina vremenskih intervala nije konstantna, nego se menja zavisno od posmatranog programa, a i od konkretnih uslova eksploatacije.

Page 17: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

17

OS za rad u realnom vremenu (1/2)

Ulazni događaji se moraju uneti i opslužiti unutar unapred definisanog intervala vremena.

Vremenski kritični procesi imaju najviši prioritet.

OS mora posedovati časovnik realnog vremena velike preciznosti.

Sistemi moraju omogućiti komunikaciju preko deljivih segmenata operativne memorije.

Page 18: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

18

OS za rad u realnom vremenu (2/2)

Da bi se minimiziralo vreme pristupa datotekama, one moraju biti smeštene na susednim zonama na spoljnoj memoriji.

Planeri OS u realnom vremenu mogu reagovati na prekide ili na vremenske cikluse.

Page 19: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

19

Operativni sistemi orijentisani na transakcije

Pod transakcljom se podrazumeva niz aktivnosti koje se generišu u mašini na osnovu niza podataka koji se unosi preko komunikacionih linija u sistem.

Osnovni naglasak kod ovih operativnih sistema je na interakciju sa bazom podataka, ulančavanju zahteva za transakcijama, sinhronizaciji zahteva i na obezbeđenju ispravnog održavanja baza podataka.

Page 20: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

20

Klasifikacija OS prema strukturi računarskog sistema

MULTIPROCESORSKI OPERATIVNI SISTEMI

OPERATIVNI SISTEMI U RAČUNARSKIM MREŽAMA

Page 21: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

21

KONCEPT PROCESA

Polazna tačka teorije operativnih sistema je proces.

Pojam procesa je prvi put korišćen od strane projektanata OS Multics.

Page 22: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

22

Def. 1

Sekvencijalni proces je niz aktivnost kojeizvršava procesor pri izvršavanju programa sa njemu pridruženim podacima.

Sa logičkog stanovišta svaki proces ima svoj sopstveni procesor i program.

Dva različita procesa mogu međusobno deliti isti program ili isti procesor.

Page 23: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

23

Def. 2

Proces je aktiviranje izvršive jedinice programa.

U multiprogramskim uslovima, gde više procesa dele jedan procesor, proces je i rasporediva jedinica.

Page 24: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

24

Def. 3

Proces je program u fazi izvršenja, odnosno proces je asinhorna aktivnost.

Page 25: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

25

Graf stanja procesa

PRIPRAVNOST

TOP

IZVRŠENJE

BLOKIRAN

RASPODELA

VREME

PREKIDA

Page 26: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

26

Graf stanja prelaza procesa sa stanjima za početak i kraj UI

PRIPRAVNOST

TOP

KRAJ

PROCESA

BLOK ČEKA

U/I AKT.

BLOK ČEKA

UREĐ.

1

2

3

4

5

ČEKANJE NA

ZAVRŠETAK

U/I

ČEKANJE NA

POČETAK U/I

AKTIVNOSTI

Page 27: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

27

Ilustracija prelaza stanja procesa

2 9 7 5 9

4

7

3 5

7

7

9

3

5

7 8

7

6 4

1 2 3

7 5 1

3 5

LP

ID C

a)

2 4

LPUI

ID C

LZUI

ID C

8

5 6 7

TOP

9

3

5

7 8

2

6 4

1 2 3

1 3 5

LP

ID C

b)

4

LPUI

ID C ID C

8

5 6 7

TOP

1

3

5

7 8

2

6 4

1 2 3

LP

ID C

c)

LPUI

ID C ID C

8

5 6 7

TOP

LZUI

LZUI

Page 28: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

28

Ilustracija prelaza između stanja procesasa dodeljenim prioritetima

(6)

(7)

(3)

0 1 9

(9) (2) (0)

7 5 3

3 9

(3) (4)

(1)

(6)

(7)

(3) (9) 7 10 (2) (0) 1

(4) (3) (1) 8

3 5

(1)

(7)

(3)

9

P=0 (4) (3) (0)

(9) (6) (2)

7 10

5

8 3

5

3

5

7 8

7

6 4

1 2 3

7 5 1

3 5

LČO

ID C

a)

2 4

LČUI

ID C

LZUI

ID C

5 6 7

TOP

3

5

7 4

7

6 4

1 2 3

LČO

ID C

b)

2

LČUI

ID C ID C

8

5 6 7

3

5

7 4

7

6 4

1 2 3

LČO

ID C

c)

LČUI

ID C ID C

8

5 6 7

P P P

P P P

P

10

P

9

P=0

TOP

1

P=0

TOP

8

P

Page 29: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

29

Operacije nad procesima

formiranja (stvaranje) procesa,

rasformiranja (uništavanje) procesa,

suspenzija procesa,

ponovno uključenje (aktiviranje) procesa,

promena prioriteta procesa,

blokiranje procesa i

dodela procesora (raspoređivanje) procesu.

Page 30: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

30

Hijerarhija stvaranja procesa

A

C

D

F E

B

G

H

I

Page 31: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

31

Dijagram stanja prelaza sa suspenzijom i obnavljanjem

PRIPR. BLOK

ZAVRŠETAK U/I

TOP

SUSP.

BLOK

SUSP

EN

ZIJ

A

OB

NA

VL

JAN

JE

ČE

KA

NJE

U/I

SUSP.

IZ

PRIPR.

SUSP

EN

ZIJ

A

OB

NA

VL

JAN

JE

ZAVRŠETAK U/I

VR

EM

E P

RE

KID

A

DISP

ER

Page 32: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

32

Kontrolni blok procesa sadrži:

jednoznačnu indentifikaciju procesa

tekuće stanje procesa

prioritet procesa

ukazivač na memoriju dodeljenu procesu

ukazivače dodeljenih resursa

zonu za sklanjanje stanja procesa u momentu prekida.

Page 33: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

33

ASINHRONI PROCESI

Procesi su konkurentni ili paralelni ukoliko se izvršavaju u isto vreme i ako su realizovani potpuno nezavisno jedan u odnosu na drugog.

Page 34: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

34

Kritična sekcija

Primer:

LOAD UNOSL

ADD 1

STORE UNOSL

Page 35: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

35

Rešenja kritične sekcije

Dekerov algoritam

TEST & SET instrukcija

Semafori

Page 36: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

36

Semaforske primitive

Semafor S je nenegativan ceo broj.

Operacija V(S): promenljiva S se uvećava za 1, jednom nedeljivom radnjom: izbor, uvećanje i pamćenje ne mogu da se prekinu, a ka promenljivoj S nema pristupa ni jedan drugiproces u vreme operacije V(S);

Opercija P(S): umanjenje vrednosti S za jedan ukoliko je to moguće. Ako je S=0, umanjenje nije moguće.

Page 37: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

37

Programsko rešenje sinhronizacije n procesa

. . .

. . .

START

S = 1

P2 P1 Pi Pn

. . .

P(S)

CSi

V(S)

Pi

Page 38: PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME · 2020. 10. 12. · Operativni sistemi orijentisani na transakcije Pod transakcljom se podrazumeva niz aktivnosti koje se generišu

38

Ilustracija problema proizvođač-potrošač

PROIZVODNJA

SLEDEĆEG SLOGA

P (e)

P (b)

SMEŠTANJE

SLOGA U BAFER

V (b)

V(f)

PRENOS

SLOGA IZ BAFERA

P (f)

OBRADA SLOGA

P (b)

V (b)

V (e)

PROIZVOĐAČ POTROŠAČ