Zagadnienia zaawansowane. Lech Kru, (SO2) WIELODOSTPNE SYSTEMY OPERACYJNE II INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE KOORDYNACJA PROCESÓW

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

Download "Zagadnienia zaawansowane. Lech Kru, (SO2) WIELODOSTPNE SYSTEMY OPERACYJNE II INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE KOORDYNACJA PROCESÓW"

Transkrypt

1 WYSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZDZANIA WYDZIAŁ INFORMATYKI WIELODOSTPNE SYSTEMY OPERACYJNE II (SO2) Zagadnienia zaawansowane CZ 1 KONSPEKT WYKŁADÓW INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE KOORDYNACJA PROCESÓW Semestr 4, Rok: 2011/2012 Lech Kru,

2 KONSPEKT Cel przedmiotu: Wprowadzenie słuchaczy do zaawansowanych zagadnie systemów operacyjnych. Ułatwienie rozumienia podstawowych zagadnie zwizanych z synchronizacj procesów współbienych, komunikacj midzy procesami, blokowaniem (zakleszczaniem) procesów. Wprowadzenie do systemów rozproszonych i sieci komputerowych. Uzupełnieniem wykładu s zajcia laboratoryjne powicone pracy w systemie MS Windows Wymagane przygotowanie słuchaczy: podstawy informatyki technicznej (cyfrowej reprezentacji informacji, podstaw arytmetyki komputerów, podstaw teorii układów logicznych: A. Skorupski, Podstawy budowy i działania komputerów, WKŁ 1996), organizacja i architektura komputerów (P. Metzger, Anatomia PC, Helion 1996), wielodostpne systemy operacyjne I (wykłady i laboratorium na Wydz. Informatyki, WSISiZ) Zaliczenie przedmiotu: zaliczenie laboratorium (kolokwia), oraz egzamin z tematyki wykładów

3 Zakres tematyczny Koordynacja procesów Problem sekcji krytycznej. Rozwizania programowe. Sprztowe rodki synchronizacji. Semafory. Przykłady rozwiza wybranych problemów synchronizacji: problem ograniczonego buforowania, problem czytelników i pisarzy, problem posilajcych si filozofów. Konstrukcje synchronizacji w jzykach wysokiego poziomu. Komunikacja midzy procesami Wprowadzenie - podstawowe schematy komunikacji. Okrelenie nadawców i odbiorców. Komunikacja bezporednia. Komunikacja porednia. Zagadnienia buforowania. Przykłady działa w sytuacjach wyjtkowych.

4 Blokady (zakleszczenia) procesów Definicja blokady (zakleszczenia). Warunki konieczne wystpienia blokady. Graf przydziału zasobów. Zapobieganie wystpieniu blokady - eliminacja jednego z warunków koniecznych. Unikanie blokad. Pojcie stanu bezpiecznego, stanu zagroenia i blokady. Algorytm bankiera. Wykrywanie blokad. Wychodzenie z blokady.

5 Wprowadzenie do systemów rozproszonych Co to jest system rozproszony, zalety i wady systemów rozproszonych Zagadnienia sprztowe: wieloprocesory szynowe, wieloprocesory przełczane, multikomputery szynowe, multikomputery przełczane. Klasyfikacja systemów operacyjnych: systemy sieciowe, prawdziwe systemy rozproszone, systemy wieloprocesorowe z podziałem czasu Wybrane pojcia zwizane z projektowaniem: przezroczysto, elastyczno, niezawodno, wydajno, skalowalno. Wprowadzenie do sieci komputerowych Pojcia podstawowe: sieci z wymiana pakietów, sieci LAN i WAN, stos protokołów ISO, kapsułkowanie i demultipleksacja, interakcja klientserwer. Standardy w Internecie. Sieci LAN: topologie sieci LAN, pojecie ramki i adresu sieciowego. Intersie i protokół TCP/IP: schemat adresowania IP, protokół ARP, protokół IP, protokół ICMP, protokół TCP, protokół UDP.

6 Literatura podstawowa: Abraham Silberschatz, James.L. Peterson, Peter.B. Galvin; Podstawy systemów operacyjnych, WNT, Warszawa (2000) Berny Goodheart, James Cox; Sekrety magicznego ogrodu. Unix System V, wersja 4 od rodka. WNT, Warszawa Berny Goodheart, James Cox; Sekrety magicznego ogrodu. Unix System V, wersja 4 od rodka. Klucz do zada. WNT, Warszawa Maurice. J. Bach; Budowa systemu operacyjnego UNIX, WNT, Warszawa, Andrew S. Tanenbaum: Rozproszone systemy operacyjne. PWN. Warszawa Douglas E. Comer: Sieci komputerowe TCP/IP. (Tom 1) Zasady, protokoły i architektura. WNT, Warszawa W. Richard Stevens: Biblia TCP/IP, tom1 protokoły. Oficyna Wyd. READ ME, Literatura uzupełniajca: Craig Hunt: TCP/IP Administracja Sieci. O Reilly&Associates Inc., Oficyna Wyd. READ ME, Warszawa, Andrew. S. Tanenbaum; Modern Operating Systems, Prentice-Hall, Inc. London, Abraham Silberschatz, Peter.B. Galvin; Operating System Concepts. Addison Wesley, New York, 1994.

7 KOORDYNACJA PROCESÓW Zagadnienie współbienoci problemy uporzdkowania wykonywania procesów mechanizmy synchronizacji i komunikowania Wprowadzenie Rozpatrywany jest zbiór procesów sekwencyjnych, wykonywanych asynchronicznie, ew. współdzielcych dane. Model: proces producent, proces konsument. Jak zapewni współbiene działanie? załoy pul buforów, producent zapełnia bufory, konsument oprónia bufory. Synchronizacja: konsument musi czeka na wyprodukowanie tego, co chce skonsumowa.

8 Przykład algorytmu koordynacji z ograniczonym buforem Zmienne dzielone: var n; type jednostka =...; var bufor array[0..n-1] of jednostka; we, wy: 0..n-1; licznik: integer; Wartoci pocztkowe: we,wy: 0, licznik: 0. Dzielona pula buforów realizowana jest jako tablica cykliczna z dwoma wskanikami logicznymi: we - wskazuje nastpny pusty bufor, wy - wskazuje pierwszy zajty bufor. Kod producenta repeat... produkuj jednostk w nastp... while licznik = n do nic; bufor[we] := nastp; we := we + 1 mod n; licznik := licznik + 1; until false; Kod konsumenta repeat while licznik = 0 do nic; nastk:= bufor[wy]; wy := wy + 1 mod n; licznik := licznik - 1;... konsumuj jednostk w nastk... until false;

9 Oba kody poprawne, gdy rozpatrywane oddzielnie. Czy działaj poprawnie przy wykonywaniu współbienym? Przykład aktualna warto zm. licznik 5, współbiene wykonywanie: producent: licznik := licznik + 1; konsument: licznik := licznik - 1; Wykonywanie instrukcji w kodzie maszynowym: licznik := licznik + 1; licznik := licznik - 1; jako rozkazów: jako rozkazów: rej1 := licznik; rej2 := licznik; rej1:= rej1 + 1; rej2:= rej2-1; licznik := rej1; licznik := rej2; W przypadku współbienego wykonywania instrukcji ze zmienn licznik rozkazy maszynowe mog si przeplata w dowolnym porzdku, np.: T0: producent wykonuje rej1:= licznik ; (rej1=5) T1: producent rej1:= rej1 +1 ; (rej1=6) T2: konsument rej2:= licznik; (rej2=5) T3: konsument rej2:= rej2-1; (rej2=4) T4: producent licznik := rej1; (licznik=6) T5: konsument licznik := rej2: (licznik=4) Ostatnia warto zm. licznik wskazuje na istnienie 4 pełnych buforów, a naprawd jest 5. Gdy zmieni si kolejno T4 i T5 to wynik jest 6. Jak zapewni prawidłowy wynik? Tylko jeden proces moe wykonywa operacje na zmiennej licznik w czasie wykonywania instrukcji. WNIOSEK: Konieczno synchronizacji.

10 Problem sekcji krytycznej n współbienych procesów {P 0, P 1,..., P n-1 }, sekcja krytyczna - segment kodu (moe wystpi w kadym z tych procesów), w którym proces przetwarza wspólne zmienne, zasada wzajemnego wyłczania w czasie wykonania sekcji krytycznych procesów, Problem: skonstruowa protokół słucy organizacji współpracy procesów. Kod procesu zawiera sekwencj: sekcja wejciowa (proba o zezwolenie na wejcie do sekcji krytycznej) sekcja krytyczna sekcja wyjciowa (sygnalizacja wyjcia z sekcji krytycznej) reszta.

11 Wymagane warunki rozwizania problemu: Wzajemne wyłczanie Postp Ograniczone czekanie Załoenia dot. konstrukcji algorytmów: niezerowa prdko wykonywania procesów podstawowe rozkazy maszynowe wykonywane niepodzielnie ogólna struktura rozpatrywanego procesu ma posta : repeat sekcja wejciowa sekcja krytyczna sekcja wyjciowa reszta until false;

12 Rozwizania problemu sekcji krytycznej? Dwa współbiene procesy P 0, P 1 (dla wygody ozn. P i, P j, i=0,1; j=1-i). Algorytm 1 wspólna zmienna całkowita numer o wartociach 0 lub 1 repeat while numer i do nic; sekcja krytyczna numer := j; reszta until false; Algorytm 2 wspólna tablica flaga var flaga: array[0..1] of boolean; repeat flaga[i] := true; while flaga[j] do nic; sekcja krytyczna flaga[i] := false; reszta until false;

13 Algorytm 3 Wspólne zmienne procesów: var flaga: array[0..1] of boolean; numer: 0..1; wartoci pocztkowe: flaga[0]=flaga[1]=false struktura procesu P i : repeat flaga[i] := true; numer := j; while (flaga[j] and numer = j) do nic; sekcja krytyczna flaga[i] := false; until false; reszta

14 Sprztowe rodki synchronizacji Rozkazy sprztowe pozwalajce na sprawdzenie i zmian zawartoci słowa (słów), wykonywane jako niepodzielne jednostki. Przykład rozkazu sprztowego: instrukcja Testuj_i_Ustal function Testuj_i_Ustal(var cel: boolean): boolean; begin Testuj_i_Ustal:=cel; cel:=true; end; Realizacja wzajemnego wyłczania: wspólna zmienna var zamek: boolean; warto pocztkowa: zamek:= false; Proces Pi (i=1,2): repeat while Testuj_i_Ustal(zamek) do nic; sekcja krytyczna zamek:=false; reszta until false;

15 Semafory Semafor S - zmienna całkowita dostpna tylko za pomoc standardowych niepodzielnych operacji: czekaj (ang. wait), sygnalizuj (ang. signal). Definicje operacji: czekaj(s): while S 0 do nic; S := S - 1; sygnalizuj(s): S := S + 1; Niepodzielno: gdy jeden proces zmienia warto S, aden inny nie moe; podczas sprawdzanie i zmieniania wartoci S nie moe nastpi przerwanie.

16 Przykłady zastosowa 1. Problem sekcji krytycznej przy n procesach: wspólny semafor wzajwy (wzajemne wyłczanie), pocztkowa warto wzajwy=1, kady proces Pi jest zorganizowany: repeat czekaj(wzajwy); sekcja krytyczna sygnalizuj(wzajwy); reszta until false;

17 2. Synchronizacja wykonywania procesów np. zapewnienie wymaganej kolejnoci wykonania instrukcji w rónych procesach: współbiene procesy P1 z instrukcj S1, oraz P2 z instr. S2 wymagane wykonanie S2 po wykonaniu S1. Rozwizanie: Inicjacja wspólnej zmiennej semafor: synch, warto pocztkowa synch = 0, dołczenie instrukcji w procesie P1:.... S1; sygnalizuj(synch);.... w procesie P2:.... czekaj(synch); S2;

18 Problem aktywnego czekania, wirujcej blokady Procesy stojce pod semaforem wykonuj ptle instrukcji - aktywne czekanie. Sposób rozwizania: Definicja semafora nie wymagajca koniecznoci aktywnego czekania: (idea - wznowienie zablokowanego pod semaforem procesu przez inny proces) type semafor = record wart: integer; L: list of proces; end; czekaj(s): S.wart := S.wart - 1; if S.wart < 0 then begin dołcz dany proces do S.L; block; end; sygnalizuj(s): S.wart := S.wart + 1; if S.wart 0 then begin usu jaki proces P z S.L; wakeup(p); end;

19 Problem blokowania Zbiór procesów jest w stanie blokady, gdy kady proces w tym zbiorze czeka na zdarzenie spowodowane przez inny proces z tego zbioru.

20 WYBRANE PROBLEMY SYNCHRONIZACJI Problem ograniczonego buforowania Proces producent przekazuje informacje za porednictwem n buforów do procesu konsument. Kady bufor mieci jedn jednostk. Semafory: wzajwy, warto pocz. 1, pusty, warto pocz. n, pełny, warto pocz. 0. Struktura kodu producenta: repeat... produkowanie jednostki w nastp... czekaj(pusty); czekaj(wzajwy);... dodanie jednostki nastp do bufora bufor... sygnalizuj( wzajwy); sygnalizuj(pełny); until false; Struktura kodu konsumenta: repeat czekaj(pełny); czekaj(wzajwy);... wyjmowanie jednostki z buforu bufor do nastk... sygnalizuj( wzajwy); sygnalizuj(pusty);... konsumowanie jednostki z nastk until false;

21 Problem czytelników i pisarzy Dzielenie obiektu danych (pliku, rekordu) midzy kilka współbienych procesów. Niektóre procesy bd tylko czyta (czytelnicy), inne mog uaktualnia (czyta i pisa - pisarze). Problem zagwarantowania wyłcznoci dostpu pisarzy do obiektu. Najprostszy wariant: aden czytelnik nie powinien czeka, chyba, e pisarz uzyskał dostp.

22 Próba rozwizania: procesy czytelników dziel zmienne: var wzjawy, pis: semafor; liczp: integer; wartoci pocztkowe: wzajwy, pis 1, liczp 0. Struktura procesu pisarza: czekaj(pis);... pisanie... sygnalizuj(pis); Struktura procesu czytelnika: czekaj(wzajwy); liczp:=liczp + 1; if liczp = 1 then czekaj(pis); sygnalizuj(wzajwy);... czytanie... czekaj(wzajwy); liczp:= liczp - 1; if liczp = 0 then sygnalizuj(pis); sygnalizuj(wzajwy);

23 Problem posilajcych si filozofów i Przykład prostego rozwizania: pałeczka semafor próba podniesienia pałeczki - operacja czekaj odłoenie pałeczki - operacja sygnalizuj Dane dzielone: var pałeczka: array[0..4] of semafor; wartoci pocztkowe = 1. Struktura procesu filozofa nr i: repeat czekaj(pałeczka[i]); czekaj(pałeczka[i+1 mod 5]);... jedzenie... synalizuj(pałeczka[i]); sygnalizuj(pałeczka[i +1 mod 5]);... mylenie... until false;

24 Implementacja semafora zliczajcego S przy pomocy semaforów binarnych Deklaracje: semafor_binarny S1, S2; int C; Wartoci pocztkowe: S1 = 1, S2 = O, zmiennej całkowita C = warto pocztkowa semafora zliczajcego S Implementacja operacji wait semafora zliczajcego S: wait(s1); C--; if (C < O) { signal(s1); wait(s2); } signal(s1); Operacja signal semafora zliczajcego S: wait(s1); C++; if (C <= O) signal(s2); else signal(s1);

25 Konstrukcje synchronizacji w jzykach wysokiego poziomu Regiony krytyczne Specjalna deklaracja zmiennej v typu T dzielonej przez wiele procesów: var v: shared T; zmienna v dostpna jest tylko w obrbie specjalnej instrukcji region: region v do S; Przykład: dwa procesy współbiene P 0, P 1, zawierajce instrukcje: P 0 : region v do S 1 ; P 1 : region v do S 2 ; wynik odpowiada sekwencyjnemu wykonaniu S 1, S 2 lub S 2, S 1.

26 Implementacja Regionu krytycznego 1. Kompilator generuje zmienn dzielon: var v_wzajwy: semafor; warunek pocztkowy: v_wzajwy:=1; 2. Dla kadej instrukcji: region v do S; kompilator generuje kod zestawu instrukcji: czekaj(v_wzajwy); S; sygnalizuj(v_wzajwy);

27 Warunkowy region krytyczny deklaracja: var v: shared T zmienna v dostpna jest w instrukcji: region v when B do S; gdzie B jest wyraeniem boolowskim. Przykład ograniczonego buforowania Deklaracje: var bufor: shared record pula: array[0..n-1] of jednostka; licznik, we, wy: integer; end; Wartoci pocztkowe: licznik:=we:=wy:=0; Kod producenta region bufor when licznik < n do begin pula[we]:=nastp; we:= we+1 mod n; licznik:= licznik+1; end; Kod konsumenta region bufor when licznik > 0 do begin nastk:= pula[wy]; wy:= wy+1 mod n; licznik:= licznik-1; end;

28 Monitory Monitor jest scharakteryzowany przez zbiór operacji zdefiniowanych przez programist. Reprezentacja typu monitor zawiera deklaracje zmiennych (ich wartoci okrelaj stan monitora), oraz procedury lub funkcje realizujce działania na monitorze. Konstrukcja monitora gwarantuje, e w jego wntrzu moe by wykonywany tylko jeden proces. Inne czekaj w kolejce. Literatura: A. Silberschatz, J.L. Peterson, P.B. Galvin; Podstawy systemów operacyjnych. WNT, W-wa, A. Silberschatz, P.B. Galvin, G. Gagne; Podstawy systemów operacyjnych. WNT, W-wa, Uwaga Monitor jest okrelony jako typ w rozumieniu programowania obiektowego: zarówno struktura danych i zbiór okrelonych na niej działa.

29 KOMUNIKACJA MIDZY PROCESAMI Wprowadzenie Dwa uzupełniajce si schematy komunikacji: pami dzielona - procesy współuytkuj pewne zmienne system komunikatów - wymiana komunikatów midzy procesami bez uycia zmiennych dzielonych. Podstawowe operacje komunikacji midzy procesami: nadaj(komunikat) odbierz(komunikat) Zagadnienia dotyczce ustanowienia łcza Zagadnienia logicznej implementacji łcza

30 OKRE LENIE NADAWCÓW I ODBIORCÓW Komunikacja bezporednia proces nadajcy (lub odbierajcy) komunikat jawnie okrela odbiorc (lub nadawc) Cechy łcza: ustanawiane automatycznie midzy dwoma procesami na podstawie ich identyfikatorów dotyczy dokładnie dwóch procesów, jest dla kaej pary procesów tylko jedno, jest dwukierunkowe

31 (Komunikacja bezporednia - kontynuacja) Definicja podstawowych operacji: nadaj(p, komunikat), gdzie P jest odbiorc odbierz(q, komunikat), gdzie Q jest nadawc Przykład rozwizania problemu producenta i konsumenta Proces producenta: repeat... wytwarzaj jednostk w nastp... nadaj(konsument, nastp); until false; Proces konsumenta: repeat odbierz(producent, nastk);... konsumuj jednostk z nastk... until false;

32 Komunikacja porednia wykorzystanie skrzynek pocztowych (portów) o jednoznacznej identyfikacji Definicja podstawowych operacji nadaj(a, komunikat), odbierz(a, komunikat), gdzie A jest identyfikatorem skrzynki pocztowej. Cechy łcza: ustanawiane midzy procesami, gdy dziel skrzynk pocztow, moe dotyczy wicej ni dwóch procesów, kada para procesów moe mie kilka rónych łczy, moe by jedno lub dwukierunkowe

33 Róne rozwizania systemowe dotyczce: własnoci skrzynki (procesu lub systemu operacyjnego), tworzenia skrzynki, nadawania i odbierania komunikatów, usuwania skrzynki. Zagadnienia buforowania Pojemno łcza tylko okrelona liczba komunikatów moe w nim przebywa, kolejka komunikatów przyporzdkowanych do łcza. Sposoby implementacji kolejki pojemno łcza pojemno zerowa pojemno ograniczona pojemno nieograniczona

34 Przykłady działa w sytuacjach wyjtkowych Zakoczenie procesu biorcego udział w komunikacji Utrata komunikatów Zniekształcenie komunikatów

35 WYSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZDZANIA WYDZIAŁ INFORMATYKI WIELODOSTPNE SYSTEMY OPERACYJNE II Zagadnienia zaawansowane CZ 2 BLOKADY ZAKLESZCZENIA PROCESÓW Semestr 4, Rok: 2011/2012 Lech Kru,

36 BLOKADY - ZAKLESZCZENIA (DEADLOCKS) Blokada: sytuacja, w której procesy wzajemnie przetrzymuj zasoby, do których chciałyby uzyska dostp. W sytuacji takiej procesy s w stanie oczekiwania, z którego nie mog wyj. OPIS SYSTEMU Zasoby System zawiera skoczon liczb zasobów rónego typu. Mog wystpowa grupy równowanych zasobów. Zasady korzystania z zasobów przez procesy Zamówienie zasobu Uycie Zwolnienie zasobu

37 Def. Wzajemnego blokowania, zakleszczenia procesów (deadlock): Zbiór procesów jest w stanie blokady, jeli kady proces z tego zbioru czeka na zdarzenie spowodowane przez inny proces z tego samego zbioru. Przykłady zasobów: zasoby fizyczne: drukarki, napdy tamy, cykle procesora, pami zasoby logiczne: pliki, semafory

38 WARUNKI KONIECZNE WYSTPIENIA BLOKADY Wzajemne wyłczanie Co najmniej jeden zasób jest niepodzielny. Tylko jeden proces moe korzysta z tego zasobu, inne procesy zamawiajce ten zasób s opóniane. Przetrzymywanie i oczekiwanie Musi istnie proces majcy przydzielony pewien zasób (co najmniej jeden) i oczekujcy na przydział dodatkowego zasobu, przetrzymywanego przez inny proces.

39 WARUNKI KONIECZNE WYSTPIENIA BLOKADY (c. d.) Brak wywłaszcze Tylko proces przetrzymujcy okrelony zasób, moe ten zasób zwolni. Czekanie cykliczne Musi istnie zbiór oczekujcych procesów {P0, P1,...,Pn-1 }, takich, e P0 czeka na zasób przetrzymywany przez P1, P1 czeka na zasób przetrzymywany przez P2, itd...., a Pn-1 czeka na zasób przetrzymywany przez P0.

40 GRAF PRZYDZIAŁU ZASOBÓW Graf skierowany opisujcy stan systemu przydziału zasobów, umoliwia analiz sytuacji blokad. Zbiór wierzchołków W składajcy si z podzbiorów: P={ P1, P2,..., Pn} podzbiór procesów, Z={ Z1, Z2,..., Zm} podzbiór typów zasobów. Zbiór krawdzi skierowanych K: Pi -> Zj oznacza, e proces Pi zamówił zasób Zj, Zi -> Pj oznacza, e zasób Zi został przydzielony procesowi Pj. Z1 Z3 P1 P2 P3 Z2 Z4 Przykład grafu (oznaczenia na rys. : proces -, zasób - ).

41 Warunek konieczny wystpienia blokowania: graf przydziału zasobów zawiera cykl. W przypadku, gdy kady typ zasobów zawiera tylko jeden egzemplarz, to cykl zawarty w grafie przydziału zasobów jest warunkiem koniecznym i dostatecznym. Z1 Z3 Z1 P2 P1 P2 P3 P1 P3 Z2 Przykład grafu z blokad Z4 Z2 P4 Przykład grafu z cyklem, ale bez blokady

42 SPOSOBY ROZWIZYWANIA PROBLEMU BLOKADY Zapobieganie wystpieniu blokady. Unikanie blokad. Pozwoli na wejcie w stan blokady i spowodowa jej usunicie.

43 ZAPOBIEGANIE WYSTPIENIU BLOKADY Wyeliminowanie co najmniej jednego z warunków koniecznych. Wzajemne wyłczanie Warunek ten mona wyeliminowa tylko w przypadku zasobów podzielnych. Przetrzymywanie i oczekiwanie idea: zastosowa protokół zapewniajcy, e proces zamawiajcy okrelony zasób nie powinien przetrzymywa innych. Brak wywłaszcze idea: zastosowa odpowiedni protokół wywłaszczeniowy

44 Czekanie cykliczne idea: wyeliminowa czekanie cykliczne przez uporzdkowanie zasobów i zastosowanie odpowiedniego protokołu przydzielania zasobów procesom. Z={Z1,... Zm} zbiór zasobów F: Z -> N funkcja przyporzdkowujca kademu zasobowi liczb naturaln ze zbioru N. Przykład: Z={nap. tamy, nap. dysku, drukarki}, N={ 1, 5, 7}, F(nap. tamy)=1, F(nap. dysku)=5, F(drukarki)=7, Protokół: kady proces moe zamawia zasoby tylko we wzrastajcym porzdku ich numeracji, tzn. na pocztku proces moe zamówi dowoln dostpn liczb egz. zasobu np. Zl. Nastpnie jednak kady egz. zasobu Zk tylko wtedy, gdy F(Zk) > F(Zl). Wymaga si, aby proces zamawiajcy zasób Zl miał wczeniej zwolnione zasoby Zk takie, e F(Zk) F(Zl).

45 UNIKANIE BLOKAD idea: przy kadym zamawianiu zasobów przez proces, system operacyjny decyduje czy ten proces ma czeka czy nie. Wymagana jest wczeniejsza informacja jak procesy bd zamawia i zwalnia zasoby. Na podstawie deklaracji procesów o maksymalnej liczbie potrzebnych zasobów konstruuje si algorytmy przydzielania zasobów, tak aby system nie wszedł w stan blokady. Algorytm dynamicznie sprawdza stan przydziału zasobów i decyzja o przydziale podejmowana jest tak aby nie dopuci do spełnienia warunku czekania cyklicznego. Róne algorytmy wymagaj rónych iloci i typów informacji. Stan przydziału zasobów okrelony jest przez liczb zasobów dostpnych, przydzielonych oraz przez maksymalne zapotrzebowania procesów.

46 Stan bezpieczny: Stan przydziałów dla którego istnieje cig bezpieczny procesów P1,..., Pn, tzn. taki cig, e dla kadego procesu Pi jego potencjalne zapotrzebowanie na zasoby musi by zaspokojone przez zasoby aktualnie dostpne oraz przez zasoby uytkowane przez procesy Pj, j<i. Stan zagro enia - gdy aden taki cig bezpieczny nie istnieje.

47 Ilustracja stanu bezpiecznego i stanu zagro enia. Przykład 1. Trajektorie realizacji dwóch procesów wykorzystujcych dwa zasoby

48 Ilustracja stanu bezpiecznego i stanu zagro enia. Przykład 2. Jeden zasób dostpny w 10-u egzemplarzach, 3 procesy: A, B, C. Stan (a) jest stanem bezpiecznym Stan (b) nie jest stanem bezpiecznym

49 Rozwizanie dla zasobów reprezentowanych wielokrotnie: algorytm bankiera Proces wchodzcy do systemu musi zadeklarowa maksymaln liczb potrzebnych egzemplarzy kadego zasobu. Kiedy proces w trakcie wykonywania zamawia potrzebne zasoby - system operacyjny decyduje czy te zasoby udostpni, czy proces musi poczeka - tak aby system pozostał w stanie bezpiecznym

50 Struktury danych przechowujce stan systemu przydziałów. dla n procesów, m typów zasobów Dostpne: array[0..m-1] of integer okrela liczb dostpnych egz. kadego zasobu, np. Dostpne[j]=k ozn., e jest dostpnych k egzemplarzy zasobu typu j. Maksymalne: array[0..n-1,0..m-1] of integer okrela maksymalne dania procesów wzgldem zasobów poszczególnych typów. Przydzielone: array[0..n-1,0..m-1] of integer okrela liczb zasobów poszczególnych typów ju przydzielonych do kadego z procesów. Potrzebne: array[0..n-1,0..m-1] of integer okrela pozostałe do spełnienia zamówienia kadego procesów. Uwagi: Potrzebne[i,j]=Maksymalne[i,j] - Przydzielone[i,j] Struktury te s dynamiczne - zmieniaj w czasie wymiary i wartoci. W formułowaniu algorytmów korzystamy dla uproszczenia zapisu z wektorów: Dostpne, Maksymalnei, Przydzielonei, Potrzebnei (wektory wzgldem zasobów dla ustalonego procesu i). Wprowadzamy relacj dominacji midzy wektorami X, Y o wymiarach m: X Y wtedy i tylko wtedy gdy X[j] Y[j] dla kadego j=1,..,m.

51 Zamówienia procesu i na zasoby oznaczane s przez: Zamówieniai: array[0..m-1] of integer ALGORYTM DZIAŁA podejmowanych, gdy proces i wykonuje zamówienia Krok 1: Sprawd czy Zamówieniai Potrzebnei tak: wykonaj krok 2, nie: warunek błdu. Krok 2: Sprawd czy Zamówieniai Dostpne tak: wykonaj krok 3, nie: proces i musi czeka. Krok 3: Wykonaj prób przydziału zasobów: Dostpne:= Dostpne - Zamówieniai; Przydzielonei := Przydzielonei + Zamówieniai; Potrzebnei := Potrzebnei - Zamówieniai; Sprawd czy stan jest bezpieczny (algorytm bezpieczestwa). tak: przydziel zasoby procesowi i zgodnie z zamówieniem, nie: przywró poprzedni stan zasobów, proces i musi czeka na realizacj zamówienia: Zamówieniai.

52 ALGORYTM BEZPIECZESTWA Wprowadzamy wektory Praca o wymiarze m, Koniec o wymiarze n. Krok 1: Przypisania pocztkowe: Praca:= Dostpne; Koniec[i]:= false; dla i=0,...,n-1. Krok 2: Znajd takie i, e jednoczenie: Koniec[i]=false and Potrzebnei Praca czy istnieje takie i? tak: wykonaj krok 3 nie: wykonaj krok 4. Krok 3: Praca := Praca + Przydzielonei; Koniec[i]:= true; wykonaj krok 2. Krok 4: Jeli Koniec[i] = true dla wszystkich i to system jest w stanie bezpiecznym.

53 WYKRYWANIE I WYCHODZENIE Z BLOKADY WYKRYWANIE BLOKAD Algorytmy wykrywania blokad dla zasobów reprezentowanych wielokrotnie i jednokrotnie. Przykład algorytmu dla pierwszej klasy - patrz Silberschatz i inni, Podstawy systemów operacyjnych.wnt, W-wa, Zasoby reprezentowane pojedynczo idea algorytmu: Budowa grafu przydziałów Budowa grafu oczekiwa (przez usunicie wzłów zasobów) Krawd Pi -> Pj oznacza, e proces Pi czeka na zwolnienie zasobów przez proces Pj.

54 Wykrywanie blokady polega na wykrywaniu ptli w grafie oczekiwa. Niezbdne jest przechowywanie i aktualizowanie na bieco grafu oczekiwa oraz wykonywanie algorytmu szukajcego ptli w grafie. Problem: kiedy i jak czsto wykrywa blokady?

55 WYCHODZENIE Z BLOKADY Usunicie jednego (lub kilku) procesów w celu przerwania cyklicznego czekania usun wszystkie procesy w blokadzie znaczny koszt usuwa procesy pojedynczo, a do usunicia blokady Sposób działania: usun proces, wykona algorytm wykrywania blokady. Problem wyboru procesu do usunicia Wywłaszczenie procesów z zasobów Wybór wywłaszczanego procesu Wznawianie wycofywanego procesu Głodzenie procesu

56 ROZWIZYWANIE PROBLEMU BLOKAD W PRAKTYCE Zastosowanie rónych metod dla rónych klas zasobów. Zasoby wewntrzne systemu (np. bloki kontrolne procesów) Zapobieganie powstawaniu blokad przez uporzdkowanie zasobów (nie trzeba dokonywa wyborów midzy realizowanymi zamówieniami. Pami główna Wywłaszczanie. Zasoby zadania (przydzielane urzdzenia, pliki,..) Unikanie blokad. Obszar wymiany Zastosowanie wstpnego przydziału.

57 Pytania podstawowe z zakresu blokad - zakleszcze (deadlock) procesów przykłady 1. Co to jest blokada zakleszczenie (deadlock) procesów? 2. Jakie s warunki konieczne wystpienia blokady - zakleszczenia? 3. Co oznacza warunek czekania cyklicznego? 4. Na czym polega warunek przetrzymywania i oczekiwania? 5. Na czym polegaj metody zapobiegania blokadom-zakleszczeniom? 6. W jaki sposób mona wyeliminowa warunek przetrzymywania i oczekiwania? 7. W jaki sposób mona wyeliminowa warunek braku wywłaszcze? 8. W jaki sposób mona wyeliminowa warunek czekania cyklicznego? 9. Na czym polegaj metody unikania blokad? 10. Jakie informacje s niezbdne do opisania stanu systemu przydziału zasobów? 11. Co to jest stan bezpieczny? 12. Co to jest stan zagroenia? 13. Poda ide algorytmu bankiera. 14. Na czym polegaj metody wykrywania i wychodzenia z blokady? 15. W jaki sposób mona zidentyfikowa stan blokady? 16. W jaki sposób mona wyj z istniejcej blokady i jakie wi si z tym koszty?

58 WYSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZDZANIA WYDZIAŁ INFORMATYKI WIELODOSTPNE SYSTEMY OPERACYJNE II Zagadnienia zaawansowane CZ 3 WPROWADZENIE DO SYSTEMÓW ROZPROSZONYCH Semestr 4, Rok: 2011/2012 Lech Kru,

59 WPROWADZENIE DO SYSTEMÓW ROZPROSZONYCH Postp technologii: mikroprocesory szybkie sieci komputerowe łatwo budowy sieci - łczenia wielu jednostek centralnych w jeden system - budowa sieci - LAN, WAN Podstawowy problem: wymagane jest oprogramowanie odmienne ni w systemach scentralizowanych Co to jest system rozproszony? Układ niezalenych komputerów, który sprawia wraenie na jego uytkownikach, e jest jednym komputerem

60 Cele budowy systemów rozproszonych Zalety (w porównaniu z systemami scentralizowanymi). lepszy współczynnik cena/wydajno. uzyskanie wydajnoci nieosigalnych w systemach scentralizowanych. wymagane w przypadku wewntrznego rozproszenia zastosowa.. wiksza niezawodno. moliwo stopniowego rozszerzania systemu Zalety (w porównaniu z niezalenymi komputerami PC). umoliwienie uytkownikom dostpu do wspólnej bazy danych. dostp wielu uytkowników do wspólnych urzdze zewntrznych. komunikacja midzy uytkownikami. powikszenie elastycznoci

61 KLASYFIKACJA SYSTEMÓW ROZPROSZONYCH SISD - jeden strumie instrukcji i jeden strumie danych SIMD - jeden strumie instrukcji, wiele strumieni danych MIMD - grupa niezalenych komputerów z własnymi licznikami rozkazów, programami i danymi Systemy MIMD podział ze wzgldu na budow: wieloprocesory multikomputery podział ze wzgldu na architektur sieci powiza: szynowe (bus) przełczane (switched) systemy cile powizane.. systemy luno powizane

62 Wieloprocesory szynowe

63 Wieloprocesory przełczane Wybierak krzyowy Sie przełczajca omega Rysunki podano za prac: A. S. Tanenbaum; Rozproszone systemy operacyjne. PWN, Warszawa, 1997

64 Problem opó nienia w sieci Omega z poczwórnymi przełcznikami n procesorów, n modułów pamici liczba potrzebnych stopni przełczajcych: log2n, w kadym stopniu potrzeba n/2 przełczników Przykład n = 1024: potrzeba 10 stopni przełczajcych, zamówienie od procesora do pamici musi przej 10 stopni przełczajcych, a wracajce słowo - równie 10 stopni przełczajcych. Procesory RlSC o szybkoci 100 MIPS => czas wykonania instrukcji 10 ns. Jeli zamówienie ma przej 20 stopni w czasie wykonywania instrukcji, to czas działania przełcznika 0,5 ns = 500 ps.

65 Zadanie A 2048 procesorów RISC o szybkoci 50 MIPS połczono w sieci Omega z poczwórnymi przełcznikami. Jakie powinny by czasy przełczników, aby zamówienie do pamici wróciło do procesora w czasie wykonywania jednej instrukcji? Odpowied prosz uzasadni. Zadanie B W wieloprocesorze zawierajcym 4096 procesorów RISC połczonych w sieci Omega poczwórnymi przełcznikami zastosowano przełczniki o czasie działania 0,5 ns. Jak szybkie mog by procesory, aby zamówienie skierowane do pamici wróciło do procesora w czasie wykonywania jednej instrukcji? Wynik prosz poda w liczbie MIPS. Odpowied uzasadni.

66 Multikomputery szynowe Rys. 3. Multikomputer złoony ze stacji roboczych i sieci LAN

67 Multikomputery przełczane Rys. 4. (a) Krata. (b) Hiperkostka

68 OPROGRAMOWANIE Sieciowe systemy operacyjne Stacje robocze połczone sieci LAN Kada maszyna ma własny system operacyjny Podstawowe usługi: logowanie na innej maszynie kopiowanie plików midzy maszynami Serwer plików realizuje globalny system plików dzielonych Program uytkowy wykonywany tylko na lokalnej maszynie

69 Rys.5. Dwaj klienci i serwer w sieciowym systemie operacyjnym

70 Rys. 6. Moliwy róny obraz zasobów widzianych przez klientów w systemie sieciowym

71 Prawdziwe systemy rozproszone Wiele komputerów połczonych sieci Wraenie jednolitego systemu (single system image) (wirtualny monoprocesor - virtual uniprocessor) Wymagania: Jednolity, globalny system komunikacji midzy procesami Jednakowe zarzdzanie procesami Jednolity system plików Ten sam interfejs odwoła systemowych Znaczna kontrola sprawowana przez jdro nad własnymi zasobami

72 Systemy wieloprocesorowe z podziałem czasu Wiele jednostek centralnych z pamici podrczn Wspólna pami dzielona Wspólny dysk (dyski) Połczenie szyn. Jedna kolejka uruchomie procesów Rys. 7. Wieloprocesor z jedn kolejk uruchomie

73 Porównanie klas systemów operacyjnych z wieloma (N) jednostkami centralnymi

74 PODSTAWOWE WYMAGANIA (OCZEKIWANIA) WOBEC SYSTEMÓW ROZPROSZONYCH Przezroczysto Przezroczysto dostpu i połoenia: dostp do lokalnych i zdalnych obiektów informacji za pomoc identycznych działa, bez znajomoci ich lokalizacji. Przezroczysto wdrówki (migration transparency): zasoby mog by przemieszczane bez wpływu na działania uytkowników i programów uytkowych. Przezroczysto zwielokrotniania (replication transparency): moliwo uycia wielu kopii obiektów informacji bez wiedzy uytkowników i programów uytkowych o zwielokrotnieniach. Przezroczysto współbienoci (concurrency transparency): automatyczne, niezakłócone dzielenie zasobów midzy uytkowników działajcych współbienie. Przezroczysto działa równoległych (parallelism transparency): zadania wykonywane równolegle bez wiedzy (koniecznoci działa) uytkowników

75 Elastyczno Dwie struktury systemów: 1. Idea Jdra Monolitycznego. Kada maszyna wykonuje monolityczne jdro dostarczajce wikszoci usług. 2. Idea Mikrojdra zapewniajcego nieliczne usługi, a wikszo usług zapewniana przez specjalizowane serwery poziomu uytkownika. Niezawodno, Dostpno Integralno danych, Bezpieczestwo Tolerowanie awarii Wydajno Skalowalno Idea algorytmów zdecentralizowanych

76 Pytania podstawowe z zakresu wprowadzenia do systemów rozproszonych (przykłady) 1. Co to jest system rozproszony? 2. Jakie s rónice midzy wieloprocesorami a multikomputerami? 3. Czym róni si architektura powiza szynowych od przełczanych? 4. Co to jest szyna? Jak procesory korzystaj z szyny porozumiewajc si z pamici? 5. Wyjani pojcie spójnoci pamici w wieloprocesorach. 6. Jakie właciwoci musz posiada pamici podrczne w wieloprocesorach, aby zapewni spójno pamici? 7. Czy wieloprocesory szynowe mog by budowane z wikszej liczby procesorów ni przełczane, czy z mniejszej? Wyjani, dlaczego? 8. Wyjani ide przełcznika krzyowego stosowanego w wieloprocesorach. 9. Wyjani ide sieci "Omega" stosowan w wieloprocesorach. 10. Czym róni si prawdziwe systemy rozproszone od stosowanych obecnie powszechnie systemów sieciowych? 11. Jak działa system operacyjny w przypadku wieloprocesora? 12. Wyjani pojcie przezroczystoci w systemach rozproszonych? 13. Co oznacza przezroczysto połoenia (location transparency) w systemach rozproszonych? 14. Co oznacza przezroczysto zwielokrotnienia w systemach rozproszonych? 15. Co oznacza przezroczysto wdrówki - migracji (migration transparency) w systemach rozproszonych? 16. Jakie s dwie podstawowe koncepcje budowy operacyjnych systemów rozproszonych?

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

Zagadnienia zaawansowane. Lech Kruś,

Zagadnienia zaawansowane. Lech Kruś, WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WYDZIAŁ INFORMATYKI WIELODOSTĘPNE SYSTEMY OPERACYJNE II Zagadnienia zaawansowane CZĘŚĆ 2 BLOKADY ZAKLESZCZENIA PROCESÓW Semestr 4 Lech Kruś, BLOKADY -

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

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1) WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WYDZIAŁ INFORMATYKI WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1) oraz UŻYTKOWANIE SYSTEMU UNIX WYKŁADY I LABORATORIUM KOMPUTEROWE (konspekt) Prowadzący wykłady:

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

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci

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

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

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

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan 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

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

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

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów

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

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Systemy operacyjne i architektura komputerów Charakter przedmiotu: kierunkowy, obowiązkowy Typ

Bardziej szczegółowo

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i

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

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P) Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Architektura Komputerów i Systemy Operacyjne Nazwa w języku angielskim : Computer Architecture and Operating

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 6 - procesy Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu

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

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,

Bardziej szczegółowo

Klonowanie MAC adresu oraz TTL

Klonowanie MAC adresu oraz TTL 1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo

Bardziej szczegółowo

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

... Ireneusz Mrozek. Wydział Informatyki

... Ireneusz Mrozek. Wydział Informatyki Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; -

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

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

Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie

Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie Systemy operacyjne wykład 11- Zakleszczenia dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 17grudnia2015r. POJĘCIE ZAKLESZCZENIA Zakleszczenie to zbiór

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

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1 Zaliczenie Bazy Wykład 1: Wprowadzenie do baz Semestr 1 Wykład: Podstawowe informacje z zakresu baz - relacyjne bazy, DDL, SQL, indeksy, architektura baz Pracownia specjalistyczna: projekt bazy, SQL, Access

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

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

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

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

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

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

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

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

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

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014 Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Mechaniczny obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014 Kierunek studiów: Informatyka Stosowana Forma

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

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

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

Bardziej szczegółowo

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

J. Ułasiewicz Programowanie aplikacji współbieżnych 1 J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wersja draft 2.1 Na podstawie: Europejskiej Modelowej Umowy o EDI (w skrócie: EMUoE). 1. Standardy

Bardziej szczegółowo

Programowanie Obiektowe

Programowanie Obiektowe Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie

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

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. 1. Pojcie struktury danych Nieformalnie Struktura danych (ang. data

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

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

Podstawy Informatyki Systemy operacyjne

Podstawy Informatyki Systemy operacyjne Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego

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

Synchronizacja procesów

Synchronizacja procesów Synchronizacja procesów Problem sekcji krytycznej. Sprzętowe środki synchronizacji. Semafory. Klasyczne problemy synchronizacji. Monitory. Bariery. Przykłady synchronizacji procesów: Solaris, Windows XP/Vista/7/8/10,

Bardziej szczegółowo

Systemy operacyjne. Program przedmiotu

Systemy operacyjne. Program przedmiotu Systemy operacyjne Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 3a, CW p. 5 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl www.cs.put.poznan.pl/dwawrzyniak www.cs.put.poznan.pl/sop

Bardziej szczegółowo

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1 Systemy operacyjne Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 3a, CW p. 5 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl www.cs.put.poznan.pl/dwawrzyniak www.cs.put.poznan.pl/sop

Bardziej szczegółowo

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska Podstawy informatyki Izabela Szczęch Politechnika Poznańska SYSTEMY OPERACYJNE 2 Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Klasyfikacja systemów operacyjnych

Bardziej szczegółowo

Temat: Algorytmy zachłanne

Temat: Algorytmy zachłanne Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymaln moliwo w nadziei, e doprowadzi

Bardziej szczegółowo

" # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne

 # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne !! " # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne Sie PIONIER Sieci regionalne i miejskie rodowiska naukowego baz dla

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

MODELOWANIE I PROGRAMOWANIE PRACY

MODELOWANIE I PROGRAMOWANIE PRACY Tadeusz MIKULCZYSKI 1, Daniel NOWAK 2, Rafał WICŁAWEK 3 Instytut Technologii Maszyn i Automatyzacji Politechniki Wrocławskiej, Wrocław 1. Streszczenie. Zaprezentowano metod Grafpol modelowania dyskretnych

Bardziej szczegółowo

Problem zakleszczenia

Problem zakleszczenia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja zasobów systemu na potrzeby analizy problemu zakleszczenia Warunki konieczne wystąpienia zakleszczenia Graf przydziału zasobów

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Rozproszona pamiêæ dzielona - 1

Rozproszona pamiêæ dzielona - 1 Rozproszona pamiêæ dzielona - 1 Wieloprocesor - wiele ma dostêp do wspólnej pamiêci g³ównej Wielokomputer - ka dy ma w³asn¹ pamiêæ g³ówn¹; nie ma wspó³dzielenia pamiêci Aspekt sprzêtowy: Skonstruowanie

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

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

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK

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

Systemy operacyjne lab. 6 Paweł Gmys strona 1

Systemy operacyjne lab. 6 Paweł Gmys strona 1 Systemy operacyjne lab. 6 Paweł Gmys strona 1 I Uytkownicy i grupy 1. Proces logowania Rozpoczynajc prac z systemem na komputerze lokalnym Windows 2000 musimy poda w oknie logowania identyfikator uytkownika

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK

Bardziej szczegółowo

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!! Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed

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

Program do konwersji obrazu na cig zero-jedynkowy

Program do konwersji obrazu na cig zero-jedynkowy Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna Sterownik sieci Przerwanie

Bardziej szczegółowo

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu. SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu

Bardziej szczegółowo

Studium przypadku Case Study CCNA2-ROUTING

Studium przypadku Case Study CCNA2-ROUTING Na podstawie oryginału CISCO, przygotował: mgr in. Jarosław Szybiski Studium przypadku Case Study CCNA2-ROUTING Ogólne załoenia dla projektu Przegld i cele Podczas tego wiczenia uczestnicy wykonaj zadanie

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Szukanie najkrótszych dróg z jednym ródłem

Szukanie najkrótszych dróg z jednym ródłem Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek

Bardziej szczegółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarzdzania miejscem na dysku i moduł zarzdzania buforami

Bardziej szczegółowo

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Uycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treci 1. CO TO JEST VPN I DO CZEGO SŁUY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

Terminologia baz danych

Terminologia baz danych Terminologia baz danych Terminologia Banki danych - bazy danych w których przechowuje si informacj historyczne. Hurtownie danych (data warehouse): zweryfikowane dane z rónych baz, przydatne do analiz i

Bardziej szczegółowo

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

J. Ułasiewicz Programowanie aplikacji współbieżnych 1 J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

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

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna I NIC Sterownik sieci

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

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

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy WYKŁAD 10 Wzorce projektowe czynnociowe Command Strategy Behavioral Design Pattern: Command [obj] Kapsułkuje dania w postaci obiektu, co umoliwia parametryzowanie klientów rónymi daniami, kolejkowanie

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi 1.Wymagania techniczne 1.1. Wymagania sprztowe - minimalne : komputer PC Intel

Bardziej szczegółowo