background image

SYSTEMY OPERACYJNE

07.12.2010

Kontekst i jego połączenie

współbieżna realizacja procesów / wątków

Kontekst – zbiór danych określających aktualny stan procesów lub wątków.

Kontekst:

sprzętowy – zbiór danych związanych z procesorem

stan licznika rozkazów PC (adres rozkazu)

IMG

rejestry robocze procesora

TSS – Task State Segment – 104B

programowy

np.: stan otwartych plików

Połączenie kontekstu

P

1

operacje sprzętowe

zapamiętanie w pamięci operacyjnej kontekstu procesu / wątku P

1

odczytanie z pamięci operacyjnej kontekstu procesu / wątku P

2

P

2

1

2

3

cd. P

P

P

P

1

Kontekst

background image

Procesy zależne i niezależne

niezależne  –   są   to   procesy   i   wątki   które   nie   korzystają   ze   wspólnych   danych   i   nie 

komunikują się ze sobą.

zależne – są to takie procesy i wątki które korzystają ze wspólnych danych lub komunikują 

się ze sobą

Hazard

niezależne – wyniki deterministyczne

zależne – hazard – wyniki niedeterministyczne

Usunięcie niedeterminizmu – programista

Mechanizmy systemowe

semafory

semafory binarne – Mutex (ang.: Mutual Exclusion)

programowanie współbieżne

sekcja krytyczna – fragment programu modyfikujący wspólne dane

2

P

P

1

DANE 1

DANE 2

2

P

P

1

DANE

2

P

P

1

DANE

różne

wyniki

P

1

2

P

sekcja

krytyczna

sekcja

krytyczna

1

2

3