Komunikace a synchronizace proces u

Rozměr: px
Začít zobrazení ze stránky:

Download "Komunikace a synchronizace proces u"

Transkript

1 Komunikace a synchronizace proces u PB 152 Operacn syst emy Jan Staudek Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017

2 Motto platn e jiz 35 let Designing correct routines for controlling concurrent activities proved to be one of the most difficult aspects of systems programming. The ad hoc techniques used by programmers of early multiprogramming and real-time systems were always vulnerable to subtle programming errors whose effects could be observed only when certain relatively rare sequences of actions occurred. The errors are particularly difficult to locate, since the precise conditions under which they appear are very hard to reproduce. THE COMPUTER SCIENCE AND ENGINEERING RESEARCH STUDY, MIT Press, 1980 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 1

3 Osnova predn asky potreba a formy IPC (Interprocess Communication) IPC sdlenou pam et probl emy synchronizace (race conditions) probl em kritick e sekce resen probl emu kritick e sekce softwarov e na urovni aplikace resen probl emu kritick e sekce speci alnmi instrukcemi semafory IPC v ymenou zpr av klasick e synchronizacn ulohy resen e pomoc semafor u monitory prklady synchronizace z konkr etnch OS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 2

4 Potreba a formy IPC, aktivity se dej soubezne Multi-threading soub ezn e existujc vl akna sdlej adresov y prostor Multi-programming, multi-tasking soub ezn e existujc procesy a vl akna jsou strdav e realizovan e 1 nebo vce procesory Multi-processing participace vce procesor u na multi-taskingu Distribuovan e zpracov an soub ezn e existujc procesy jsou realizovan e vce uzly st e Soub ezn e aktivity mohou mezi sebou souperit o omezen e zdroje (periferie, soubory dat, oblasti pameti,... ) Soub ezn e aktivity mohou mezi sebou komunikovat v ymenou zpr av Soub ezn e aktivity mohou svoje b ehy vz ajemn e synchronizovat Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 3

5 Formy koexistence { souperen soub ezn ych aktivit soub ezn e procesy (vl akna) potrebuj speci aln podporu od OS pro komunikace mezi sebou v ym enou zpr av /sdlenm pam eti pro pridelov an procesoru a dalsch zdroj u pro jejich beh pro vz ajemnou synchronizaci sv ych beh u souperen { prvn ze dvou forem koexistence proces u / vl aken soubezn e procesy se uch azej o zdroje { procesor, FAP, glob alne dostupn e periferie, soubory dat,... zdroje soupercm proces um typicky prid eluje OS OS efektivn e isoluje souperc procesy, aby se chybn e neovliv novaly souperc procesy se vz ajemn e neznaj, souperc proces si nen v edom existence ostatnch soupercch proces u realizace proces u mus b yt deterministick a, reprodukovateln a, procesy mus b yt rusiteln e a restartovateln e bez bocnch efekt u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 4

6 Formy koexistence { Kooperace soub ezn ych aktivit kooperace { druh a forma koexistence proces u / vl aken kooperujc procesy sdl jistou mnozinu zdroj u, vz ajemn e se znaj kooperace se dosahuje bud'to implicitnm sdlenm zdroj u nebo explicitn komunikac kooperujcch proces u vl akna jednoho procesu obvykle kooperuj, nesouper procesy mohou jak kooperovat, tak i souperit proc vl akna/procesy kooperuj aby mohly sdlet jist e zdroje aby se mohly nez avisl e akce resit soubezne, napr. cten prstho bloku dat b ehem zpracov av an jiz precten eho bloku dat aby se podporovala modul arnost architektury aplikacnho syst emu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 5

7 Prnosy kooperace a sdlen moznost sdlet zdroje, informace eliminuje nutnost redundance dojde k urychlen v ypoctu prov aden eho po c astech paralelne modularizace, jednotliv e syst emov e funkce lze resit samostatn ymi procesy ci vl akny pohodl, i uzivatel jednotlivec m uze soub ezn e resit vce ukol u (editace, tisk, kompilace,... ) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 6

8 Prklad probl emu nekonzistence pri soub eznosti Soubezn y prstup ke sdlen ym udaj um se mus mnohdy prov ad et neatomick ymi operacemi Udrzov an konzistence dat pozaduje pouzv an mechanism u, kter e zajist deterministick e prov ad en akc kooperujcch proces u Prklad neatomick e operace nad sdlen ymi prom enn ymi void echo() { chin = getchar(); chout = chin; putchar(chout); } procesy P 1 a P 2 prov adej tut ez proceduru echo a operuj se sdlen ymi prom enn ymi chin, chout oba procesy lze prerusit ve kter emkoliv mst e o rychlosti postupu kazd eho z proces u nelze nic predpovedet Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 7

9 Prklad probl emu nekonzistence pri soub eznosti Prklad mozn eho pr ubehu proces u P1 a P2 P1 P2 chin = getchar();... chout = chin;... putchar(chout); chin = getchar();... chout = chin;... putchar(chout); Pr ubeh je validn V multitaskingov em syst emu vsak nem uzeme nic predpokl adat o rychlosti beh u jednotliv ych proces u nerzen a kooperace je zdrojem casov e z avisl ych chyb Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 8

10 Prklad probl emu nekonzistence pri soub eznosti Prklad jin eho mozn eho pr ubehu proces u P1 a P2 P1 P chin = getchar(); chin = getchar(); chout = chin; chout = chin; putchar(chout); putchar(chout); Znak nacten y v P1 se ztr ac drve nez je zobrazen y Znak nacten y v P2 se vypisuje v P1 i P2 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 9

11 Typov e ulohy souvisejc se soub eznost Synchronizace proces u { cek an procesu na ud alost Komunikace mezi procesy { v ymena zpr av rozsren synchronizace pro koordinaci r uzn ych aktivit, ke sdelen o vzniku ud alosti se prid av a sdelovan a informace { zpr ava Sdlen prostredk u { souperen (race condition) procesy pouzvaj a modikuj sdlen a data, operace z apisu techto dat mus b yt vz ajemne vyloucen e, operace z apisu techto dat mus b yt vz ajemne vyloucen e s operacemi jejich cten, operace jejich cten b yt realizov any soub ezn e Pro zabezpecen integrity dat mus program ator pouzt tzv. kritick e sekce zajist'ujc serializaci koniktnch operac (write x write, read x write) M uze doch azet k,,uv aznut"{ kazd y proces v syst emu cek a na ud alost ci zpr avu generovanou v nekter em jin em procesu v syst em nebo na uvoln en vstupu do kritick e sekce Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 10

12 B azov e formy komunikace mezi procesy komunikace mezi procesy { IPC, Interprocess Communication Formy IPC sdlen a pam et', shared memory v ymena zpr av, message passing Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 11

13 Sdlen a pamet', v ymena zpr av Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 12

14 Prklad: sdlen a vyrovn avac pam et' s omezenou kapacitou Pouzit sdlen e vyrovn avac pam eti s omezenou kapacitou pro v ym enu dat mezi 2 procesy, producentem a konzumentem. Cast y n azev ulohy: Producent/Konzument (zpr av), resp. tak e,,bounded-buffer problem\ Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 13

15 Program producenta a program konzumenta Sdlen a data: #define BUFFER SIZE 10 typedef struct {... } item; item buffer[buffer SIZE]; int in = 0; int out = 0; int count = 0; Producent item nextproduced; while (1) {... /* produkce */ while (count == BUFFER SIZE) ; /* do nothing */ ++count; buffer[in] = nextproduced; in = (in + 1) % BUFFER SIZE; } Konzument: item nextconsumed; while (1) { while (count == 0) ; /* do nothing */ - - count; nextconsumed = buffer[out]; out = (out + 1) % BUFFER SIZE;... /* konzumace */} Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 14

16 Nutn a synchronizace { Race Condition Soubeh R a W neatomick ymi operacemi stejn e polozky dat, napr. prkazy + + count a count se mus prov ad et atomicky prov est se atomicky prov est se bez prerusen prkaz + + count bude ve strojov em jazyku implementovan y takto: register 1 = count register 1 = register count = register 1 prkaz count bude ve strojov em jazyku implementovan y takto: register 2 = count register 2 = register 2 1 count = register 2 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 15

17 Nutn a synchronizace { Race Condition, 2 Jestlize se producent i konzument pokus zkorigovat vyrovn avac pam et' soucasn e, mohou se interpretace instrukc jejich program u v case prokl adat { konkr etn prokl ad an je ale nepredikovateln e Prklad: Necht' count m a inici aln hodnotu 5. Proveden operac + + count; a count; nesm hodnotu count zm enit Mozn e prolozen operac + + count; a count;: producent : register 1 = count (register 1 = 5) producent : register 1 = register (register 1 = 6) konzument : register 2 = count (register 2 = 5) konzument : register 2 = register 2 1 (register 2 = 4) producent : count = register 1 (count = 6) konzument : count = register 2 (count = 4) Hodnota count je 4, ne spr avn a hodnota 5. Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 16

18 Probl em kritick e sekce n proces u souper o pr avo pouzvat jist y sdlen y zdroj vz ajemne v ylucne v kazd em procesu z n se nach az segment k odu programu naz yvan y kritick a sekce, ve kter em proces vz ajemne v ylucn e pristupuje ke sdlen emu zdroji je potreba zajistit, ze v jist e kritick e sekci sdruzen e s jist ym zdrojem, se bude nach azet nejv yse jeden proces modelov e prostred pro hled an resen probl emu kritick e sekce predpokl ad a se, ze kazd y proces b ez nenulovou rychlost nic se nepredpokl ad a o relativn rychlosti proces u z adn y proces nez ustane v kritick e sekci nekonecne dlouho Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 17

19 Ilustrace vz ajemn eho vyloucen Rychlost behu proces u nezn ame Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 18

20 Vlastnosti spr avn eho resen probl emu kritick e sekce Dosazen vz ajemn eho vyloucen, podmnka bezpecnosti,,,safety" Jestlize nekter y proces prov ad svoji kritickou sekci, z adn y jin y proces nem uze prov ad et svoji kritickou sekci sdruzenou se stejn ym zdrojem Trvalost postupu, podmnka zivosti,,,liveliness\, progress Jestlize z adn y proces neprov ad svoji kritickou sekci sdruzenou s jist ym zdrojem a existuje alespo n jeden proces, kter y si preje vstoupit do kritick e sekce sdruzen e se tmto zdrojem, pak v yber procesu, kter y do takov e kritick e sekce vstoup, se nesm odkl adat Konecnost doby cek an, podmnka spravedlivosti, fairness Po vyd an z adosti jist eho procesu z n proces u o vstup do jist e kritick e sekce a pred uspokojenm tohoto pozadavku m uze m uze b yt povolen vstup do sdruzen e kritick e sekce nejv yse n 1 proces um Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 19

21 Dals vlastnosti spr avn eho resen probl emu kritick e sekce Proces, kter y konc svoji cinnost v okamziku, kdy se nenach az v kritick e sekci, mus tak ucinit bez interference s ostatnmi procesy Nelze nic predpokl adat o relativn rychlosti proces u a poctu procesor u Proces pob yv a v kritick e sekci konecnou dobu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 20

22 Koncept resen probl emu kritick e seke pro n azornost predpokl ad ame existenci 2 proces u, P 0 a P 1 generick a struktura procesu P i do { enteringcriticalsection() critical section leavingcriticalsection() reminder section } while (1); procesy mohou za ucelem dosazen synchronizace sv ych akc sdlet spolecn e prom enn e poc atecn e pripustme cinn e (aktivn) cek an procesu na spln en podmnek pro vstup do kritick e sekce v enteringcriticalsection() { busy waiting Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 21

23 Element arn resen probl emu KS { maskov an prerusen enteringcriticalsection() = disable interrupt leavingcriticalsection() = enable interrupt proces, kter y prvn provede vstup do kritick e sekce, zamaskuje prerusen na procesoru vlastnosti: uplatniteln e pouze v 1-procesorov ych syst emech hloup e, neefektivn resen pln a eliminace rys u multiprogramov an kritick a sekce se st av a nedeliteln ym blokem fyzicky, nikoli logicky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 22

24 Mozn e kategorie z akladen pro resen probl emu KS Softwarov e resen nezprostredkov avan e jin ymi sluzbami algoritmy, jejichz spr avnost se nespol eh a na z adn e dals sluzby pouzvaj standardn instrukcn reperto ar (LOAD, STORE,... ) na moznost vstupu do KS aktivn e cekaj, busy waiting Hardwarov e resen nezprostredkov avan e jin ymi sluzbami algoritmy, jejichz spr avnost se nespol eh a na z adn e dals sluzby pouzvaj speci aln instrukce strojov eho jazyka (TST, XCHG,... ) na moznost vstupu do KS aktivn e cekaj, busy waiting Softwarov e resen zprostredkovan e operacnm syst emem potrebn e sluzby a datov e struktury poskytuje OS na moznost vstupu do KS se cek a pasivne, ve fronte ex. podpora vol an sluzeb v programovacch syst emech/jazycch { semafory, monitory, zasl an zpr av Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 23

25 Cist e softwarov e resen Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 24

26 Cist e softwarov e resen, Petersonovo resen Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 25

27 Cist e softwarov e resen, Petersonovo resen Petersonovo resen nespl nuje podmnku spravedlivosti Vl akna neuv aznou, nekter e vl akno m uze ale st arnout { pri plne synchronnm behu vl aken rozhoduje o vtezi souperen n ahodne urcen a hodnota promenn e turn (0 nebo 1) Petersonovo resen lze generalizovat pro libovoln y, predem zn am y pocet proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 26

28 Hardwarov a podpora synchronizace, speci aln instrukce Monoprocesory mohou probl em n asobnosti vstupu do KS vyresit zamaskov anm prerusen v multiprocesorov ych syst emech zamaskov an prerusen na jednom procesoru probl em neres Ex. speci aln atomick e ( neprerusiteln e) synchronizacn instrukce vhodn e i pro multiprocesory (x86, Sparc, IBM z series, Intel IA-32 (Pentium), IA-64 (Itanium)... ) neprerusiteln e { do hlavn pam eti pristupuj vcekr at, neprerusiteln e Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 27

29 Hardwarov a podpora synchronizace, speci aln instrukce Test-and-Set Lock, TSL REGISTER,LOCK { zsk an hodnoty promenn e LOCK z FAP do registru a nastaven jej nenulov e hodnoty ve FAP, atomicky XCHG, XCHG REGISTER,LOCK { v ymena obsahu dvou pamet'ov ych mst (registr x bu nka FAP a nebo prp. bu nka FAP x bu nka FAP) atomicky compare-and-swap (int *word, int testval, int newval) testuje hodnotu prom enn e (*word) proti hodnot e testval, pri shod e se nahrad hodnotu prom enn e hodnotou newval; jinak ponech a p uvodn hodnotu promenn e vzdy vrac p uvodn hodnotu prom enn e, takze msto v pameti se men pokud vracen a hodnota se shoduje s hodnotou pouzitou jako vzor testu (prob ehne swap) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 28

30 Test-and-Set Lock, princip pouzit Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 29

31 XCHG, princip pouzit pam et' x registr Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 30

32 XCHG, princip pouzit pam et' x pam et' Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 31

33 compare-and-swap, princip pouzit Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 32

34 Z avery z prvnch dvou zp usob u resen Negativa softwarov eho resen Procesy, kter e z adaj o vstup do sv ych KS, to delaj metodou,,busy waiting\, spotrebov avaj cas procesoru Nen spln ena podmnka spravedlnosti z av ery ke speci alnm instrukcm klady: { vhodn e i pro multiprocesory { na rozdl od prost eho zamaskov an / odmaskov an prerusen negativa { aktivn cek an { moznost st arnut { dky n ahodnosti resen koniktu { moznost uv aznut { dky cinn emu cek an na vstup do kritick e sekce { resen nespl nuje podmnku spravedlnosti negativa nevad, pokud jsou KS kr atk e a volan e rdce pouzit v j adru OS toto omezen spl nuje Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 33

35 Semafory Synchronizacn n astroj prom enn a typu semaphore nab yvajc hodnot { volno (podle zp usobu implementace: zvednut y semafor, 1, true,... ) { obsazeno (shozen y semafor, 0, false,... ) operace oznamuji událost (zved am semafor, uvol nuji cestu) { cast e n azvy: release, signal, semsignal, V (z NL { Vrhogen), operace čekám na událost (cek am na zvednut y semaforu a shazuji ho) { detekc ud alosti se informace o vzniku ud alosti ztr ac { vyzaduje se napr. zajisten voln e cesty do kritick e sekce { cast e n azvy: acquire, wait, semwait, P, (z NL { Proberen), operace inicializace semaforu na poc atecn hodnotu Semafory jsou sluzbou poskytovanou proces um/vl akn um implementovanou v nizs vrstv e software v uci proces um/vl akn um (aplikacm) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 34

36 Semafory Pozaduje se, aby se cek an na ud alost realizovalo pasivn e Podp urn a vrstva potlac b eh procesu/vl akna do doby vzniku ud alosti Standardn e se semafory implementuj jako sluzba j adra OS J adro OS poskytuje sluzbu nad identikovateln ym semaforem, aplikacn ucel pouzit konkr etnho semaforu si denuje aplikace Necht' je v semaforu S volno/obsazeno implementovan e 1/0 inici aln hodnotou je 1 Pak lze operace nad semaforem S (ATOMICK E V U CI S) symbolicky vyj adrit n asledovn e (zatm s aktivnm cek anm) acquire(s) { while S 0; // no-operation S ; } release(s) { S++; } Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 35

37 Vz ajemn e vyloucen KS pomoc bin arnho semaforu Semaphore S; % inicializovaný na 1... acquire(s); criticalsection(); release(s);... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 36

38 Implementace semaforu jako sluzba z rozhran sluzeb OS Jsou potreba dv e pomocn e operace, vnitrn operace v j adru block { potlacuje proces, kter y operaci acquire(s) vyvolal (běžící proces d a mezi procesy čekající na semafor) wakeup(p ) { prerazuje cekajc proces P mezi pripraven e procesy Idea implementace operac acquire(s) a release(s) v j adru acquire(s){ S.value ; if (S.value < 0) { block; } } release(s){ S.value++; if (value 0) {... // z fronty čekajících... // je odebrán process P wakeup(p); } } Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 37

39 Implementace semaforu, 2 Implementace mus zarucit, ze z adn e dva procesy nemohou prov ad et operace acquire() a/nebo release() nad stejn ym semaforem soucasn e spln en podmnkek bezpecnosti, zivosti a spravedlnosti v uci z adajcm proces um je probl em resen y softwarov e v j adru OS zivost a spravedlnost zajist implementace lozoe FIFO v operacch block a wakeup(p) bezpecnost { vz ajemn a v ylucnost je dosaziteln a snadno Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 38

40 Implementace semaforu, 3 Cast ym resenm operace release() je presunut proces u cekajcch na zvednut semaforu mezi pripraven e procesy s nastavenm ctace instrukc na zopakov an operace acquire() porad aktivace proces u pak urcuje dispecer V n ekter ych implementacch semafor u mohou jejich hodnoty nab yvat i z aporn ych hodnot, kter e pak vesmes vyjadruj pocet cekajcch akt er u na zvednut semaforu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 39

41 Implementace semaforu, 4 Implementace semaforu se st av a probl emem kritick e sekce operace acquire() a release() mus b yt atomick e na 1 procesorov em stroji lze zajistit atomicitu zamaskov anm prerusen v j adru OS na multiprocesoru se mus pouzt bud'to prm e softwarov e resen kritick e sekce nebo se vyuzij speci aln instrukce, pokud je procesor podporuje,,busy waitnig"nelze pln e eliminovat, lze ho presunout z aplikacn urovne (kde mohou b yt kritick e sekce dlouh e) do urovne j adra OS pro implementaci atomicity operac acquire() a release() v distribuovan em prostred se mus pouzt speci aln distribuovan e algoritmy, viz predm et PA 150 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 40

42 Ilustrace implementace operac na semaforem Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 41

43 Semafor coby synchroniz ator M a se prov est akce B v procesu P j az po t e, co se provede akce A v procesu P i pouzije se semafor f lag inicializovan y na 0 0 { ud alost nenastala, 1 { ud alost nastala P i : P j : A acquire(flag) release(flag) B Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 42

44 Uv aznut Uv aznut a st arnut dva nebo vce proces u neomezen e dlouho cekaj na ud alost, kterou m uze generovat pouze jeden z cekajc proces u Necht' S a Q jsou dva semafory inicializovan e na 1 a r adky vyjadruj tok casu P i : P j : acquire(s); acquire(q); acquire(q); acquire(s); release(s); release(q); release(q); release(s); St arnut neomezen e blokov an, proces nemus b yt odstran en y z fronty na semafor nikdy (predbh anm procesy s vyssmi prioritami,... ) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 43

45 Semafor, typy Bin arn semafor (tak e { mutex lock) nab yv a celocseln ych hodnot z intervalu < 0, 1 > odpovd a interpretaci obsazeno/ volno lze implementovat i instrukcemi TSL nebo XCHG lze implementovat i prm ym Petersonov ym resenm Obecn y semafor celocseln a hodnota z intervalu < 0, n >, n > 1 slouz napr. k ct an ud alost apod. lze implementovat pouze pomoc komplexn ejsch funkc j adra implementovatelnost obecn eho semaforu bin arn semafor lze snadno implementovat obecn y semafor lze implementovat semaforem bin arnm, viz d ale Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 44

46 Implementace obecn eho semaforu Datov e struktury obecn eho semaforu S s maxim aln hodnotou C binary-semaphore S1, S2; int C; Inicializace: S1 = 1; S2 = 0; C = iniciální hodnota semaforu S; operace acquire: a release: acquire(s1); acquire(s1); C ; C++ ; if (C < 0) { if (C 0) release(s1); release(s2); acquire(s2); release(s1); } release(s1); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 45

47 Klasick e synchronizacn ulohy Producent { konzument (Bounded-Buffer Problem) pred av an zpr av mezi 2 procesy Cten ari a psari (Readers and Writers Problem) soubeznost cten a modikace dat (v datab azi,... ) Uloha o vecercch lozofech ilustracn e zajmav y probl em pro resen uv aznut 5 filozofů bud myslí nebo jí jí špagety jen 2 vidličkami co se stane, když se všech 5 filozofů najednou chopí např. levé vidličky? no přece časem zemřou hladem, děti Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 46

48 Resen ulohy producent { konzument Potrebujeme 1 bin arn semafor pro vz ajemn e vyloucen operac s bankem buer u { mutex k banku buer u sm pristoupit najednou jedin y proces Potrebujeme 2 obecn e semafory pro synchronizaci producenta a konzumenta stavem banku N buer u { { obecn y semafor pro indikaci poctu pln ych (full) a { obecn y semafor pro indikaci poctu pr azdn ych (empty) co nebylo produkov ano, nelze konzumovat, konzumovat lze jen kdyz plat full > 0 nelze produkovat do pln eho banku buer u, produkovat lze jen kdyz plat empty > 0, Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 47

49 Resen ulohy producent { konzument, 2 Sdlen e datov e struktury: semaphore full, empty, mutex; Inicializace: full = 0; empty = N; mutex = 1 operace producenta: a konzumenta: do { do { vytvoř data v nextp; acquire(full); acquire(empty); acquire(mutex); acquire(mutex); odeber data z bufferu do nextc; přidej nextp do buferu; release(mutex); release(mutex); release(empty); release(full) konzumuj data z nextc } while (true); } while (true); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 48

50 Variace na ulohu producent konzument Mejme dva vcevl aknov e procesy A a B Kazd e vl akno bez cyklicky a vyme nuje si zpr avu s nekter ym vl aknem druh eho procesu Zpr avou je napr. cslo ukl adan e do sdlen eho bueru Mus platit Pot e co vl akno z A zprstupn zpr avu nekter emu vl aknu z B, m uze pokracovat v behu az zsk a zpr avu od tohoto vl akna z B Pot e co vl akno z B zprstupn zpr avu nekter emu vl aknu z A, m uze pokracovat v behu az zsk a zpr avu od tohoto vl akna z A Jakmile vl akno z A zpr avu zprstupn, mus zajistit, aby ji jin e vl akno z A neprepsalo, dokud si ji nekter e vl akno z B neprevezme Jakmile vl akno z B zpr avu zprstupn, mus zajistit, aby ji jin e vl akno z B neprepsalo, dokud si ji nekter e vl akno z A neprevezme Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 49

51 Variace na ulohu producent konzument Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 50

52 Cten ari a psari operace z apisu do sdlen eho zdroje mus b yt exklusivn, vz ajemn e vyloucen e s jakoukoli jinou operac operace cten mohou cten y zdroj sdlet libovoln y pocet proces u{cten ar u m uze cst jeden a tent yz zdroj soucasne v jednom okamziku sm dan y zdroj modikovat pouze jeden proces{psar jestlize proces{psar modikuje zdroj, nesm ho soucasn e cst z adn y proces{cten ar cten ar nen konzument, psar nen producent, jde o jinou ulohu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 51

53 Cten ari a psari, 2 Cten ari a psari s prioritou cten ar u prvn cten ar pristupujc ke zdroji zablokuje vsechny psare, posledn z cten ar u koncc cten zdroje uvoln prstup ke zdroji prpadn e cekajcm psar um, psari se vz ajemn e vylucuj psari mohou st arnout, pokud bude trvale alespo n 1 cten ar pristupovat ke zdroji Cten ari a psari s prioritou psar u prvn cten ar pristupujc ke zdroji zablokuje vsechny psare, posledn z cten ar u koncc cten zdroje uvoln prstup ke zdroji prpadn e cekajcm psar um prvn psar z adajc vstup do kritick e sekce nov ym cten ar um prstup ke zdroji zak aze, nov cten ari mus cekat na pasivitu vsech psar u cten ari mohou st arnout, pokud bude ve fronte trvale alespo n 1 psar Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 52

54 Cten ari a psari s prioritou cten ar u Sdlen e datov e struktury: semaphore wrt, readcountmutex; var readcount; Inicializace: wrt = 1; readcountmutex = 1; readcount = 0; psar: a cten ar: acquire(wrt); acquire(readcountmutex);... readcount++; písař modifikuje zdroj if (readcount == 1) acquire(wrt);... release(readcountmutex); release(wrt);... čtení sdíleného zdroje acquire(readcountmutex); readcount ; if (readcount == 0) release(wrt); release(readcountmutex); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 53

55 Cten ari a psari s prioritou psar u Sdlen e datov e struktury: semaphore wrt, rdr, rqueue, writecountmutex, readcountmutex; var readcount, writecount; Inicializace: wrt = 1; % zajištění vzájemné vyloučení w-w / r-w rdr = 1; % blokování čtenářů chce-li zapisovat alespoň 1 písař rqueue = 1; % obecný semafor pro frontování nových čtenářů writecountmutex = 1; readcountmutex = 1; readcount = 0; writecount = 0; Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 54

56 Cten ari a psari s prioritou psar u, 2 psar: acquire(writecountmutex); writecount ++; if (writecount == 1) acquire(rdr); % prvn z psar u zablokuje nov e cten are release(writecountmutex); acquire(wrt); % vz ajemn e vyloucen psar u... písař modifikuje zdroj... release(wrt); acquire(writecountmutex); writecount ; if (writecount == 0) release(rdr); % posledn z psar u odblokuje nov e cten are release(writecountmutex); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 55

57 Cten ari a psari s prioritou psar u, 3 cten ar: acquire(rqueue); % frontov an dalsch nov ych ct., pokud je alespo n 1 nov y ct. blokovan y ps. acquire(rdr); % prvn psar zablokuje nov eho cten are acquire(readcountmutex); readcount ++; if (readcount == 1) acquire(wrt); % psari mus vyckat release(readcountmutex); % na dokoncen rozpracovan ych cten ar u release(rdr); % cist en informac o cekajcch cten arch release(rqueue); % cist en informac o cekajcch cten arch... čtení sdíleného zdroje... acquire(readcountmutex); readcount ; if (readcount == 0) release(wrt); % posledn rozpracovan y cten ar pripoust psare release(readcountmutex); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 56

58 Probl emy se semafory semafory jsou mocn y n astroj pro dosazen vz ajemn eho vyloucen a koordinaci proces u operace acquire(s) a release(s) jsou prov ad eny vce procesy a jejich ucinek nemus b yt vzdy explicitne zrejm y semafor s explicitnm ovl ad anm operacemi acquire(s) a release(s) je synchronizacn n astroj nzk e urovn e Chybn e pouzit semaforu v jednom procesu hrout souhru vsech kooperujcch proces u prklady patologick eho pouzit semafor u: acquire(s); acquire(s); release(s); acquire(s); release(t ); acquire(s); Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 57

59 Monitory Monitor je synchronizacn n astroj vysok e urovn e, umoz nuje bezpecn e sdlen n ejak eho zdroje soub ezn ymi procesy/vl akny pomoc vyv azen ych procedur monitor monitor-name {... % deklarace proměnných public entry P1(... ) {... } public entry P2(... ) {... } } Prov aden vyv azen ych procedur P1, P2,... se implicitne vz ajemn e vylucuj (zajist'uje monitor) Podporuj jazyky typu Java, prostred.net,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 58

60 Monitory, podmnkov e prom enn e aby proces mohl cekat uvnitr prov ad en procedury monitoru, mus se v monitoru deklarovat prom enn a typu condition, condition x, y; pro typ condition jsou denov any dv e operace x.wait(); proces, kter y vyvol a tuto operaci je potlacen (a uvoln monitor) az do doby, kdy jin y proces provede operaci x.signal x.signal(); Spln en podmnky x signalizuje proces b ezc v monitoru provedenm operace x.signal. Operace x.signal aktivuje pr av e jeden proces, kter y posl eze znovu vstoup do monitoru, az bude monitor voln y. Pokud z adn y proces necek a na splnen podmnky x, je jej proveden pr azdnou operac. Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 59

61 Monitory, podmnkov e prom enn e, 2 V monitoru se sm nach azet nejv yse 1 proces { typick e resen: signalizujc proces bezprostredn e opust monitor a cek a na pokracov an v behu v monitoru ve fronte urgentqueue Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 60

62 Producent-konzument pomoc monitor u, programy P a K Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 61

63 Producent-konzument pomoc monitor u, deklarace monitoru Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 62

64 V ymena zpr av send (destination, message), receive (source, message) Synchronizace Blocking send, blocking receive, randezvous Nonblocking send, blocking receive Nonblocking send, Nonblocking receive blocking = cek a se na komplement arn operaci, synchronn Nonblocking = necek a se na komplement arn operaci, asynchronn Adresov an prm e { ud an identikace cle neprm e { ud an msta pro zpr avy odebran e prijmacem, port, mailbox Vztah mezi vyslacem a prijmacem pri neprm em adresov an 1:1, 1:n, m:1, m:n Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 63

65 Mailboxy a porty mailbox { schr anka pro pred av an zpr av m uze b yt priv atn pro dvojici komunikujcch proces u m uze b yt sdlen a vce procesy OS m uze delat typovou kontrolu zpr av OS vytv ar mailbox na pokyn procesu proces je vlastnk schr anky, m uze ji rusit schr anka zanik a kdyz jej vlastnk konc Port mailbox patrc jednomu prijmacmu procesu a vce proces um zaslajcch zpr avy port vytv ar prijmac proces v modelu klient/server je prijmacm procesem server port se rus ukoncenm prijmacho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 64

66 Mailboxy a porty Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 65

67 Vz ajemn e vyloucen zpr avami mailbox mutex sdlen a n procesy send() je asynchronn operac, konc odesl anm zpr avy receive() je synchronn operac, cek a az je mailbox mutex nepr azdn a Inicializace: send(mutex, go ); do kritick e sekce vstoup proces P i kter y dokonc receive() jako prvn Ostatn procesy budou cekat dokud P i zpr avu,,go"nevr at do schr anky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 66

68 Vz ajemn e vyloucen zpr avami, 2 Process P i : var msg: message; repeat receive(mutex,msg); kritická sekce send(mutex,msg); zbytek procesu forever Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 67

69 Producent { konzument zpravami Jan Staudek, FI MU Brno PB152 Operacn systemy { Komunikace a synchronizace procesu 68

70 Producent { konzument zpr avami, 2 Producent umst'uje polozky (ve zpr av ach) do mailboxu / bueru mayconsume Konzument m uze konzumovat polozku bueru obsahujc zpr avu s daty Mailbox mayproduce je poc atecne vyplnena n pr azdn ymi zpr avami (n = rozmer bueru) d elka mayproduce se produkc polozek zkracuje a konzumac se zv etsuje lze podporovat vce producent u a konzument u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 69

71 Producent { konzument zpr avami, 3 Producer: var pmsg: message; repeat receive(mayproduce, pmsg); pmsg:= produce(); send(mayconsume, pmsg); forever Consumer: var cmsg: message; repeat receive(mayconsume, cmsg); consume(cmsg); send(mayproduce, go); forever Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 70

72 Cten ari { psar zpr avami zpr avami, priorita psare Ke sdlen ym udaj um pristupuje proces controller Ostatn procesy ho z adaj o povolen vstupu (writerequest, readrequest), povolen obdrz zsk anm zpr avy OK Konec prstupu procesy sd eluj controlleru zpr avou finished V controlleru jsou tri mailboxy, pro kazd y typ zpr avy jeden Prom enn a count v controlleru je inicializov ana na nejvyss mozn y pocet cten ar u (napr. 100) a plat: count > 0: necek a z adn y psar, mohou b yt aktivn cten ari, controller m uze prijmout pouze finished count = 0: o prstup z ad a pouze psar, controller mu posle OK a cek a finished count < 0: psar cek a na dokoncen aktivnch cten ar u, lze prijmout pouze finished Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 71

73 Cten ari { psari zpr avami zpr avami Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 72

74 Uloha o 5 vecercch lozofech Klasick a synchronizacn uloha ilustracn e zajmav y probl em pro uvodn ilustraci uv aznut 5 filozofů bud myslí nebo jí jí špagety, ale jen dvěma vidličkami co se stane, když se všech 5 filozofů najednou chopí např. levé vidličky? no přece zemřou hladem, děti Hledáme řešení rituál / protokol zajišt ující ochranu před uváznutím a stárnutím filozofů Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 73

75 Uloha o 5 vecercch lozofech, resen semafory Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 74

76 Uloha o 5 vecercch lozofech, ochrana pred uv aznutm zrusen symetrie jeden lozof je lev ak, ostatn jsou prav aci lev ak se lis poradm zsk av an vidlicek Strava se pod av a n lozof um v jdelne se n 1 zidlemi vstup do jdelny hld a obecn y semafor poc atecn e nastaven y na kapacitu n 1 resen chr anc jak pred uv aznutm, tak i pred st arnutm Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 75

77 Uloha o 5 vecercch lozofech, ochrana pred uv aznutm Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 76

78 Uloha o 5 vecercch lozofech, ochrana pred uv aznutm Filozof sm uchopit vidlicky pouze kdyz jsou ob e (jeho lev a i prav a) voln e mus je uchopit uvnitr kritick e sekce, pro resen lze pouzt monitor denuje se vektor 5 podmnkov ych prom enn ych (cek an na vidlicku) denuje se vektor indikujc stav vidlicek (true = voln a) denuj se dve monitorov e procedury pro zsk an a uvolnen 2 vidlicek uv aznut nehroz, v monitoru m uze b y pouze jeden lozof Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 77

79 Uloha o 5 vecercch lozofech, resen monitorem Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 78

80 Komplexn prklad synchronizace, holicstv V holicstv jsou tri holici, jedna pokladna, cek arna pro 20 z akaznk u s pohovkou pro 4 sedc z akaznky, jeden vchod a jeden v ychod Holicstv obslouz za den az 50 z akaznk u Poz arn predpisy povoluj nejv yse 20 z akaznk u v provozovn e Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 79

81 Komplexn prklad synchronizace, holicstv Do pln e provozovny z akaznk nevstupuje V cek arn e z akaznci podle porad prchodu sed na pohovce, je-li na n msto, nebo stoj Jakmile m a holic volno, obsluhuje nejd ele cekajcho z akaznka Pohovka se udrzuje st ale pln a, pokud jsou v cek arne alespo n 4 z akaznci Ostrhan y z akaznk plat holici u pokladny, holic vybr a penze od z akaznka. Pokladna je jedna jedin a. Holic bud' strh a z akaznka nebo prebr a penze u pokladny nebo sp ve sv em kresle { cek a na z akaznka Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 80

82 Holicstv, b azov e synchronizacn (FIFO) semafory Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 81

83 Holicstv, celkov y program Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 82

84 Holicstv, z akaznk Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 83

85 Holicstv, holic a pokladna Jan Staudek, FI MU Brno PB152 Operacn syst emy { Komunikace a synchronizace proces u 84

Komunikace a synchronizace proces u

Komunikace a synchronizace proces u Motto platn e jiz 35 let Komunikace a synchronizace proces u PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 017 Designing correct routines

Více

Komunikace a synchronizace proces u

Komunikace a synchronizace proces u Motto platn e jiz 35 let Komunikace a synchronizace proces u PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 017 Designing correct routines

Více

Distribuovan e algoritmy

Distribuovan e algoritmy Distribuovan e algoritmy PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Distribuovan y syst em, distribuovan y algoritmus

Více

Principy operačních systémů. Lekce 6: Synchronizace procesů

Principy operačních systémů. Lekce 6: Synchronizace procesů Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)

Více

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015 Vl akna PB 152 Operacn syst emy Jan ÐStaudek Û Å«Æ ±²³ µ ¹º»¼½¾ Ý http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015 Proces, resp. tak e task { drzitel zdroj u, vc. prostoru ve virtu aln pam eti

Více

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci Dodatek predn asky Rzen informacn bezpecnosti v organizaci Dodatek PV 017 Bezpecnost IT Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Oblasti rzen ovlivn en e prosazov anm informacn

Více

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci Rzen informacn bezpecnosti v organizaci Dodatek PV 017 Bezpecnost IT Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2016 Dodatek predn asky Oblasti rzen ovlivn

Více

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek   Verze : jaro 2018 Sekven cn soubory PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018 Klasick e, standardn organizace soubor u hromada sekvencn soubor

Více

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové Operační systémy Tomáš Hudec 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu, 6.1.1 Obědvající filosofové, 6.1.2 Producenti a konzumenti, 6.1.3 Problém spících holičů, 6.1.4 Problém pisatelů

Více

Podsyst em vstupu a v ystupu

Podsyst em vstupu a v ystupu Podsyst em vstupu a v ystupu PB 152 Operacn syst emy PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2016 Osnova predn asky Vstup/v ystup

Více

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Procesy. PB 152 Operacn syst emy. Jan Staudek   Verze : jaro 2017 Procesy PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Uvodem k proces um Poctacov a platforma se skl ad a z kolekce hardwarov ych prostredk

Více

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn Proces a vl akna Vl akna PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Proces, resp. tak e task { drzitel zdroj u, vc. prostoru ve virtu aln pameti pro

Více

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Dvě sémantiky vzhledem k hodnotám čítače: 1. čítač >= 0 Operace DOWN zkontroluje

Více

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um Uvodem k proces um Procesy PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Poctacov a platforma se skl ad a z kolekce hardwarov ych prostredk

Více

Procesy a vlákna - synchronizace

Procesy a vlákna - synchronizace ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody

Více

Obnova transakc po v ypadku

Obnova transakc po v ypadku Klasikace poruch Obnova transakc po v ypadku PA 150 Principy operacnch syst em u Jan ÐStaudek Û Å«Æ ±²³ µ ¹º»¼½¾ Ý http://www..muni.cz/usr/staudek/vyuka/ poruchy transakc logick e chyby v resen T nelze

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 16 Semafory Await synchronizace používající await běží na železe = využívají

Více

Operační systémy. Přednáška 5: Komunikace mezi procesy

Operační systémy. Přednáška 5: Komunikace mezi procesy Operační systémy Přednáška 5: Komunikace mezi procesy 1 Semafory Datový typ semafor obsahuje čítač a frontu čekajících procesů. Nabízí tři základní operace: Init(): Čítač se nastaví na zadané číslo (většinou

Více

Operacn syst emy { prehled

Operacn syst emy { prehled Komponenty poctacov eho syst emu Operacn syst emy { prehled PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 uzivatel e (lid e, stroje,

Více

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce. Operační systémy Tomáš Hudec 7 Prostředky programovacích jazyků pro IPC Obsah: 7.1 Monitor, 7.1.1 Použití monitoru pro řízení přístupu do kritické sekce, 7.1.2 Použití monitoru pro synchronizaci, 7.1.3

Více

Spr ava hlavn pam eti

Spr ava hlavn pam eti Osnova predn asky Spr ava hlavn pam eti PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Obecn e principy spr avy hlavn pam eti str ankov an, paging hlavn pam eti, segmentov an,

Více

Operační systémy. Přednáška 4: Komunikace mezi procesy

Operační systémy. Přednáška 4: Komunikace mezi procesy Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené

Více

Spr ava hlavn pam eti

Spr ava hlavn pam eti Spr ava hlavn pam eti PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Osnova predn asky Obecn e principy spr avy hlavn pam eti str ankov

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 17 Monitor Semafor vedle aktivní (čekací smyčka, busy-wait) i pasivní implementace

Více

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky Organizace v yuky Uvod, celkov y prehled problematiky PV 169 Z aklady prenosu dat Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Predn as, zkous (zkouska psemn a) Jan Staudek,

Více

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky Uvod, celkov y prehled problematiky PV 169 Z aklady prenosu dat Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Organizace v yuky Predn as, zkous (zkouska

Více

Operacn syst emy { prehled

Operacn syst emy { prehled Operacn syst emy { prehled PB 152 Operacn syst emy Jan ÐStaudek Û Å«Æ ±²³ µ ¹º»¼½¾ Ý http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015 hardware Komponenty poctacov eho syst emu b azov e v ypocetn

Více

Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication)

Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication) České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace

Více

Poctacov e syst emy { prehled

Poctacov e syst emy { prehled Poctacov e syst emy { prehled PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Prol predm etu 1. etapa (1/4 obsahu, predn asek), uvod

Více

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end; Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru

Více

Synchronizace Mgr. Josef Horálek

Synchronizace Mgr. Josef Horálek Synchronizace Mgr. Josef Horálek Synchronizace procesu = Kooperující proces je proces, který může ovlivnit nebo být ovlivněn jiným procesem právě spuštěným v systému = Spolupracující procesy mohou sdílet:

Více

Obnova transakc po v ypadku

Obnova transakc po v ypadku Obnova transakc po v ypadku PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2016 Klasikace poruch poruchy transakc logick e

Více

Volba v udce, Leader Election

Volba v udce, Leader Election Volba v udce, Leader Election PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Volebn probl em { Kdy a proc se vol vedouc

Více

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Pl anov an. PB 152 Operacn syst emy. Jan Staudek   Verze : jaro 2017 Pl anov an PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Osnova predn asky Motivace: V multitaskingov ych syst emech existuje vce proces

Více

Prklad dokumentov e z akladny ISMS

Prklad dokumentov e z akladny ISMS Prklad dokumentov e z akladny ISMS podle z akona o kybernetick e bezpecnosti PV 017 Bezpecnost IT Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Standard

Více

Volba v udce, Leader Election

Volba v udce, Leader Election Volebn probl em { Kdy a proc se vol vedouc uzel? Volba v udce, Leader Election PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim

Více

GPDR, General Data Protection Regulation

GPDR, General Data Protection Regulation Obecn e narzen o ochran e osobnch udaj u, OU GPDR, General Data Protection Regulation PV 017 Rzen informacn bezpecnosti Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze :

Více

Hasov an (hashing) na vn ejsch pam etech

Hasov an (hashing) na vn ejsch pam etech Hasov an (hashing) na vn ejsch pam etech PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018 Obsah predn asky Jak algoritmicky dos ahnout

Více

Management procesu II Mgr. Josef Horálek

Management procesu II Mgr. Josef Horálek Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký

Více

2010/2011 ZS. Operační systém. procesy a vlákna. interakce a synchronizace

2010/2011 ZS. Operační systém. procesy a vlákna. interakce a synchronizace Principy počítačů a operačních systémů Operační systém procesy a vlákna plánování interakce a synchronizace Základní pojmy proces vykonávaný program vlákno (thread) oddělení místa vykonávání instrukcí

Více

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi Informacn bezpecnost z pohledu aplikacnch syst em u Aplikacn bezpecnost PV 017 Bezpecnost informacnch technologi Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Podsyst em vstupu a v ystupu

Podsyst em vstupu a v ystupu Osnova predn asky Podsyst em vstupu a v ystupu PB 15 Operacn syst emy PV 06 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Vstup/v ystup { Input/output {

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Operační systémy Synchronizace procesů, zablokování Zimní semestr 2011/2012 Přístup ke sdíleným datům Terminologie: souběžné vs. paralelní zpracování Paralelní provádění

Více

Synchronizace paralelních procesů

Synchronizace paralelních procesů SU Media: Student Středník ČWUT AVC SH Akropolis ikariéra Synchronizace paralelních procesů z ČWUT Obsah 1 Časově závislé chyby, kritické sekce, vzájemné vyloučení 2 Metody vzájemného vyloučení

Více

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek  Verze : podzim 2017 Aplikacn bezpecnost PV 017 Bezpecnost informacnch technologi Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2017 Informacn bezpecnost z pohledu aplikacnch syst

Více

Projekt implementace ISMS Dodatek 1, PDCA

Projekt implementace ISMS Dodatek 1, PDCA Projekt implementace ISMS Dodatek 1, PDCA PV 017 Bezpecnost IT Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 PDCA { f aze Plan, podrobn eji 1. denov an oblasti

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.

Více

Distribuovan e prostred, cas a stav v distribuovan em prostred

Distribuovan e prostred, cas a stav v distribuovan em prostred Obsah predn asky Distribuovan e prostred, cas a stav v distribuovan em prostred PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim

Více

Distribuovan e prostred, cas a stav v distribuovan em prostred

Distribuovan e prostred, cas a stav v distribuovan em prostred Distribuovan e prostred, cas a stav v distribuovan em prostred PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Obsah predn

Více

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an Propojovac probl em Prepn an, switching PV 169 Z aklady prenosu dat Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Jak propojit dvoubodov ymi spoji mnoho zarzen? Kazd e zarzen s kazd ym? { Nerealistick

Více

Architektury paralelních počítačů II.

Architektury paralelních počítačů II. Architektury paralelních počítačů II. Sekvenční konzistence paměti Implementace synchronizačních událostí Ing. Miloš Bečvář s použitím slajdů Prof. Ing. Pavla Tvrdíka, CSc. Osnova přednášky Opakování definice

Více

Petr Štěpán, K13133 KN-E-129 Téma 5. Synchronizace a deadlock

Petr Štěpán, K13133 KN-E-129 Téma 5. Synchronizace a deadlock Operační systémy a sítě Petr Štěpán, K13133 KN-E-129 stepan@fel.cvut.cz Téma 5. Synchronizace a deadlock A4B33OSS 1 Problém synchronizace vláken Souběžný přístup ke sdíleným datům může způsobit jejich

Více

Téma 4. Synchronizace a deadlock

Téma 4. Synchronizace a deadlock A3B33OSD 2016/2017 Operační systémy a databáze Petr Štěpán, K13133, KN-E-129 stepan@fel.cvut.cz Michal Sojka, K13135, KN-G-203 sojkam1@fel.cvut.cz Téma 4. Synchronizace a deadlock A3B33OSD 2016/2017 Meziprocesní

Více

Služba ve Windows. Služba (service) je program

Služba ve Windows. Služba (service) je program Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské

Více

Soubor, souborov e organizace

Soubor, souborov e organizace Soubor, souborov e organizace PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2016 Osnova predn asky Pojem soubor, klc, operace se souborem,

Více

Typologie, funkcn skladby a architektury OS

Typologie, funkcn skladby a architektury OS Typologie, funkcn skladby a architektury OS PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2015 Osnova predn asky Typologie operacnch syst

Více

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =

Více

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2016

Více

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek   Verze : jaro 2017 Virtu aln pam et' PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Virtualizace pam eti principy, z aklady str ankov an na z adost, Demand

Více

Téma 5 Synchronizace procesů a problém uváznutí Obsah

Téma 5 Synchronizace procesů a problém uváznutí Obsah Téma 5 Synchronizace procesů a problém uváznutí Obsah 1. Problém soupeření, kritické sekce 2. Vzájemné vyloučení 3. Semafory 4. Klasické synchronizační úlohy 5. Problém uváznutí a časově závislých chyb

Více

Projekt implementace ISMS

Projekt implementace ISMS Projekt implementace ISMS PV 017 Bezpecnost IT Jan ÐStaudek Û Å«Æ ±²³ µ ¹º»¼½¾ Ý http://www..muni.cz/usr/staudek/vyuka/ Verze : podzim 2016 ISMS { Information Security Management System Metodicky vypracovan

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D. Vysoká škola báňská Technická univerzita Ostrava

Více

Vzájemné vyloučení procesů

Vzájemné vyloučení procesů PDV 10 2017/2018 Vzájemné vyloučení procesů Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad Bankovní server v cloudu. Dva zákaznici současně vloží 10

Více

Přednáška 3. Synchronizace procesů/vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška 3. Synchronizace procesů/vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška 3 Synchronizace procesů/vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným

Více

Téma 5 Synchronizace procesů a problém uváznutí

Téma 5 Synchronizace procesů a problém uváznutí Téma 5 Synchronizace procesů a problém uváznutí Obsah 1. Problém soupeření, kritické sekce 2. Vzájemné vyloučení 3. Semafory 4. Klasické synchronizační úlohy 5. Problém uváznutí a časově závislých chyb

Více

Paralelní programování

Paralelní programování Paralelní programování přednáška 3 Michal Krupka 1. března 2011 Michal Krupka (KI UP) Paralelní programování 1. března 2011 1 / 14 Ještě k atomickým proměnným Další neatomické proměnné Mohou to být proměnné,

Více

Typologie, funkcn skladby a architektury OS

Typologie, funkcn skladby a architektury OS Obsah predn asky Typologie, funkcn skladby a architektury OS PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Typologie operacnch syst em u Generick e komponenty operacnch syst

Více

Téma 36. Petr Husa

Téma 36. Petr Husa Přesné zadání: Téma 36 Petr Husa husap1@fel.cvut.cz Sdílení prostředků, časově závislé chyby, kritické sekce procesu. Synchronizační nástroje, uváznutí - původ, detekce, prevence. Komponenty JOS pro podporu

Více

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština) Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Transakce, soub eznost a uv aznut v distribuovan em prostred

Transakce, soub eznost a uv aznut v distribuovan em prostred Osnova predn asky Transakce, soub eznost a uv aznut v distribuovan em prostred PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Distribuovan

Více

B4B35OSY: Operační systémy

B4B35OSY: Operační systémy B4B35OSY: Operační systémy Lekce 4. Synchronizace a deadlock Petr Štěpán stepan@fel.cvut.cz 25. října, 2018 1 / 57 Outline 1 Plánování procesů/vláken 2 Synchronizace 2 / 57 Plánování procesů/vláken Obsah

Více

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch ZOS 9. cvičení, ukázky kódu Pavel Bžoch Obsah Komunikace mezi procesy Atomické operace TSL a CAS Zámky Semafory Semafory vypsání věty Monitor Bariéra pomocí monitoru Implementace semaforu pomocí monitoru

Více

Synchronizace procesů

Synchronizace procesů Synchronizace procesů Tomáš Vojnar vojnar@fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 BRNO 3. dubna 2018 Operační systémy Synchronizace procesů Současný

Více

Synchronizace procesů

Synchronizace procesů Synchronizace procesů Tomáš Vojnar vojnar@fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 BRNO 11. dubna 2011 Operační systémy Synchronizace procesů Současný

Více

Operační systémy - modelování a algoritmy paralelních výpočtů

Operační systémy - modelování a algoritmy paralelních výpočtů Operační systémy - modelování a algoritmy paralelních výpočtů texty pro distanční studium Doc. Ing. Cyril Klimeš, CSc. Ostravská univerzita v Ostravě, Přírodovědecká fakulta Katedra informatiky a počítačů

Více

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,

Více

03. Synchronizace procesů. ZOS 2006, L. Pešička

03. Synchronizace procesů. ZOS 2006, L. Pešička 03. Synchronizace procesů ZOS 2006, L. Pešička Administrativa 1. zápočtový test 7.11.2006 (út), EP130, 18:30 praktická cvičení před testem (slide upraven na aktuální termín) Plánování procesů Krátkodobé

Více

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod RNDr. Jiří Barnat, Ph.D. Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu Organizace

Více

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx Osnova dodatku predn asky Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx PB 15 Operacn syst emy Windows Unix Linux MAC OS X Jan Staudek http://www..muni.cz/usr/staudek/vyuka/

Více

Pavel Procházka. 3. prosince 2014

Pavel Procházka. 3. prosince 2014 Jazyk C# (seminář 11) Pavel Procházka KMI 3. prosince 2014 Motivace Dnes už se prakticky nedělají jednojádrové procesory pokud potřebujeme výkon, musíme zapojit všechna jádra Často potřebujeme dělat více

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Procesy, paralelní procesy, souběžné zpracování Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D.

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování Tomáš Foltýnek foltynek@pef.mendelu.cz Paralelní programování strana 2 Opakování Co je to síť? Co je to tok? Co je to velikost toku? Co je to řez? Co je to velikost řezu? Jaký je vztah mezi velikostí toku

Více

Soubor, souborov e organizace

Soubor, souborov e organizace Soubor, souborov e organizace PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018 Osnova predn asky Pojem souboru Model, sch ema souborov

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Chapter 7: Process Synchronization

Chapter 7: Process Synchronization Chapter 7: Process Synchronization Background The Critical-Section Problem Synchronization Hardware Semaphores Classical Problems of Synchronization Critical Regions Monitors Synchronization in Solaris

Více

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný. 1 Přerušení Při výskytu určité události procesor přeruší vykonávání hlavního programu a začne vykonávat obslužnou proceduru pro danou událost. Po dokončení obslužné procedury pokračuje výpočet hlavního

Více

Metody připojování periferií BI-MPP Přednáška 2

Metody připojování periferií BI-MPP Přednáška 2 Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic. Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící

Více

PB153 Operační systémy a jejich rozhraní

PB153 Operační systémy a jejich rozhraní PB153 Operační systémy a jejich rozhraní Uváznutí 1 Problém uváznutí Existuje množina blokovaných procesů, každý proces vlastní nějaký prostředek (zdroj) a čeká na zdroj držený jiným procesem z této množiny

Více

Politika informacn bezpecnosti, Dodatek

Politika informacn bezpecnosti, Dodatek Obsah dodatku Politika informacn bezpecnosti, Dodatek PV 017 Bezpecnost IT Politika informacn bezpecnosti dle z akona o kybernetick e bezpecnosti Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.

Více

Ukázka zkouškové písemka OSY

Ukázka zkouškové písemka OSY Ukázka zkouškové písemka OSY Jméno a příjmení:.......................................... Odpovězte na otázky zaškrtnutím příslušného políčka. Otázky označené znakem mohou mít více než jednu správnou odpověď.

Více

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11

Více

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek   Verze : jaro 2018 Informacn teorie PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018 Cl predn asky Abychom mohli informace efektivn e ukl adat, zsk avat

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21 Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní

Více

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23 Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, 2014 1 / 23 Procesy (1/2) neformálně: proces = běžící

Více