ezykach wysokiego poziomu (Dijkstra, 1965). semaphore semaphore S; Operacje na semaforze:
|
|
- Dagmara Kaczmarczyk
- 6 lat temu
- Przeglądów:
Transkrypt
1 c Wies law P laczek 18 5 Semafory 5.1 Poj ecia ogólne Semafor pierwszymechanizmsynchronizacyjnywj ezykach wysokiego poziomu (Dijkstra 1965). semaphore semaphore S; Operacje na semaforze: abstrakcyjny typ danych; zmienna S jest semaforem. podniesienie (zwolnienie) semafora: V (hol. vrijmaken) opuszczenie (zaj ecie) semafora: P (hol. passeren). Poniżej podajemy tzw. definicje praktyczne postawowych rodzajów semaforów. (i) Semafor ogólny (licz acy) S zmienna ca lkowita nieujemna. P (S): jeśli S>0 to S := S 1 w przeciwnym razie wstrzymaj dzia lanie procesu wykonuj acego t eoperacj e. V (S): jeśli s aprocesywstrzymanewwynikuoperacjiopuszczaniasemaforas to wznów jeden z nich w przeciwnym razie S := S +1. (ii) Semafor binarny S =0/1 (false/true). Operacje: PB(S) VB(S). Uwaga: Semafor binarny nie pami eta liczby wykonanych operacji VB; czasem przyjmuje si e że VB(S =1)! b l ad! (iii) Semafor dwustronnie ograniczony 0 apple S apple N PD(S) VD(S) opuszczanie podnoszenie symetryczne tzn. VD(S = N) dzia lajakpd(s =0). (iv) Semafor uogólniony Zmiana S odowoln aliczb enaturaln a n. PG(S n): jeśli S n tos := S n wprzeciwnymraziewstrzymajdzia lanie procesu wykonuj acego t eoperacj e. VG(S n): jeśli s aprocesywstrzymanewwynikuwykonywaniaoperacjipg(s m) przy czym m apple S + n towznówjedenznichis := S m + n wprzeciwnym razie S := S +1.
2 c Wies law P laczek 19 PRZYK LAD: Wzajemne wykluczanie Zadanie zsynchronizowania procesów wymagaj acych wy l acznego dost epu do pewnego zasobu dzielonego (fragment procesu w którym korzysta on z zasobu dzielonego nazywa si e sekcj a krytyczn a tego procesu). binary semaphore S = 1; /* Semafor binarny do synchronizacji procesow */ /* Proces P_i */ do { /* Wlasne sprawy */ PB(S); /* Sekcja krytyczna */ VB(S); /* Reszta */ } while (1); 5.2 Semafory w Uniksie: System V Podstawowe w lasności Operacje P i V typu: P (S n) iv (S n) tzn. semafor uogólniony. Operacja Z(S): Wstrzymanie dzia lania procesu do momentu aż S b edzie równe zeru. Wykonanie Z(S) nie zmienia wartości semafora. Jeśli S =0towznawianes a wszystkie procesy wstrzymane przez Z(S).! Jest to tzw. bariera mechanizmsynchronizacyjnystosowanycz esto dla w atków w procesorach graficznych (GPU). Nieblokuj ace operacje P i Z: np i nz Jeśli proces nie może natychmiast wykonać ż adanej operacji to rezygnuje z jej wykonania a odpowiednia funkcja sygnalizuje o porażce. Jednoczesne (wektorowe) operacje semaforowe: W Uniksie można wykonywać jednocześnie operacje na wielu semaforach przy czym każda z nich może być inna. a) Jeśli żadna z operacji nie jest operacj anieblokuj ac a to wykonanie operacji jednoczesnej zakończy si edopierowtedygdyb edzie można wykonać wszystkie operacje sk ladowe. b) Jeżeli chociaż jedn azoperacjisk ladowychjestoperacjanieblokuj aca (np lub nz) to ca la operacja jest również nieblokuj aca. Przy czym jeżeli chociaż jedna z operacji sk ladowych nie może być wykonana natychmiast to żadna z operacji nie jest wykonywana a odpowiednia funkcja sygnalizuje o porażce.
3 c Wies law P laczek 20! Zapis przyk lady: [V(S1)P(S23)Z(S3)] operacja blokuj aca [np(s1)z(s2)v(s32)] operacja nieblokuj aca Funkcje na semaforach: V alue(s) wartość semafora S; W aitp (S) liczba procesów czekaj acych pod semaforem S na wykonanie operacji P ; W aitz(s) liczba procesów czekaj acych pod semaforem S na wykonanie operacji Z Realizacja Wj ezyku C (C++) trzeba w l aczyć pliki nag lówkowe: #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> 1. Zbiory semaforów W Uniksie można tworzyć zbiory semaforów. W każdym zbiorze semafory s aponumerowane kolejnymi liczbami ca lkowitymi nieujemnymi (tzn n). Operacje jednoczesne na kilku semaforach można wykonywać tylko na semaforach należ acych do tego samego zbioru. Do tworzenia lub odwo lywania si e do zbioru semaforów potrzebny jest tzw. klucz b ed acy liczb aca lkowit a. Jak tworzyć jednoznaczne klucze?! Np. przy pomocy funkcji ftok: Pliki w l aczane <sys/types.h> <sys/ipc.h> Prototyp key t ftok(const char *path int id); wartość Wartość klucza 1 Nie path ścieżkowanazwaistniej acego pliku dost epnego procesowi id zwyklepojedynczyznakktóryjednoznacznieidentyfikujeprojekt. Dzia lanie: Woparciuopath i id funkcja ftok zwraca ca lkowitoliczbowy klucz którymoże być użyty do tworzenia lub odwo lywania si edozbiorusemaforów. Np. key t key; key = ftok("." A );
4 c Wies law P laczek 21 Użyteczne komendy: ipcs -s podaje informacj ent.aktywnychsemaforów(patrzman ipcs); ipcs -sl podaje informacj ent.ograniczeńsystemowychdt.semaforów; ipcrm sem semid usuwa zbiór semaforów o numerze semid. 2. Tworzenie (uzyskiwanie dost epu do) zbioru semaforów: semget Pliki w l aczane <sys/types.h> <sys/ipc.h> <sys/sem.h> Prototyp int semget(key t key int nsems int semflg); wartość Identyfikator semafora 1 Tak key klucz do zbioru semaforów (różne procesy które chc akorzystaćztego samego zbioru musz aużyćtegosamegoklucza); nsems liczba semaforów w zbiorze; semflg flaga określaj aca sposób wykonania funkcji i prawa dost epu do semaforów: IPC CREAT utworzenie zbioru semaforów jeśli nie istnieje lub uzyskanie dost epu do istniej acego już zbioru IPC EXCL użyta w po l aczeniu z IPC CREAT zwraca b l ad jeżeli dla danego klucza istnieje już zbiór semaforów Prawa dost epu podobnie jak dla plików np. 0666: możliwość wykonywania wszystkich operacji przez wszystkie procesy (prawo czytania możliwośćodczytustanusemafora prawo pisania możliwość zmiany wartości semafora). Powyższe znaczniki można l aczyć ze sob a sum a bitow a np. IPC CREAT PRZYK LAD: key t key; int semid; key = ftok("." A ); semid = semget(key3ipc CREAT 0666)! Utworzenie zbioru 3 semaforów dla klucza key (lub uzyskanie dost epu do zbioru jeżeli takowy już istnieje) i przypisanie zmiennej semid identyfikatora tego zbioru. 3. Sterowanie semaforami: semctl semid identyfikator zbioru semaforów (zwracany przez semget) semnum numer semafora w zbiorze cmd kod polecenia arg parametry polecenia.
5 c Wies law P laczek 22 Pliki w l aczane Prototyp <sys/types.h> <sys/ipc.h> <sys/sem.h> int semctl(int semid int semnum int cmd /* union semun arg */...); wartość 0lubwartośćż adana przez cmd 1 Tak #ifdef _SEM_SEMUN_UNDEFINED union semun { int val; /* wartosc dla SETVAL */ struct semid_ds *buf; /* bufor dla IPC_STAT IPC_SET */ unsigned short *array; /* tablica dla GETALL SETALL */ struct seminfo * buf; /* bufor dla IPC_INFO (specyfika Linuksa) */ }; #endif Wstarszychwersjachbibliotekiglibc unia semun by la zdefiniowana w pliku nag lówkowym <sys/sem.h> alewnowych stosuj acych si edostandarduposix wymagana jest definicja tej unii przez użytkownika. Tam gdzie unia semun jest niedost epna zdefiniowane jest makro SEM SEMUN UNDEFINED. Dlategoprzydefiniowaniu tej unii w swoim programie dobrze jest zastosować dyrektyw epreprocesora jak w powyższym przyk ladzie. Polecenia cmd (ważniejsze): SETVAL zainicjowanie semafora o numerze semnum wartości aprzekazan aprzypomocy zmiennej arg.val SETALL zainicjowanie wszystkich semaforów w zbiorze wartościami przekazanymi przy pomocy tablicy arg.array GETVAL odczytanie wartości semafora o numerze semnum GETNCNT odczytanie liczby procesów czekaj acych na podniesienie semafora o numerze semnum (wstrzymanych przez P (S)) GETZCNT odczytanie liczby procesów czekaj acych na opuszczenie semafora o numerze semnum (wstrzymanych przez Z(S)) IPC RMID usuni ecie danego zbioru semaforów. 4. Operacje na semaforach: semop Pliki w l aczane <sys/types.h> <sys/ipc.h> <sys/sem.h> Prototyp int semop(int semid struct sembuf *sops size t nsops); wartość 0 1 Tak
6 c Wies law P laczek 23 semid identyfikator zbioru semaforów sops wskaźnik do tablicy struktur określaj acej operacje na zbiorze semaforów nsops liczba semaforów (elementów tablicy) na których ma być wykonana operacja. struct sembuf { ushort sem_num; /* numer semafora w zbiorze */ short sem_op; /* rodzaj operacji na semaforze */ ushort sem_flg; /* znacznik operacji */ }; Operacje: Znaczniki: 8 < > 0: operacja V(sem num sem op) sem op < 0: operacja P(sem num sem op) : =0: operacja Z(sem num). 0 : operacja blokuj aca sem flg = IPC NOWAIT : operacja nieblokuj aca. Powyższe znaczniki można l aczyć sum abitow azeznacznikiemsem UNDO. Jeżeli znacznik ten jest ustawiony to system utrzymuje dodatkowo dla procesu specjalny licznik undo wktórymzapami etywane s aoperacjewykonywaneprzeztenproces na danym semaforze. Daje to systemowi możliwość cofni ecia operacji semaforowych wykonanych przez proces który zakończy l si eniepowodzeniem. Mechanizmten pozwala unikać zakleszczeń powodowanych przez niew laściwe zakończenie procesu korzystaj acego z semaforów. Niektóre przyczyny porażki: (i) Przynajmniej jedna z operacji sk ladowych operacji wektorowej jest nieblokuj aca aoperacjiniemożnawykonaćnatychmiast. (ii) Operacja V (S) spowodowa labyprzekroczeniegórnegoograniczeniawartościsemafora. Wnowszychwersjachsystemówuniksowych(np.wLinuksieodwersjij adra 2.6) dost epne s asemaforydlaprocesówiw atków standardu POSIX. Maj aoneprostszyiwygodniejszy interfejs niż semafory Systemu V ale s aodnichmniejuniwersalneis labiej rozpowszechnione. Szczegó ly na ich temat można znaleźć w man sem overview.
7 c Wies law P laczek 24 ĆWICZENIE 6: Wzajemne Wykluczanie dla Procesów: Semafory Przy pomocy semaforów Systemu V UNIX zaimplementować zadanie wzajemnego wykluczania dla procesów. Czas operacji na wspólnym zasobie symulować używaj ac np. funkcji sleep. Dla demonstracji poprawności dzia lania programu użyć odpowiednich komunikatów wypisywanych przez poszczególne procesy przed w trakcie i po sekcji krytycznej oraz funkcji podaj acych stan semafora i liczb e procesów pod nim czekaj acych. Pami etać o zainicjowaniu semafora odpowiedni awartości a zaraz po jego utworzeniu. Stworzyć w lasn a bibliotek e prostych w użyciu funkcji do: tworzenia uzyskiwania dost epu inicjowania sterowania operowania i usuwania semaforów (korzystaj acych z odpowiednich funkcji systemowych ale ukrywaj acych ich szczegó ly techniczne). Napisać specjalny program do powielania procesów realizuj acych wzajemne wykluczanie w oparciu o funkcje fork i exec (nazw e programu do inicjowania procesów oraz liczb e procesów można przekazywać przez argumenty programu powielacza ). Program ten powinien na pocz atku utworzyć i zainicjować semafor a na końcu go usun ać (kiedy wszystkie jego procesy potomne zakończ aswojedzia lanie).
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie piąte (jedne zajęcia) Temat: Semafory Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski Wprowadzenie 1. Semafory
Mechanizmy z grupy IPC
Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład
Temat zajęć: Mechanizmy IPC: semafory
Temat zajęć: Mechanizmy IPC: semafory Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zasada działania semaforów binarnych i uogólnionych, tworzenie semaforów,
problemu producenta i konsumenta z ograniczonym buforem cyklicznym. Wszystkie funkcje dotyczace
37 5 Mechanizmy IPC Mechanizmy IPC (ang. Interprocess Communication) obejmuja pamieć wspó ldzielona, semafory i kolejki komunikatów. Semafory sa raczej mechanizmem synchronizacji, niż komunikacji procesów.
aodczytywać zniegoza pomoc afunkcjiread, (niebuforowane funkcje wejścia/wyjścia). e sukcesem, to zwróci liczb, erzeczywiściezapisanychbajtów.
c Wies law P laczek 15 4 Potoki 4.1 Wprowadzenie Potok (ang. pipe) możnauznaćzaplikspecjalnegotypuktórys lużydoprzechowywania ograniczonej ilości danych i do którego dost ep może si eodbywaćjedyniewtrybie
Systemy Operacyjne Ćwiczenia
Systemy Operacyjne Ćwiczenia Wies law P laczek Wydzia l Fizyki, Astronomii i Informatyki Stosowanej, Uniwersytet Jagielloński ul. Reymonta 4, 30-059 Kraków 4 lutego 2009 Streszczenie Praca ta zawiera materia
przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna zwraca wartość 1(czasamiNULL) iprzypisujezmiennej zewn etrznej,
c Wies law P laczek 3 1 Obs luga b l edów Wwi ekszości przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna kończ ac si e b l edem zwraca 1(czasamiNULL) iprzypisujezmiennej zewn
eć dzielona standardu POSIX
c Wies law P laczek 25 6 Pami eć dzielona standardu POSIX 6.1 Wprowadzenie Pami eć dzielona inaczej wspólna (ang. shared memory) jestzasobemumożliwiaj acym najszybszy sposób komunikacji mi edzy procesami
Krótki kurs programowania współbieżnego (2)
Krótki kurs programowania współbieżnego (2) Procesy i sygnały w języku C (to było ostatnio) Wspólny dostęp do plików (to też) Semafory i pamięć dzielona Inne metody komunikowania Kurs systemu UNIX 1 Dzielenie
Semafor ustaw_semafor(key_t nazwa, int start); Semafor usun_semafor(semafor sem); void signal(semafor sem); void wait(semafor sem);
Semafory przypomnienie semafory służą ochronie dostępu procesów do sekcji krytycznej; na semaforach dostępne są dwie operacje: podniesienie semafora signal, opuszczenie semafora wait opuszczony semafor
IPC: Kolejki komunikatów
IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat
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
Temat zajęć: Mechanizmy IPC: kolejki komunikatów.
Temat zajęć: Mechanizmy IPC: kolejki komunikatów. Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie kolejek komunikatów, wysyłanie i odbieranie komunikatów,
1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu:
6 Pamięć współdzielona 6.1 Dostęp do pamięci współdzielonej 1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu: #include #include #include #include
Równoleg le sortowanie przez scalanie
Równoleg le sortowanie przez scalanie Bartosz Zieliński 1 Zadanie Napisanie programu sortuj acego przez scalanie tablicȩ wygenerowanych losowo liczb typu double w którym każda z procedur scalania odbywa
Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology
Funkcje Piotr Zierhoffer Institute of Computer Science Poznań University of Technology 7 października 2012 Funkcje Funkcja podprogram. Nazwany blok kodu realizujacy jakieś zadanie. sin(x), arccos(x), min(a,
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
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
Mechanizmy z grupy IPC
Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład
Programowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny
Pamięć współdzielona
Pamięć współdzielona Systemy Operacyjne 2 Piotr Zierhoffer 17 listopada 2011 Mechanizmy IPC IPC Inter Process Communication kolejki komunikatów, pamięć współdzielona semafory polecenia bash: ipcs, ipcrm
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
J. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 9. Komunikacja przez pamięć dzieloną Metoda komunikacji przez wspólną pamięć może być użyta gdy procesy wykonywane są na maszynie jednoprocesorowej
SYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
4.2 Sposób korzystania z l acza
4.2 Sposób korzystania z l acza 31 Opis programu: Program procesu potomnego (linie 16 19) jest taki sam, jak w przyk ladzie na listingu 3. W procesie macierzystym nastepuje z kolei przekierowanie standardowego
WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy. Wykład 4 strona 1/24
WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy Wykład 4 strona 1/24 Ilustracja 5. Schemat problemu czytelników i pisarzy Wykład 4 strona 2/24 Opis problemu: Jest n czytelników,
Programowanie Współbieżne. Komunikacja między procesowa IPC
Programowanie Współbieżne Komunikacja między procesowa IPC IPC W systemie V są 3 rodzaje komunikacji między procesowej. kolejki komunikatów semafory pamięć wspólna IPC plik nagłówkowy funkcja systemowa
Funkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Funkcje systemowe
Funkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan 1 Wstęp 2 Pliki 3 Procesy 4 Łacza 5 Mechanizmy IPC 6 Sygnały Funkcje jadra systemu operacyjnego UNIX 29 września 2009
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Funkcje systemu Unix
Funkcje systemu Unix Witold Paluszyński witold@ict.pwr.wroc.pl http://sequoia.ict.pwr.wroc.pl/ witold/ Copyright c 2002 2005 Witold Paluszyński All rights reserved. Niniejszy dokument zawiera materia ly
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych IPC Systemu V laboratorium: 08 Kraków, 2014 08. Programowanie Usług Sieciowych
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie czwarte (dwa zajęcia) Temat: Komunikacja IPC kolejki komunikatów Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski
z powielaniem wielu struktur danych oraz komunikacja
c Wies law P laczek 28 8 Watki 8.1 Wprowadzenie Wiele rozwiazywanych problemów można podzielić na zadania czastkowe, które daja sie wykonać niemal niezależnie. Każde z takich zadań można by powierzyć oddzielnemu
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 1 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
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
Rozdzia l 3. Laboratorium 3. danych zawierajac
Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice
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
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
Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot
Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji
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,
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ą
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010
R. Rȩbowski 1 WPROWADZENIE Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010 1 Wprowadzenie Powszechnie uważa siȩ, że metoda simplex, jako uniwersalny algorytm pozwalaj acyznaleźć rozwi azanie optymalne
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
Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera
Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera Określenie podpierścienia Definicja 9.. Podpierścieniem pierścienia (P, +,, 0, ) nazywamy taki podzbiór A P, który jest pierścieniem ze wzgledu
Semafory w systemie Unix
Semafory w systemie Unix Pakiet IPC wprowadzony w Uniksie Systemu V UR]SRZV]HFKQLáVL ZNROHMQ\FKZDULDQWDFK8QLNVDWDN HZ wydaniach BSD) 8GRVW SQLDWU]\PHFKDQL]P\: kolejki komunikatów semafory VHJPHQW\SDPL
przerwany proces móg l zareagować na określone zdarzenie. Można je traktować jako software owe wersje przerwań sprz etowych.
c Wies law P laczek 9 3 Sygna ly 3.1 Opis sygna lów Najprostsz ametod akomunikacjimi edzyprocesowej w systenie UNIX s sygna ly. Umożliwiaj aoneasynchroniczne przerwanie dzia lania procesu przez inny proces
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Pierwiastki arytmetyczne n a
Chapter 1 Pierwiastki arytmetyczne n a Operacja wyci aganie pierwiastka stopnia n z liczby a jest odwrotn a operacj a do potȩgowania, jeżeli operacja odwrotna jest wykonalna w liczbach rzeczywistych. Zacznijmy
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
Systemy Operacyjne - Operacje na plikach
Systemy Operacyjne - Operacje na plikach Andrzej Stroiński Institute of Computer Science Poznań University of Technology 1 październik, 2012 Wprowadzenie do ANSI-C Pomoc systemowa man gcc man 2 write man
Futex (Fast Userspace Mutex) Łukasz Białek
Futex (Fast Userspace Mutex) Łukasz Białek Futex informacje podstawowe Stworzony w 2002 roku przez Hubertusa Franke, Matthew Kirkwooda, Ingo Molnára i Rustiego Russella. Jest mechanizmem w Linuxie, który
Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.
Procesy Proces (zwany też zadaniem) jest jednostką aktywną, kontrolowaną przez system operacyjny i związaną z wykonywanym programem. Proces ma przydzielone zasoby typu pamięć (segment kodu, segment danych,
Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
KOLEJKI KOMUNIKATÓW IPC
z przedmiotu, prowadzonych na Wydziale BMiI, Akademii Techniczno-Humanistycznej w Bielsku-Białej. Współbieżność procesów (czy wątków) wiąże się często z potrzebą okresowej (asynchronicznej) wymiany komunikatów.
SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:
SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ Ewa Madalińska na podstawie prac: [1] Lukaszewicz,W. (1988) Considerations on Default Logic: An Alternative Approach. Computational Intelligence, 44[1],
Grupy i cia la, liczby zespolone
Rozdzia l 1 Grupy i cia la, liczby zespolone Dla ustalenia uwagi, b edziemy używać nast epuj acych oznaczeń: N = { 1, 2, 3,... } - liczby naturalne, Z = { 0, ±1, ±2,... } - liczby ca lkowite, W = { m n
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Programowanie w ANSI C z wykorzystaniem funkcji jądra systemu UNIX/Linux
1 Programowanie w ANSI C z wykorzystaniem funkcji jądra systemu UNIX/Linux Programowanie Współbieżne (dawniej Systemy Operacyjne II) Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika
WYK LAD 2: PODSTAWOWE STRUKTURY ALGEBRAICZNE, PIERWIASTKI WIELOMIANÓW, ROZK LAD FUNKCJI WYMIERNEJ NA U LAMKI PROSTE
WYK LAD 2: PODSTAWOWE STRUKTURY ALGEBRAICZNE, PIERWIASTKI WIELOMIANÓW, ROZK LAD FUNKCJI WYMIERNEJ NA U LAMKI PROSTE Definicja 1 Algebra abstrakcyjna nazywamy teorie, której przedmiotem sa dzia lania na
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
1. Procesy i współbieżność
1. Procesy i współbieżność Opracował: Sławomir Samolej Politechnika Rzeszowska, Katedra Informatyki i Automatyki, Rzeszów, 2013. 1.1. Wprowadzenie Proces to przestrzeń adresowa i pojedynczy wątek sterujący,
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
Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.
Plan wyk ladu Systemy liczbowe Poznań, rok akademicki 2008/2009 1 Plan wyk ladu 2 Systemy liczbowe Systemy liczbowe Systemy pozycyjno-wagowe y 3 Przeliczanie liczb Algorytm Hornera Rozwini ecie liczby
Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie
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;
w odróżnieniu od procesów współdzielą przestrzeń adresową mogą komunikować się za pomocą zmiennych globalnych
mechanizmy posix Wątki w odróżnieniu od procesów współdzielą przestrzeń adresową należą do tego samego użytkownika są tańsze od procesów: wystarczy pamiętać tylko wartości rejestrów, nie trzeba czyścić
2x test: 25% projekt: 40% inne (zadania domowe, aktywno± ): 10% 51-60% dst 61-70% dst % db 81-90% db % bdb. 1 Zasady zaliczenia:
Organizacja zaj 1 Zasady zaliczenia: 2 Zaliczenie 2x test: 25% projekt: 40% inne (zadania domowe, aktywno± ): 10% 51-60% dst 61-70% dst+ 71-80% db 81-90% db+ 91-100% bdb 3 Dozwolone nieobecno±ci: 2 [1/104]
Wyk lad 3 Wyznaczniki
1 Określenie wyznacznika Wyk lad 3 Wyznaczniki Niech A bedzie macierza kwadratowa stopnia n > 1 i niech i, j bed a liczbami naturalnymi n Symbolem A ij oznaczać bedziemy macierz kwadratowa stopnia n 1
MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie
1 MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś Wprowadzenie Istniej a dwa różne kryteria mówi ace, które narzȩdzia matematyczne należy zaliczyć do matematyki dyskretnej. Pierwsze definiuje matematykȩ
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.
Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).
Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ
Zak lad Chemii Teoretycznej UJ 26 listopada 2007 wielowymiarowe 1 2 wielowymiarowe 3 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
pami eć operacyjna przechowuje dane do przetworzenia, tymczasowe dane pomocnicze,
16 3 Procesy 3 Procesy Pojecie procesu jest kluczowe dla zrozumienia funkcjonowania wielozadaniowych systemów operacyjnych. Trudność w zrozumieniu tego pojecia i tym samym zg lebienie mechanizmu obs lugi
Wyk lad 5 W lasności wyznaczników. Macierz odwrotna
Wyk lad 5 W lasności wyznaczników Macierz odwrotna 1 Operacje elementarne na macierzach Bardzo ważne znaczenie w algebrze liniowej odgrywaja tzw operacje elementarne na wierszach lub kolumnach macierzy
Języki i paradygmaty programowania
Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja
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,
Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ
Jeszcze o funkcjach i strukturze projektu Zak lad Chemii Teoretycznej UJ 3 grudnia 2008 1 2 3 4 5 typedef Plan typedef specyfikator typu nazwa S luży do stworzenia nowej nazwy dla jakiegoś typu. Nazwa
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
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
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2016/2017 Outline Moduły i bariery abstrakcji 1 Moduły i bariery abstrakcji Moduły co to jest i po co to jest? Duży system dzielimy na mniejsze, łatwiejsze
Kolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:
Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Opis podstawowych funkcji PC- SHELLa
Opis podstawowych funkcji PC- SHELLa addfact - instrukcja addfact umożliwia utworzenie i dodanie faktu do bazy wiedzy - w sposób dynamiczny - podczas wykonywania programu z bloku control. neditbox - Instrukcja
Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak
Multiprocessor Shared-Memory Information Exchange Damian Klata, Adam Bułak Wstęp Zajmiemy się analizą protokołu opartego na komunikacji przez pamięć dzieloną opracowany przez firmę Westinghouse. Protokół
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
Temat zajęć: Tworzenie i obsługa wątków.
Temat zajęć: Tworzenie i obsługa wątków. Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie wątków, przekazywanie parametrów do funkcji wątków i pobieranie
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą