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

Post on 26-Mar-2021

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME

Klasifikacija OS

Koncept procesa

Asinhroni procesi

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.

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

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

5

Glavni resursi operativnog sistema

procesor

memorija

ulazno/izlazni podsistem

informacije (podaci i programi).

6

KLASIFIKACIJA OPERATIVNIH SISTEMA

Klasifikacija prema vrsti primene:

1. opštenamenski

2. sa radom u realnom vremenu

3. orijentisani na transakcionu obradu

7

Operativni sistemi opšte namene

Dva osnovna režima rada:

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

multiprogramski operativni sistemi.

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.

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).

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.

11

Ilustracija jednoprogramskog režima

I 1

O 1

M 1

O 1

I 1

Osnovni

nivo

T

P

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

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.

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

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.

16

Vremenski interval

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

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.

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.

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.

20

Klasifikacija OS prema strukturi računarskog sistema

MULTIPROCESORSKI OPERATIVNI SISTEMI

OPERATIVNI SISTEMI U RAČUNARSKIM MREŽAMA

21

KONCEPT PROCESA

Polazna tačka teorije operativnih sistema je proces.

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

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.

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.

24

Def. 3

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

25

Graf stanja procesa

PRIPRAVNOST

TOP

IZVRŠENJE

BLOKIRAN

RASPODELA

VREME

PREKIDA

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

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

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

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.

30

Hijerarhija stvaranja procesa

A

C

D

F E

B

G

H

I

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

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.

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.

34

Kritična sekcija

Primer:

LOAD UNOSL

ADD 1

STORE UNOSL

35

Rešenja kritične sekcije

Dekerov algoritam

TEST & SET instrukcija

Semafori

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.

37

Programsko rešenje sinhronizacije n procesa

. . .

. . .

START

S = 1

P2 P1 Pi Pn

. . .

P(S)

CSi

V(S)

Pi

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Č

top related