Zagadnienia zaawansowane. Lech Kruś,

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

Download "Zagadnienia zaawansowane. Lech Kruś,"

Transkrypt

1 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 KOORDYNACJA PROCESÓW Semestr 4, studia zaoczne Lech Kruś,

2 KONSPEKT Cel przedmiotu: Wprowadzenie słuchaczy do zaawansowanych zagadnień systemów operacyjnych. Ułatwienie rozumienia podstawowych zagadnień związanych z synchronizacją procesów współbieżnych, komunikacją między procesami, blokowaniem (zakleszczaniem) procesów. Wprowadzenie do systemów rozproszonych i sieci komputerowych. Uzupełnieniem wykładu są zajęcia laboratoryjne poświęcone pracy w systemie MS Windows Server 2012R2. 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), wielodostępne 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. Rozwiązania programowe. Sprzętowe środki synchronizacji. Semafory. Przykłady rozwiązań wybranych problemów synchronizacji: problem ograniczonego buforowania, problem czytelników i pisarzy, problem posilających się filozofów. Konstrukcje synchronizacji w językach wysokiego poziomu. Komunikacja między procesami Wprowadzenie - podstawowe schematy komunikacji. Określenie nadawców i odbiorców. Komunikacja bezpośrednia. Komunikacja pośrednia. Zagadnienia buforowania. Przykłady działań w sytuacjach wyjątkowych.

4 Blokady (zakleszczenia) procesów Definicja blokady (zakleszczenia). Warunki konieczne wystąpienia blokady. Graf przydziału zasobów. Zapobieganie wystąpieniu blokady - eliminacja jednego z warunków koniecznych. Unikanie blokad. Pojęcie stanu bezpiecznego, stanu zagrożenia 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 sprzętowe: 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 pojęcia związane z projektowaniem: przezroczystość, elastyczność, niezawodność, wydajność, skalowalność. Wprowadzenie do sieci komputerowych Pojęcia 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łniająca: 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ółbieżności problemy uporządkowania wykonywania procesów mechanizmy synchronizacji i komunikowania Wprowadzenie Rozpatrywany jest zbiór procesów sekwencyjnych, wykonywanych asynchronicznie, ew. współdzielących dane. Model: proces producent, proces konsument. Jak zapewnić współbieżne działanie? założyć 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; Wartości początkowe: we,wy: 0, licznik: 0. Dzielona pula buforów realizowana jest jako tablica cykliczna z dwoma wskaźnikami logicznymi: we - wskazuje następny pusty bufor, wy - wskazuje pierwszy zajęty 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ółbieżnym? Przykład aktualna wartość zm. licznik 5, współbieżne 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ółbieżnego wykonywania instrukcji ze zmienną licznik rozkazy maszynowe mogą się przeplatać w dowolnym porządku, 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 może wykonywać operacje na zmiennej licznik w czasie wykonywania instrukcji. WNIOSEK: Konieczność synchronizacji.

10 Problem sekcji krytycznej n współbieżnych procesów {P 0, P 1,..., P n-1 }, sekcja krytyczna - segment kodu (może wystąpić w każdym 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łużący organizacji współpracy procesów. Kod procesu zawiera sekwencję: sekcja wejściowa (prośba o zezwolenie na wejście do sekcji krytycznej) sekcja krytyczna sekcja wyjściowa (sygnalizacja wyjścia z sekcji krytycznej) reszta.

11 Wymagane warunki rozwiązania problemu: Wzajemne wyłączanie Postęp Ograniczone czekanie Założenia dot. konstrukcji algorytmów: niezerowa prędkość wykonywania procesów podstawowe rozkazy maszynowe wykonywane niepodzielnie ogólna struktura rozpatrywanego procesu ma postać: repeat sekcja wejściowa sekcja krytyczna sekcja wyjściowa reszta until false;

12 Rozwiązania problemu sekcji krytycznej? Dwa współbieżne 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 wartościach 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; wartości początkowe: flaga[0]=flaga[1]=false struktura procesu P i : repeat flaga[i] := true; numer := j; while (flaga[j] and numer = j) do nic; flaga[i] := false; sekcja krytyczna until false; reszta

14 Sprzętowe środki synchronizacji Rozkazy sprzętowe pozwalające na sprawdzenie i zmianę zawartości słowa (słów), wykonywane jako niepodzielne jednostki. Przykład rozkazu sprzętowego: 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ść początkowa: 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 dostępna 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 może; podczas sprawdzanie i zmieniania wartości S nie może nastąpić przerwanie.

16 Przykłady zastosowań 1. Problem sekcji krytycznej przy n procesach: wspólny semafor wzajwy (wzajemne wyłączanie), początkowa wartość wzajwy=1, każdy proces Pi jest zorganizowany: repeat czekaj(wzajwy); sekcja krytyczna sygnalizuj(wzajwy); reszta until false;

17 2. Synchronizacja wykonywania procesów np. zapewnienie wymaganej kolejności wykonania instrukcji w różnych procesach: współbieżne procesy P1 z instrukcją S1, oraz P2 z instr. S2 wymagane wykonanie S2 po wykonaniu S1. Rozwiązanie: Inicjacja wspólnej zmiennej semafor: synch, wartość początkowa synch = 0, dołączenie instrukcji w procesie P1:. S1; sygnalizuj(synch);. w procesie P2:. czekaj(synch); S2;

18 Problem aktywnego czekania, wirującej blokady Procesy stojące pod semaforem wykonują pętle instrukcji - aktywne czekanie. Sposób rozwiązania: Definicja semafora nie wymagająca konieczności 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 każdy 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 pośrednictwem n buforów do procesu konsument. Każdy bufor mieści 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) między kilka współbieżnych procesów. Niektóre procesy będą tylko czytać (czytelnicy), inne mogą uaktualniać (czytać i pisać - pisarze). Problem zagwarantowania wyłączności dostępu pisarzy do obiektu. Najprostszy wariant: żaden czytelnik nie powinien czekać, chyba, że pisarz uzyskał dostęp.

22 Próba rozwiązania: procesy czytelników dzielą zmienne: var wzjawy, pis: semafor; liczp: integer; wartości początkowe: 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 posilających się filozofów Dane dzielone: var pałeczka: array[0..4] of semafor; wartości początkowe = 1. Przykład prostego rozwiązania: pałeczka semafor próba podniesienia pałeczki - operacja czekaj odłożenie pałeczki - operacja sygnalizuj i 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]); myślenie until false;

24 Implementacja semafora zliczającego S przy pomocy semaforów binarnych Deklaracje: semafor_binarny S1, S2; int C; Wartości początkowe: S1 = 1, S2 = O, zmiennej całkowita C = wartość początkowa semafora zliczającego S Implementacja operacji wait semafora zliczającego S: wait(s1); C--; if (C < O) { signal(s1); wait(s2); } signal(s1); Operacja signal semafora zliczającego S: wait(s1); C++; if (C <= O) signal(s2); else signal(s1);

25 Konstrukcje synchronizacji w językach wysokiego poziomu Regiony krytyczne Specjalna deklaracja zmiennej v typu T dzielonej przez wiele procesów: var v: shared T; zmienna v dostępna jest tylko w obrębie specjalnej instrukcji region: region v do S; Przykład: dwa procesy współbieżne P 0, P 1, zawierające 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 początkowy: v_wzajwy:=1; 2. Dla każdej 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 dostępna jest w instrukcji: region v when B do S; gdzie B jest wyrażeniem boolowskim. Przykład ograniczonego buforowania Deklaracje: var bufor: shared record pula: array[0..n-1] of jednostka; licznik, we, wy: integer; end; Wartości początkowe: 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 wartości określają stan monitora), oraz procedury lub funkcje realizujące działania na monitorze. Konstrukcja monitora gwarantuje, że w jego wnętrzu może 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 określony jako typ w rozumieniu programowania obiektowego: zarówno struktura danych i zbiór określonych na niej działań.

29 KOMUNIKACJA MIĘDZY PROCESAMI Wprowadzenie Dwa uzupełniające się schematy komunikacji: pamięć dzielona - procesy współużytkują pewne zmienne system komunikatów - wymiana komunikatów między procesami bez użycia zmiennych dzielonych. Podstawowe operacje komunikacji między procesami: nadaj(komunikat) odbierz(komunikat) Zagadnienia dotyczące ustanowienia łącza Zagadnienia logicznej implementacji łącza

30 OKREŚLENIE NADAWCÓW I ODBIORCÓW Komunikacja bezpośrednia proces nadający (lub odbierający) komunikat jawnie określa odbiorcę (lub nadawcę) Cechy łącza: ustanawiane automatycznie między dwoma procesami na podstawie ich identyfikatorów dotyczy dokładnie dwóch procesów, jest dla każej pary procesów tylko jedno, jest dwukierunkowe

31 (Komunikacja bezpośrednia - kontynuacja) Definicja podstawowych operacji: nadaj(p, komunikat), gdzie P jest odbiorcą odbierz(q, komunikat), gdzie Q jest nadawcą Przykład rozwiązania 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 pośrednia 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 między procesami, gdy dzielą skrzynkę pocztową, może dotyczyć więcej niż dwóch procesów, każda para procesów może mieć kilka różnych łączy, może być jedno lub dwukierunkowe

33 Różne rozwiązania systemowe dotyczące: własności skrzynki (procesu lub systemu operacyjnego), tworzenia skrzynki, nadawania i odbierania komunikatów, usuwania skrzynki. Zagadnienia buforowania Pojemność łącza tylko określona liczba komunikatów może w nim przebywać, kolejka komunikatów przyporządkowanych do łącza. Sposoby implementacji kolejki pojemność łącza pojemność zerowa pojemność ograniczona pojemność nieograniczona

34 Przykłady działań w sytuacjach wyjątkowych Zakończenie procesu biorącego udział w komunikacji Utrata komunikatów Zniekształcenie komunikatów

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

E-I-0006-s3. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

E-I-0006-s3. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu E-I-0006-s3 Nazwa modułu Systemy operacyjne 1 Nazwa modułu w języku angielskim Operating

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

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

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

Monitory. Jarosław Kuchta

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

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

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

Bardziej szczegółowo

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

Zagadnienia zaawansowane. Lech Kru, (SO2) WIELODOSTPNE SYSTEMY OPERACYJNE II INFORMACJA O SPECJALIZACJI SIECI KOMPUTEROWE KOORDYNACJA PROCESÓW 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

Bardziej szczegółowo

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia 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

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 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

E-1IZ2-06-s4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

E-1IZ2-06-s4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu E-1IZ2-06-s4 Nazwa modułu Systemy operacyjne 1 Nazwa modułu w języku angielskim Operating

Bardziej szczegółowo

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Systemy operacyjne 1 Nazwa modułu w języku angielskim Operating systems 1

Bardziej szczegółowo

Systemy operacyjne. Zajęcia 11. Monitory

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

Bardziej szczegółowo

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

Synchronizacja procesów

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

Bardziej szczegółowo

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

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

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

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

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

SOP2 - semafory. grudzień

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

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

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

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Mechanizm synchronizacji wątków/procesów Wykorzystanie semaforów zapobiega niedozwolonemu wykonaniu

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

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

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Modelowanie procesów współbieżnych

Modelowanie procesów współbieżnych Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie... Literatura M.

Bardziej szczegółowo

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Rodzaj przedmiotu

Bardziej szczegółowo

KARTA KURSU. Systemy operacyjne

KARTA KURSU. Systemy operacyjne KARTA KURSU Nazwa Nazwa w j. ang. Systemy operacyjne Operating systems Kod Punktacja ECTS* 5 Koordynator dr inż. Grzegorz Sokal Zespół dydaktyczny: prof. dr hab. Bartłomiej Pokrzywka dr inż. Muchacki Mateusz

Bardziej szczegółowo

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA SYSTEMY OPERACYJNE PROWADZI: dr inż. Jarosław Bilski Katedra Inżynierii Komputerowej Politechnika Częstochowska Wykład dla kierunku Informatyka 2 ZAJĘCIA: Obowiązkowe Wykład Laboratorium 2 godziny tygodniowo

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

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 Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć Systemy Wbudowane Kod przedmiotu: SW Rodzaj przedmiotu: kierunkowy ; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil studiów:

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

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr /2 z dnia 2 lutego 22r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 22/23 EiT_S_I_AiSOK

Bardziej szczegółowo

OPERACJE NA PLIKACH. Podstawowe pojęcia:

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Architektura komputerów II - opis przedmiotu

Architektura komputerów II - opis przedmiotu Architektura komputerów II - opis przedmiotu Informacje ogólne Nazwa przedmiotu Architektura komputerów II Kod przedmiotu 11.3-WI-INFP-AK-II Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki

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

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows. Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,

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

Sieci komputerowe - opis przedmiotu

Sieci komputerowe - opis przedmiotu Sieci komputerowe - opis przedmiotu Informacje ogólne Nazwa przedmiotu Sieci komputerowe Kod przedmiotu 11.3-WK-IiED-SK-L-S14_pNadGenWRNH5 Wydział Kierunek Wydział Matematyki, Informatyki i Ekonometrii

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

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

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:

Bardziej szczegółowo

Programowanie Równoległe i Rozproszone

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

Bardziej szczegółowo

WSTĘP DO INFORMATYKI. SYLABUS A. Informacje ogólne

WSTĘP DO INFORMATYKI. SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod przedmiotu Język przedmiotu WSTĘP DO INFORMATYKI. SYLABUS A. Informacje

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/semestr 2(rok)/(sem) Specjalność Bez specjalności Kod katedry/zakładu w systemie USOS 10000000

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje

Bardziej szczegółowo

Rok akademicki: 2016/2017 Kod: IIN s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2016/2017 Kod: IIN s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Systemy operacyjne Rok akademicki: 2016/2017 Kod: IIN-1-403-s Punkty ECTS: 5 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Specjalność: - Poziom studiów: Studia

Bardziej szczegółowo