Zagadnienia zaawansowane. Lech Kru, (SO2) WIELODOSTPNE SYSTEMY OPERACYJNE II INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE KOORDYNACJA PROCESÓW
|
|
- Karolina Łuczak
- 6 lat temu
- Przeglądó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ś,
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
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 -
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
... 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; -
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
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
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
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
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;
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
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
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
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
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
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
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...................................................
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ę.
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)
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
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
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
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
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
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
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
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:
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
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
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
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
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ęć
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
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
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
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:
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
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
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
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,
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
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
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
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
" # # 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
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
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
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
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
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
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ęć
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
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
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 -
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
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
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
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
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
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
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
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,
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ą,
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
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
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
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
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
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
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
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
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
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
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
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ą..
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
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
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
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
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
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
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