Komunikacja asynchroniczna w modelu rozproszonym

Wielkość: px
Rozpocząć pokaz od strony:

Download "Komunikacja asynchroniczna w modelu rozproszonym"

Transkrypt

1 Komunikacja asynchroniczna w modelu rozproszonym.odv\f]qhsureohp\zvsyáelh QR FL Problem wzajemnego wykluczania 1DMF] FLHMSRMDZLDM F\VL ZSUDNW\FH operacje lokalne; SURWRNyáZVW SQ\ rejon krytyczny; SURWRNyáNR FRZ\ forever %H]SLHF]H VWZR: - :UHMRQLHNU\W\F]Q\PSURJUDPXPR HSU]HE\ZDü MHGQRF]H QLHFRQDMZ\ HMMHGHQSURFHV \ZRWQR ü: - 3URFHVNWyU\FKFHZHM ügruhmrqxnu\w\f]qhjrznr FXGR niego wejdzie Problem producenta i konsumenta 3U]\NáDG] \FLD: fabryka, magazyn, odbiorca 3U]\NáDG]V\VWHPyZOLF] F\FKX \WNRZQLNNRPSXWHUDEXIRU klawiatury, system operacyjny %H]SLHF]H VWZR: -.RQVXPHQWSRELHUDSRUFM Z\SURGXNRZDQ SU]H]SURGXFHQWD - Producent czeka na wolne miejsce w buforze -.RQVXPHQWF]HNDQDSHáQHPLHMVFHZEXIRU]H Komunikacja asynchroniczna... Str. 1

2 \ZRWQR ü: -.RQVXPHQWNWyU\FKFHRGHEUDüSRUFM ZNR FXM RGELHU]H - 3URGXFHQWNWyU\Z\SURGXNRZDáSRUFM ZNR FXM XPLH FLZ buforze Warianty: - bez bufora - bufor jednoelementowy - bufor N-elementowy - bufor nieograniczony (producent nie czeka) - wielu producentów - wielu konsumentów - SRUFMHUy QHMZLHONR FL Interesuje nas synchronizacja producenta i konsumenta. 3UREOHPGRERUXZLHONR FLEXIRUDMHVWSR]DQDV]\PL zainteresowaniami Problem czytelników i pisarzy 3U]\NáDG: rezerwacja miejsc lotniczych %H]SLHF]H VWZR: - Gdy pisarz zapisuje, nikt inny nie czyta, ani nie pisze - *G\F]\WHOQLNF]\WDLQQLF]\WHOQLF\PRJ F]\WDü \ZRWQR ü: -.D G\F]\WHOQLNNWyU\FKFHF]\WDüZNR FXE G]LHPyJá UR]SRF] üf]\wdqlh -.D G\SLVDU]NWyU\FKFHSLVDüZNR FXE G]LHPyJá UR]SRF] üslvdqlh Komunikacja asynchroniczna... Str. 2

3 Warianty: - SULRU\WHWF]\WHOQLNyZ ZLDGRPDUH]\JQDFMD] \ZRWQR FL PR OLZR ü]djárg]hqldslvdu]\ - SULRU\WHWSLVDU]\ ZLDGRPDUH]\JQDFMD] \ZRWQR FL PR OLZR ü]djárg]hqldf]\whoqlnyz - UyZQHSULRU\WHW\EH]PR OLZR FL]DJáRG]HQLD - ograniczona liczba miejsc w czytelni 3UREOHPSL FLXILOR]RIyZ 3U]\NáDGDEVWUDNF\MQ\DOHXND]XM F\SRGVWDZRZHSUREOHP\ ZVSyáELH QR FL %H]SLHF]H VWZR: - )LOR]RIMHMH OLPDREDZLGHOFH - DGHQZLGHOHFQLHPR HE\üMHGQRF]H QLHZSRVLDGDQLX dwóch filozofów \ZRWQR ü - 1LNWQLHXPU]H]JáRGX Warianty narodowe: ZáRVNLILOR]RIRZLHMHG] PDNDURQZLGHOFDPL FKL VNLILOR]RIRZLHMHG] U\ SDáHF]NDPL Komunikacja asynchroniczna... Str. 3

4 Model rozproszony: 1LHPDSDPL FLZVSyáG]LHORQHMSU]H]SURFHV\ 6\QFKURQL]DFMDLNRPXQLNDFMDRGE\ZDVL Z\á F]QLH]DSRPRF SU]HV\áDQLDNRPXQLNDWyZMDZQHJROXEQLHMDZQHJR 0R OLZHUHDOL]DFMHZ\PLDQ\NRPXQLNDWyZ komunikacja synchroniczna: - SURFHVNWyU\FKFHZ\VáDüNRPXQLNDWF]HNDD LQQ\SURFHV E G]LHFKFLDáJRRGHEUDü - SURFHVNWyU\FKFHRGHEUDüNRPXQLNDWXF]HNDD LQQ\SURFHV E G]LHFKFLDáJRZ\VáDü - SU]HND]DQLHNRPXQLNDWXPR HVL RGE\üMHG\QLHSU]\XG]LDOH ]DLQWHUHVRZDQ\FKSURFHVyZEH]SR UHGQLND komunikacja asynchroniczna: - SURFHVNWyU\FKFHZ\VáDüNRPXQLNDWQLHF]HNDD NWR E G]LH FKFLDáJRRGHEUDüW\ONRXPLHV]F]DJRZEXIRU]H - SURFHVNWyU\FKFHRGHEUDüNRPXQLNDWF]HNDD E G]LHGOD niego komunikat (wersja EORNXM FDOXENR F]\RGELyU NRPXQLNDWXV\JQDOL]XM FEá GZHUVMDQLHEORNXM FD) Sposoby adresowania komunikatów: NRPXQLNDWPR HE\üSU]H]QDF]RQ\GODNRQNUHWQHJRprocesu; NRPXQLNXM FHVL SURFHV\]QDM VZRMHQD]Z\ (identyfikacja symetryczna) NRPXQLNDWPR HE\üSU]H]QDF]RQ\GODNRQNUHWQHJRprocesu; MHGQD]HVWURQQLHZLH]NLPVL NRPXQLNXMH (identyfikacja asymetryczna, charakterystyczna dla architektury klient-serwer) Komunikacja asynchroniczna... Str. 4

5 NRPXQLNDWPR HE\üZ\V\áDQ\SRNRQNUHWQ\Pkanale NRPXQLNDF\MQ\PZ\V\áDM F\QLHPXVLZLHG]LHüGRNRJRWUDIL komunikat NRPXQLNDWPR HE\üZVWDZLRQ\GRNRQNUHWQHJRbufora (ograniczonego lub nieograniczonego) 3U]HDQDOL]XMHP\QDVW SXM FHZDULDQW\: komunikacja asynchroniczna, komunikaty wstawiane do wskazanego bufora (á F]D, á F]DQD]ZDQH, kolejki komunikatów w systemie Unix) NRPXQLNDFMDDV\QFKURQLF]QDNRPXQLNDW\Z\V\áDQHSU]H] NDQDá\NRPXQLNDF\MQHQLHRJUDQLF]RQHEXIRU\Estelle) komunikacja synchroniczna, symetryczna (CSP) komunikacja synchroniczna, asymetryczna (Ada) komunikacja asynchroniczna, komunikaty wstawiane do nieograniczonego bufora, selektywny wybór z bufora (Linda) Cechy komunikacji asynchronicznej: Z\VáDQLHNRPXQLNDWXQLHZVWU]\PXMHQDGDZF\]SHZQ\PL Z\M WNDPL Z\VáDQHLMHV]F]HQLHRGHEUDQHNRPXQLNDW\V SU]HFKRZ\ZDQHZ buforze EXIRUPR HE\üQLHRJUDQLF]RQ\OXERJUDQLF]RQ\SUyEDZ\VáDQLD NRPXQLNDWXGRSHáQHJREXIRUDPR HNR F]\üVL Eá GHPOXE ZVWU]\PDQLHPSURFHVXZ\V\áDM FHJR RGELHUDQLHNRPXQLNDWyZPR H]DNR F]\üVL ZVWU]\PDQLHP QDGDZF\ZHUVMDEORNXM FDOXEEá GHPZHUVMDQLHEORNXM FD Komunikacja asynchroniczna... Str. 5

6 Notacja do opisu komunikacji asynchronicznej Abstrahujemy od konkretnej realizacji i jej technicznych Z\PRJDFKVNXSLDM FVL QDHOHPHQWDFKLVWRWQ\FK]SXQNWX ZLG]HQLDSURJUDPRZDQLDZVSyáELH QHJR X \ZDP\NRQVWUXNFMLSURJUDPLVW\F]Q\FK]M ]\NDPascal UR]V]HU]DP\M ]\NRGHILQLFMHprocesówVNáDGQLDW\FKGHILQLFML MHVWDQDORJLF]QDMDNVNáDGQLDGHILQLFMLSURFHGXU process P (i: integer);... end dodajemy konstrukcje co i coendgrz\ud DQLD ZVSyáELH QHJR wykonania procesów, np.: co P(1); P(1); P(2); Q coend wprowadzamy predefiniowany typ danych buffer. Zmienne tego W\SXUHSUH]HQWXM EXIRU\GRNWyU\FKZ\V\áDP\L]NWyU\FK odbieramy komunikaty ]PLHQQHW\SXEXIRURZHJRPRJ Z\VW SLüMHG\QLHZ SURFHGXUDFKZ\V\áDQLDLRGELHUDQLDNRPXQLNDWyZ0RJ E\ü deklarowane jedynie poza procesami EXIRU\V QLHRJUDQLF]RQHLG]LDáDM MDNNROHMNLSURVWH ]DNáDGDP\LVWQLHQLHSUHGHILQLRZDQ\FKSURFHGXU - SendMessage (b, t), NWyUDSRZRGXMHZ\VáDQLHNRPXQLNDWXR WUH FLWGREXIRUDEWMHVWZDUWR FL GRZROQHJRW\SX - GetMessage (b, t)nwyudsrzrgxmhz\m FLHSLHUZV]HJR NRPXQLNDWX]EXIRUDEL]DSDPL WDQLHJRQD]PLHQQHMW7\S RGHEUDQHJRNRPXQLNDWXPXVLE\ü]JRGQ\]W\SHP]PLHQQHMW MH OLEXIRUMHVWSXVW\WRGetMessage (b, t) wstrzymuje proces SURFHV\QLHPRJ RGZRá\ZDüVL GR]PLHQQ\FKglobalnych ]Z\M WNLHP]PLHQQ\FKEXIRURZ\FK operacja GetMessage (b, t)mhvw \ZRWQD Komunikacja asynchroniczna... Str. 6

7 3U]\NáDG Problem wzajemnego wykluczania b: buffer; m: integer; process P; m: integer; operacje lokalne; GetMessage(b, m); {SURWRNyáZVW SQ\} rejon krytyczny; SendMessage(b, m) {SURWRNyáNR FRZ\} until false SendMessage (b, m); co P; P co -DN]PLHQLVL UR]ZL ]DQLHMH OL E G]LHZL FHMSURFHVyZ" ZUHMRQLHNU\W\F]Q\PPDSU]HE\ZDüFRQDMZ\ HM0SURFHVyZ" EXIRU\E G RJUDQLF]RQH" 2GSRZLHG]LQDüZLF]HQLDFK Komunikacja asynchroniczna... Str. 7

8 3U]\NáDG 3L FLXILOR]RIyZ Wariant I. Widelec jest komunikatem. process Fil (i: 0..4); ^P\ O ` GetMessage (b[i], m); GetMessage (b[(i+1) mod 5], m); {jem} SendMessage (b[i], m); SendMessage (b[(i+1) mod 5], m) until false b[4] 3 4 b[3] b[0] 2 0 b[2] b[1] 1 Zakleszczenie:ZV]\VF\SRELHUDM QDMSLHUZOHZ\ZLGHOHFLF]HNDM na prawy 3U]\NáDG 3L FLXILOR]RIyZ Wariant II. Widelce jako procesy. 1LHGHWHUPLQLVW\F]QDNROHMQR üsrgqrv]hqldzlghofyz w, f: array[0..4] of buffer; Fil[0] Fil[1]... w[0] f[0] w[1] f[1]... Wid[0] Wid[1] Komunikacja asynchroniczna... Str. 8

9 process Fil (i: 0..4); k: integer; ^P\ O ` SendMessage (w[i], i); GetMessage (f[i], k); { czekaj na potwierdzenie } SendMessage (w[(i+1) mod 5], i); GetMessage (f[i], k); { czekaj na potwierdzenie } {jem} SendMessage (w[i], i); SendMessage (w[(i+1) mod 5], i) until false process Wid (i: 0..4); k1, k2, ktoje: integer; ktoje := 0; k2 := 0; GetMessage (w[i], k1); if k2 = ktoje then ktoje := k1 else ktoje := k2; SendMessage (f[nwrmh@l^z\ OLMSRWZLHUG]HQLH` GetMessage (w[i], k2); until false 1LHGHWHUPLQLVW\F]QDNROHMQR üsrelhudqldzlghofyzqlhsrsudzld V\WXDFMLGDOHMMHVWPR OLZHzakleszczenie. Komunikacja asynchroniczna... Str. 9

10 3U]\NáDG 3L FLXILOR]RIyZ Wariant III. 3URFHVQDG]RUXM F\. type 6WDQ -H0\ OL*áRGQ\ Komunikat = record co: (&KFH-H ü6nr F]\á kto: 0..4 serw: buffer; f : array [0..4] of buffer; const Jedz = 0; Fil[0] process Fil (i:0..4); k: Komunikat; potw: integer; k.kto := i; ^P\ O ` k.co := &KF -H ü SendMessage (serw, k); f[0] f[0] S GetMessage (f[i], potw); { czekaj na potwierdzenie } {jem} NFR 6NR F]\á SendMessage (serw, k) until false; Fil[1]... f[1]... Komunikacja asynchroniczna... Str. 10

11 process S; s: array [0..4] of6wdq 0\ OL0\ OL0\ OL0\ OL0\ OL k: Komunikat; procedure6sudzg N ifv>n@ *árgq\and (s[(k-1) mod 5]) <> Je and (s[(k+1) mod 5]) <> Je then s[k] := Je; SendMessage (f[k], Jedz) end end^6sudzg ` {proces S} GetMessage (serw, k); case k.co of &KFH-H ü s[nnwr@ *árgq\ 6SUDZG k.kto); 6NR F]\á s[nnwr@ 0\ OL 6SUDZG NNWRmod 5); 6SUDZG NNWRmod 5) end end {case} until false )LOR]RIRZLHSRGQRV] RE\GZDZLGHOFHQDUD]0R OLZH ]DJáRG]HQLH Komunikacja asynchroniczna... Str. 11

12 3U]\NáDG 3L FLXILOR]RIyZ Wariant IV. Bilety. bilety: EXIIHU^SRF] WNRZRZEXIRU]HELOHW\` process Fil (i: 0..4); k: integer; ^P\ O ` GetMessage (bilety, k); SendMessage (w[i], i); SendMessage (w[(i+1) mod 5], i); GetMessage (f[i], k); GetMessage (f[i], k); {jem} SendMessage (w[i], i); SendMessage (w[(i+1) mod 5], i); SendMessage (bilety, k) until false 5R]ZL ]DQLHSRSUDZQH3U]\VWROHSU]HE\ZDMHGQRF]H QLHFR QDMZ\ HMILOR]RIyZ Realizacje schematu komunikacji asynchronicznej: 81,;á F]DDQJpipe) 81,;á F]DQD]ZDQHpliki FIFO) UNIX kolejki komunikatu Komunikacja asynchroniczna... Str. 12

3URJUDPRZDQLHZVSyáELH*QHZVWS

3URJUDPRZDQLHZVSyáELH*QHZVWS 3URJUDPRZDQLHZVSyáELH*QHZVWS Problem sortowania N liczb Algorytm sekwencyjny sortuj(1, N); NRV]WVRUWRZDQLDSU]H]SURVW]DPLDQN 2 SRUyZQD $OJRU\WPUyZQROHJá\ cobegin {wykonaj równolegle} VRUWXMSyáB1 VRUWXMSyáB11

Bardziej szczegółowo

Mechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)

Mechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix) Mechanizmy komunikacji spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix) Język CSP Hoare (1978r.) Communicating Sequential Processes

Bardziej szczegółowo

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Klasyczne problemy współbieżności Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Wzajemne wykluczanie Zsynchronizować N procesów, z których każdy w nieskończonej

Bardziej szczegółowo

Monitory. Wady semafora

Monitory. Wady semafora Wady semafora Monitory Niestrukturalny mechanizm synchronizacji Nie ułatwia wykrywania błędów synchronizacyjnych w czasie kompilacji programu Idea Jądro systemu operacyjnego jako monolityczny monitor -

Bardziej szczegółowo

synchronizacji procesów

synchronizacji procesów Dariusz Wawrzyniak Definicja semafora Klasyfikacja semaforów Implementacja semaforów Zamki Zmienne warunkowe Klasyczne problemy synchronizacji Plan wykładu (2) Semafory Rodzaje semaforów (1) Semafor jest

Bardziej szczegółowo

Programowanie Równoległe i Rozproszone

Programowanie Równoległe i Rozproszone Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/30 PRiR MONITOR klasa z następującymi właściwościami: wszystkie

Bardziej szczegółowo

synchronizacji procesów

synchronizacji procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja semafora Klasyfikacja semaforów Implementacja semaforów Zamki Zmienne warunkowe Klasyczne problemy synchronizacji (2) Semafory

Bardziej szczegółowo

SOP2 - semafory. grudzień

SOP2 - semafory. grudzień SOP2 - semafory grudzień 2010 1 Plan prezentacji Problem producent-konsument Problem czytelników i pisarzy Problem jedzących filozofów grudzień 2010 2 Producent-konsument var bufor: array [0..n-1] of produkt;

Bardziej szczegółowo

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; Zmodyfikowany proces

Bardziej szczegółowo

Semafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0;

Semafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0; Semafory Rozwiązanie problemu wzajemnego wykluczania Bez dodatkowego wsparcia sprzętowego i programowego Zakładamy jedynie, że zapis do i odczyt z pamięci wspólnej są operacjami atomowymi (czyli istnieje

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; Zmodyfikowany proces

Bardziej szczegółowo

Ingerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg.

Ingerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg. Wady mechanizmów niskopoziomowych Ingerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg. Dekkera zależny od liczby synchronizowanych

Bardziej szczegółowo

Semafory w systemie Unix

Semafory w systemie Unix Semafory w systemie Unix Pakiet IPC wprowadzony w Uniksie Systemu V UR]SRZV]HFKQLáVL ZNROHMQ\FKZDULDQWDFK8QLNVDWDN HZ wydaniach BSD) 8GRVW SQLDWU]\PHFKDQL]P\: kolejki komunikatów semafory VHJPHQW\SDPL

Bardziej szczegółowo

Semafory. - aktywne oczekiwanie =GRGDWNRZ\PZVSDUFLHPVSU]WRZ\P 6SHFMDOQDLQVWUXNFMDPDV]\QRZDUHDOL]XMFDDWRPRZ\]DSLVL odczyt, np.

Semafory. - aktywne oczekiwanie =GRGDWNRZ\PZVSDUFLHPVSU]WRZ\P 6SHFMDOQDLQVWUXNFMDPDV]\QRZDUHDOL]XMFDDWRPRZ\]DSLVL odczyt, np. Semafory 5R]ZL]DQLHSUREOHPXZ]DMHPQHJRZ\NOXF]DQLD %H]GRGDWNRZHJRZVSDUFLDVSU]WRZHJRLSURJUDPRZHJR =DNáDGDP\MHG\QLH*H]DSLVGRLRGF]\W]SDPLFLZVSyOQHMV RSHUDFMDPLDWRPRZ\PLF]\OLLVWQLHMHDUELWHUZVSyOQHMSDPLFL :UD]LHMHGQRF]HVQHJR]DSLVXLRGF]\WXUH]XOWDWHPEG]LH

Bardziej szczegółowo

Synchronizacja procesów

Synchronizacja procesów Synchronizacja procesów - Współbieżność i synchronizacja procesów - Systemowe mechanizmy synchronizacji procesów Systemy operacyjne Wykład 7 1 Współbieżność i synchronizacja procesów Abstrakcja programowania

Bardziej szczegółowo

Programowanie Współbieżne. Wstęp

Programowanie Współbieżne. Wstęp Programowanie Współbieżne Wstęp Literatura M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT W. Richard Stevens Programowanie zastosowań sieciowych A.S. Tanenbaum, Rozproszone systemy

Bardziej szczegółowo

Monitory. Jarosław Kuchta

Monitory. Jarosław Kuchta Monitory Jarosław Kuchta Co to jest monitor Monitor to zebrane w jednej konstrukcji programowej zmienne i operacje na tych zmiennych. Część tych operacji jest udostępnianych na zewnątrz monitora. Tylko

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

Synchronizacja procesów

Synchronizacja procesów Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) repeat... produkuj jednostka w nast_p... while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; until

Bardziej szczegółowo

Zagadnienia zaawansowane. Lech Kruś,

Zagadnienia zaawansowane. Lech Kruś, WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WYDZIAŁ INFORMATYKI WIELODOSTĘPNE SYSTEMY OPERACYJNE II (SO2) Zagadnienia zaawansowane CZĘŚĆ 1 KONSPEKT WYKŁADÓW INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE

Bardziej szczegółowo

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd

Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd Synchronizacja procesów Synchronizacja procesów, cd Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1;

Bardziej szczegółowo

Systemy operacyjne. Zajęcia 11. Monitory

Systemy operacyjne. Zajęcia 11. Monitory Systemy operacyjne. Zajęcia 11. Monitory 1. Monitor to mechanizm zamykający całą pamięć wspólną i synchronizację w pojedynczym module. 2. Monitor posiada całą pamięć wspólną jako część 'prywatną': dostępu

Bardziej szczegółowo

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 11.1 abstrakcyjne Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post

Bardziej szczegółowo

WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy. Wykład 4 strona 1/24

WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy. Wykład 4 strona 1/24 WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy Wykład 4 strona 1/24 Ilustracja 5. Schemat problemu czytelników i pisarzy Wykład 4 strona 2/24 Opis problemu: Jest n czytelników,

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.

Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Programowanie współbieżne Zadanie nr 4 Spotkania

Programowanie współbieżne Zadanie nr 4 Spotkania Programowanie współbieżne Zadanie nr 4 Spotkania Cel zadania. Celem zadania jest zapoznanie się mechanizmem spotkań służącym do synchronizacji i komunikacji zadań. Treść zadania. Należy zorganizować współpracę

Bardziej szczegółowo

Rozwi zania klasycznych problemów w Rendezvous

Rozwi zania klasycznych problemów w Rendezvous Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji

Bardziej szczegółowo

Wykład 5. Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 5. Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 5 Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wady semaforów Jeden z pierwszych mechanizmów synchronizacji Generalnie jest to mechanizm bardzo

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny

Bardziej szczegółowo

Czas wirtualny, złożoność algorytmów

Czas wirtualny, złożoność algorytmów Czas wirtualny, złożoność algorytmów Monitor Proces aplikacyjny P i Z każdym procesem P i proces monitora Q i. skojarzony jest Monitor Q i Środowisko komunikacyjne (2) 1 Cechy monitora Monitor może odczytywać

Bardziej szczegółowo

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH SPRAWOZDANIE Temat: Projekt notesu elektronicznego w języku VHDL przy użyciu układów firmy

Bardziej szczegółowo

Klasyczne problemy synchronizacji

Klasyczne problemy synchronizacji Klasyczne problemy synchronizacji Systemy Operacyjne 2 laboratorium Mateusz Hołenko 19 grudnia 2011 Plan zajęć 1 Synchronizacja 2 Problem producenta / konsumenta 3 Problem pięciu filozofów 4 Problem czytelników

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1 Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów

Bardziej szczegółowo

Systemowe mechanizmy synchronizacji procesów

Systemowe mechanizmy synchronizacji procesów Systemowe mechanizmy synchronizacji procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie mechanizmów synchronizacji, które mogą być implementowane zarówno na

Bardziej szczegółowo

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1 Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)

Bardziej szczegółowo

Detekcja zakleszczenia (1)

Detekcja zakleszczenia (1) Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia

Bardziej szczegółowo

Synchronizacja procesów

Synchronizacja procesów Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) repeat... produkuj jednostka w nast_p... while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; until

Bardziej szczegółowo

Czas wirtualny, złożoność algorytmów

Czas wirtualny, złożoność algorytmów Czas wirtualny, złożoność algorytmów Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Zegary logiczne skalarne wektorowe Kanały FIFO typu FC Rząd funkcji, funkcja kosztu Plan wykładu Złożoność komunikacyjna

Bardziej szczegółowo

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Informatyka 1 Wykład IV Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: instrukcja warunkowa CASE-OF-END, instrukcja pętli REPEAT-UNTIL,

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

IPC: Kolejki komunikatów

IPC: Kolejki komunikatów IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w

Bardziej szczegółowo

Programowanie współbieżne Wykład 4. Rafał Skinderowicz

Programowanie współbieżne Wykład 4. Rafał Skinderowicz Programowanie współbieżne Wykład 4 Rafał Skinderowicz Semafory Algorytmy synchronizacyjne omawiane poprzednio opierały się na atomowych instrukcjach odczytu i zapisu do pamięci, ewentualnie dodatkowych

Bardziej szczegółowo

Problem detekcji zakończenia

Problem detekcji zakończenia Problem detekcji zakończenia Przykład sortowanie rozproszone Rozważmy problem sortowania rozproszonego zbioru X składającego się z v różnych liczb naturalnych, w środowisku rozproszonym o n węzłach (procesorach),

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

SYSTEMY CZASU RZECZYWISTEGO - VxWorks WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()

Bardziej szczegółowo

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Systemy Operacyjne synchronizacja i komunikacja procesów

Systemy Operacyjne synchronizacja i komunikacja procesów Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 1 grudnia 2006 1 1 Sytuacje hazardowe 2 Problem sekcji krytycznej 3 Warunki poprawności rozwiązania 4 Rozwiązanie programowe dla dwóch

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Wykład 5: Specyfikacja na poziomie systemowym

Wykład 5: Specyfikacja na poziomie systemowym Systemy wbudowane Wykład 5: Specyfikacja na poziomie systemowym Ogólny model systemu informatycznego Sieć komunikujących się procesów P1 P3 P2 Kiedy procesy się aktywują? Czy jest synchronizacja między

Bardziej szczegółowo

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Procesy wykonują się współbieżnie Potrzeba synchronizacji Jeżeli w 100% są

Bardziej szczegółowo

Problemy czytelników i pisarzy oraz 5 ucztujących filozofów

Problemy czytelników i pisarzy oraz 5 ucztujących filozofów Problemy czytelników i pisarzy oraz 5 dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/

Bardziej szczegółowo

Problemy współbieżności

Problemy współbieżności Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe) realizowana programowo (bariera, sekcja krytyczna, operacje atomowe) wzajemne wykluczanie

Bardziej szczegółowo

Komputerowe systemy sterowania

Komputerowe systemy sterowania Komputerowe systemy sterowania Jerzy Nawrocki www.cs.put.poznan.pl/jnawrocki/wdi Start promu kosmicznego Discovery Systemy sterowania (2) Sterowanie w oparciu o gwiazdy Systemy sterowania (3) Sterowanie

Bardziej szczegółowo

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie. Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Wzajemne wykluczanie i zakleszczenie

Wzajemne wykluczanie i zakleszczenie Wzajemne wykluczanie i zakleszczenie Wzajemne wykluczanie Wzajemne wykluczenie zapewnia procesom ochronę przy dostępie do zasobów, daje im np. gwarancję, że jako jedyne będą mogły z nich korzystać Typy

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

Bardziej szczegółowo

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów

Bardziej szczegółowo

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Wykład 6_ Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Abstrakcyjny typ danych Klient korzystający z abstrakcyjnego typu danych: o ma do dyspozycji jedynie

Bardziej szczegółowo

Przegląd zagadnień programowania wspólbieżnego

Przegląd zagadnień programowania wspólbieżnego Przegląd zagadnień programowania wspólbieżnego dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Stan globalny. Krzysztof Banaś Systemy rozproszone 1 Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego i rozproszonego

Wprowadzenie do programowania współbieżnego i rozproszonego Wprowadzenie do programowania współbieżnego i rozproszonego dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych

Bardziej szczegółowo

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP MPP - Cechy charakterystyczne 1 Prywatna, wyłączna przestrzeń adresowa.

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

Programowanie Współbieżne. Monitory

Programowanie Współbieżne. Monitory Programowanie Współbieżne Monitory Monitory Monitory są połączeniem dwóch idei. Monitor jako Wielki Brat. Stara koncepcja, gdzie system operacyjny był jednym programem i pełnił funkcję nadzorcy pośredniczącego

Bardziej szczegółowo

Proces y i y w i ąt ą ki

Proces y i y w i ąt ą ki Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie

Bardziej szczegółowo

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

Ustawienia :JO GZSRGVWDZRZHLQIRUPDFMH

Ustawienia :JO GZSRGVWDZRZHLQIRUPDFMH 0RGXá 8 \WNRZDQLHNRPSXWHUDZ\PDJDRGNDQG\GDWD]QDMRPR FL REVáXJLNRPSXWHUDRVRELVWHJR.DQG\GDWZLQLHQZ\ND]DüVL ZLHG] LXPLHM WQR FLDPLZ]DNUHVLH - korzystania z gáyzq\fkhohphqwyzv\vwhpxrshudf\mqhjrzw\pxplhm WQR

Bardziej szczegółowo

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak MPP - Cechy charakterystyczne 1 Prywatna - wyłączna przestrzeń adresowa. Równoległość

Bardziej szczegółowo

dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI

dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI Systemy operacyjne 2 System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają

Bardziej szczegółowo

Synchronizacja procesów i wątków

Synchronizacja procesów i wątków SOE Systemy Operacyjne Wykład 12 Synchronizacja procesów i wątków dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Problem sekcji krytycznej Podstawowy problem synchronizacji

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację

Bardziej szczegółowo

Kolejkowanie wiadomości Standard MQ (JMS)

Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard wymiany informacji wiadomości (ang. message) między procesami (mogą być rozproszone) Przykładowe rozwiązania: - RabbitMQ - ActiveMQ

Bardziej szczegółowo

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie

Bardziej szczegółowo

OPERACJE NA PLIKACH. Podstawowe pojęcia:

OPERACJE NA PLIKACH. Podstawowe pojęcia: OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania

Bardziej szczegółowo

Ź Ó Ź Ź Ą ź ź Ń Ó ć Ź ć ć Ź Ó Ń ź Ó Ś Ó Ó Ó Ą ź ź Ó Ą Ą Ź ć Ź Ó Ó Ó Ą ć ć ć Ą ć Ó Ść ć Ś Ść Ś Ó ć ć Ś Ó Ó ć Ś ć ć ć Ó Ó ć ć Ó Ś Ą Ó ć Ź ĘĄ Ó Ó Ą Ś Ó Ź Ą Ł Ś ć Ź Ł Ł Ą Ó Ś Ł ć ć Ź Ó Ź Ł Ć ć Ó ć Ś Ź Ó ć

Bardziej szczegółowo

Ł ć ć Ł Ą Ń Ę Ą Ń Ń Ą Ą ć Ń Ń ć Ą ć ć ź ć ź Ł Ł Ą Ę ć ć ć ć ć ć Ź ć Ę ĘĄ ć Ę ĘĄ Ę Ł Ł ź Ę ć ć ć Ę Ł Ż Ę Ł ź ć Ł ć ź Ę ź Ą Ą ć ć ć Ą Ł Ł Ą ć Ę Ę Ę ć ć ć ć Ą Ę Ń Ę Ą Ń ć Ł Ą Ń Ę Ą Ń Ę ć Ń ć Ć ć Ń Ń ć ć ć

Bardziej szczegółowo