Klasyczne problemy synchronizacji
|
|
- Maksymilian Kulesza
- 7 lat temu
- Przeglądów:
Transkrypt
1 Klasyczne problemy synchronizacji Systemy Operacyjne 2 laboratorium Mateusz Hołenko 19 grudnia 2011
2 Plan zajęć 1 Synchronizacja 2 Problem producenta / konsumenta 3 Problem pięciu filozofów 4 Problem czytelników i pisarzy Mateusz Hołenko Klasyczne problemy synchronizacji [1/23]
3 Synchronizacja
4 Co to jest synchronizacja? synchronos stgr. równoczesny koordynacja zdarzeń w czasie synchronizacja zegarków aby wskazywały ten sam czas synchronizacja dostępu do danych aby niezależne procesy nie operowały jednocześnie na tym samych danych Mateusz Hołenko Klasyczne problemy synchronizacji [3/23]
5 Co to jest synchronizacja? synchronos stgr. równoczesny koordynacja zdarzeń w czasie synchronizacja zegarków aby wskazywały ten sam czas synchronizacja dostępu do danych aby niezależne procesy nie operowały jednocześnie na tym samych danych Mateusz Hołenko Klasyczne problemy synchronizacji [3/23]
6 Co to jest synchronizacja? synchronos stgr. równoczesny koordynacja zdarzeń w czasie synchronizacja zegarków aby wskazywały ten sam czas synchronizacja dostępu do danych aby niezależne procesy nie operowały jednocześnie na tym samych danych Mateusz Hołenko Klasyczne problemy synchronizacji [3/23]
7 Co to jest synchronizacja? synchronos stgr. równoczesny koordynacja zdarzeń w czasie synchronizacja zegarków aby wskazywały ten sam czas synchronizacja dostępu do danych aby niezależne procesy nie operowały jednocześnie na tym samych danych Mateusz Hołenko Klasyczne problemy synchronizacji [3/23]
8 Cele synchronizacji zapobieganie anomaliom jednoczesnego dostępu utracony zapis odczyt danych pośrednich wyścig w dostępie do zasobów zapewnienie poprawnego przeplotu operacji różnych procesów jednoczesne uruchamianie wielu procesów (np. testy wydajnościowe oprogramowania) Mateusz Hołenko Klasyczne problemy synchronizacji [4/23]
9 Cele synchronizacji zapobieganie anomaliom jednoczesnego dostępu utracony zapis odczyt danych pośrednich wyścig w dostępie do zasobów zapewnienie poprawnego przeplotu operacji różnych procesów jednoczesne uruchamianie wielu procesów (np. testy wydajnościowe oprogramowania) Mateusz Hołenko Klasyczne problemy synchronizacji [4/23]
10 Cele synchronizacji zapobieganie anomaliom jednoczesnego dostępu utracony zapis odczyt danych pośrednich wyścig w dostępie do zasobów zapewnienie poprawnego przeplotu operacji różnych procesów jednoczesne uruchamianie wielu procesów (np. testy wydajnościowe oprogramowania) Mateusz Hołenko Klasyczne problemy synchronizacji [4/23]
11 Problem producenta / konsumenta
12 Opis problemu magazyn o ograniczonym rozmiarze N bufor cykliczny proces producenta wytwarzającego produkty (P ) wytworzone produkty umieszczane są w magazynie nie można umieszczać w pełnym magazynie proces konsumenta wykorzystującego produkty (C) produkty pobierane są z magazynu nie można pobierać z pustego magazynu Mateusz Hołenko Klasyczne problemy synchronizacji [6/23]
13 Opis problemu magazyn o ograniczonym rozmiarze N bufor cykliczny proces producenta wytwarzającego produkty (P ) wytworzone produkty umieszczane są w magazynie nie można umieszczać w pełnym magazynie proces konsumenta wykorzystującego produkty (C) produkty pobierane są z magazynu nie można pobierać z pustego magazynu Mateusz Hołenko Klasyczne problemy synchronizacji [6/23]
14 Opis problemu magazyn o ograniczonym rozmiarze N bufor cykliczny proces producenta wytwarzającego produkty (P ) wytworzone produkty umieszczane są w magazynie nie można umieszczać w pełnym magazynie proces konsumenta wykorzystującego produkty (C) produkty pobierane są z magazynu nie można pobierać z pustego magazynu Mateusz Hołenko Klasyczne problemy synchronizacji [6/23]
15 Model const int N; Product buffer[n]; Semaphore empty = 0; Semaphore full = N; int next2read = 0; int next2write = 0; N rozmiar bufora (magazynu) buffer bufor cykliczny empty semafor full semafor next2read następna komórka bufora do odczytu next2write następna komórka bufora do zapisu Mateusz Hołenko Klasyczne problemy synchronizacji [7/23]
16 Model const int N; Product buffer[n]; Semaphore empty = 0; Semaphore full = N; int next2read = 0; int next2write = 0; N rozmiar bufora (magazynu) buffer bufor cykliczny empty semafor full semafor next2read następna komórka bufora do odczytu next2write następna komórka bufora do zapisu Mateusz Hołenko Klasyczne problemy synchronizacji [7/23]
17 Producent while(true) { Product elem = CreateProduct(); P(empty); buffer[next2write] = elem; next2write = (next2write + 1) % N; V(full); } Producent tworzy produkt (potencjalnie długotrwała operacja, więc nie powinna być wykonywana w sekcji krytycznej), następnie opuszcza semafor empty. Sygnalizuje on tym samym zmniejszenie ilości dostępnych wolnych miejsc w magazynie o 1. Następnie umieszcza nowoutworzony produkt w magazynie i przesuwa wskaźnik wolnego miejsca na kolejne pole. W końcu podnosi semafor full dając znak konsumentowi, że w magazynie dostępny jest nowy produkt do pobrania. Mateusz Hołenko Klasyczne problemy synchronizacji [8/23]
18 Producent while(true) { Product elem = CreateProduct(); P(empty); buffer[next2write] = elem; next2write = (next2write + 1) % N; V(full); } Producent tworzy produkt (potencjalnie długotrwała operacja, więc nie powinna być wykonywana w sekcji krytycznej), następnie opuszcza semafor empty. Sygnalizuje on tym samym zmniejszenie ilości dostępnych wolnych miejsc w magazynie o 1. Następnie umieszcza nowoutworzony produkt w magazynie i przesuwa wskaźnik wolnego miejsca na kolejne pole. W końcu podnosi semafor full dając znak konsumentowi, że w magazynie dostępny jest nowy produkt do pobrania. Mateusz Hołenko Klasyczne problemy synchronizacji [8/23]
19 Konsument while(true) { P(full); Product elem = buffer[next2read]; next2read = (next2read + 1) % N; V(empty); Consume(elem); } Konsument opuszcza semafor full, sygnalizując producentowi zmniejszenie ilości produktów w magazynie o 1. Następnie pobiera produkt oraz przesuwa wskaźnik na kolejne pole. Podnosi semafor empty dając znak konsumentowi, że w magazynie dostępny jest nowe puste miejsce na produkt. W końcu wykorzystuje produkt (poza sekcją krytyczną). Mateusz Hołenko Klasyczne problemy synchronizacji [9/23]
20 Konsument while(true) { P(full); Product elem = buffer[next2read]; next2read = (next2read + 1) % N; V(empty); Consume(elem); } Konsument opuszcza semafor full, sygnalizując producentowi zmniejszenie ilości produktów w magazynie o 1. Następnie pobiera produkt oraz przesuwa wskaźnik na kolejne pole. Podnosi semafor empty dając znak konsumentowi, że w magazynie dostępny jest nowe puste miejsce na produkt. W końcu wykorzystuje produkt (poza sekcją krytyczną). Mateusz Hołenko Klasyczne problemy synchronizacji [9/23]
21 Problem wielu producentów / konsumentów Jak sądzisz? Czy zaproponowane rozwiązanie skaluje się dla wielu producentów / konsumentów? Mateusz Hołenko Klasyczne problemy synchronizacji [10/23]
22 Problem wielu producentów / konsumentów Zaproponowane wcześniej rozwiązanie synchronizuje dostęp dwóch klas procesów: produkującego, konsumującego. Brak jednak synchronizacji między procesami należącymi do tej samej klasy! Jak sądzisz? Co należy zrobić aby rozwiązać problem wielu producentów / konsumentów? Mateusz Hołenko Klasyczne problemy synchronizacji [11/23]
23 Problem wielu producentów / konsumentów Należy wprowadzić dodatkową synchronizację! Mutex s = 1; while(true) { Product elem = CreateProduct(); P(empty); P(s); buffer[next2write] = elem; next2write = (next2write + 1) % N; V(s); V(full); } while(true) { P(full); P(s); Product elem = buffer[next2read]; next2read = (next2read + 1) % N; V(s); V(empty); Consume(elem); } Mateusz Hołenko Klasyczne problemy synchronizacji [12/23]
24 Problem pięciu filozofów
25 Opis problemu filozofowie mają proste życie myślą i jedzą żywią się makaronem z miski jedzą za pomocą dwóch widelców filozofowie ze sobą nie rozmawiają Mateusz Hołenko Klasyczne problemy synchronizacji [14/23]
26 Opis problemu filozofowie mają proste życie myślą i jedzą żywią się makaronem z miski jedzą za pomocą dwóch widelców filozofowie ze sobą nie rozmawiają Mateusz Hołenko Klasyczne problemy synchronizacji [14/23]
27 Opis problemu filozofowie mają proste życie myślą i jedzą żywią się makaronem z miski jedzą za pomocą dwóch widelców filozofowie ze sobą nie rozmawiają Mateusz Hołenko Klasyczne problemy synchronizacji [14/23]
28 Opis problemu filozofowie mają proste życie myślą i jedzą żywią się makaronem z miski jedzą za pomocą dwóch widelców filozofowie ze sobą nie rozmawiają Mateusz Hołenko Klasyczne problemy synchronizacji [14/23]
29 Ilustracja problemu Mateusz Hołenko Klasyczne problemy synchronizacji [15/23]
30 Rozwiązanie I const int N; Mutex fork[n] = {1}; while(true) { think(); P(fork[i]); P(fork[(i + 1) % N]); eat(); V(fork[i]); V(fork[(i + 1) % N]); } N liczba filozofów fork tablica widelców (semaforów) Mateusz Hołenko Klasyczne problemy synchronizacji [16/23]
31 Rozwiązanie I const int N; Mutex fork[n] = {1}; while(true) { think(); P(fork[i]); P(fork[(i + 1) % N]); eat(); V(fork[i]); V(fork[(i + 1) % N]); } N liczba filozofów fork tablica widelców (semaforów) Mateusz Hołenko Klasyczne problemy synchronizacji [16/23]
32 Rozwiązanie II const int N; Mutex fork[n] = {1}; Semaphore waiter = N - 1; while(true) { think(); P(waiter); P(fork[i]); P(fork[(i + 1) % N]); eat(); V(fork[i]); V(fork[(i + 1) % N]); V(waiter); } N liczba filozofów fork tablica widelców (semaforów) waiter kelner podający widelce (semafor) Mateusz Hołenko Klasyczne problemy synchronizacji [17/23]
33 Rozwiązanie II const int N; Mutex fork[n] = {1}; Semaphore waiter = N - 1; while(true) { think(); P(waiter); P(fork[i]); P(fork[(i + 1) % N]); eat(); V(fork[i]); V(fork[(i + 1) % N]); V(waiter); } N liczba filozofów fork tablica widelców (semaforów) waiter kelner podający widelce (semafor) Mateusz Hołenko Klasyczne problemy synchronizacji [17/23]
34 Rozwiązanie III Rozwiązanie zaproponowane przez Dijkstrę: widelce identyfikowane są za pomocą numerów od 1 do N każdy filozof podnosi wpierw widelec o niższym identyfikatorze, dopiero potem o wyższym sztućce odkładane są w odwrotnej kolejności filozofowie od 1 do 4 biorą najpierw lewy widelec, potem prawy filozof 5 najpierw bierze prawy widelec, potem lewy Mateusz Hołenko Klasyczne problemy synchronizacji [18/23]
35 Problem czytelników i pisarzy
36 Opis problemu biblioteka jako miejsce pracy twórczej pisarzy oraz spotkań czytelników pisarzy jest wielu, jednak każdy z nich tworzy książki tylko w pustej bibliotece czytelnikom nie przeszkadza jednak obecność innych czytelników Mateusz Hołenko Klasyczne problemy synchronizacji [20/23]
37 Opis problemu biblioteka jako miejsce pracy twórczej pisarzy oraz spotkań czytelników pisarzy jest wielu, jednak każdy z nich tworzy książki tylko w pustej bibliotece czytelnikom nie przeszkadza jednak obecność innych czytelników Mateusz Hołenko Klasyczne problemy synchronizacji [20/23]
38 Opis problemu biblioteka jako miejsce pracy twórczej pisarzy oraz spotkań czytelników pisarzy jest wielu, jednak każdy z nich tworzy książki tylko w pustej bibliotece czytelnikom nie przeszkadza jednak obecność innych czytelników Mateusz Hołenko Klasyczne problemy synchronizacji [20/23]
39 Opis problemu biblioteka jako miejsce pracy twórczej pisarzy oraz spotkań czytelników pisarzy jest wielu, jednak każdy z nich tworzy książki tylko w pustej bibliotece czytelnikom nie przeszkadza jednak obecność innych czytelników Mateusz Hołenko Klasyczne problemy synchronizacji [20/23]
40 Model const int N; const int M; Mutex library = 1; Mutex aux = 1; int readers = 0; N liczba czytelników M liczba pisarzy library semafor biblioteki aux semafor aktualnej liczby czytelników readers aktualna liczba czytelników w bibliotece Mateusz Hołenko Klasyczne problemy synchronizacji [21/23]
41 Model const int N; const int M; Mutex library = 1; Mutex aux = 1; int readers = 0; N liczba czytelników M liczba pisarzy library semafor biblioteki aux semafor aktualnej liczby czytelników readers aktualna liczba czytelników w bibliotece Mateusz Hołenko Klasyczne problemy synchronizacji [21/23]
42 Proces pisarza while(true) { P(library); write(); V(library); } Przed przystąpieniem do tworzenia pisarz musi upewnić się, że jest sam w bibliotece. W tym celu opuszcza semafor binarny library. Mateusz Hołenko Klasyczne problemy synchronizacji [22/23]
43 Proces pisarza while(true) { P(library); write(); V(library); } Przed przystąpieniem do tworzenia pisarz musi upewnić się, że jest sam w bibliotece. W tym celu opuszcza semafor binarny library. Mateusz Hołenko Klasyczne problemy synchronizacji [22/23]
44 Proces czytelnika while(true) { P(aux); readers++; if (readers == 1) P(library); V(aux) read(); P(aux); readers--; if (readers == 0) V(library); V(aux); } Mateusz Hołenko Klasyczne problemy synchronizacji [23/23]
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ółowoWYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy. Wykład 4 strona 1/24
WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy Wykład 4 strona 1/24 Ilustracja 5. Schemat problemu czytelników i pisarzy Wykład 4 strona 2/24 Opis problemu: Jest n czytelników,
Bardziej szczegółowosynchronizacji 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ółowosynchronizacji 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ółowoWykł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ółowoPrzetwarzanie 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ółowoProgramowanie 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ółowoKlasyczne 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ółowoSemafory. - 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ółowoWykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Procesy wykonują się współbieżnie Potrzeba synchronizacji Jeżeli w 100% są
Bardziej szczegółowoSemafory. // 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ółowoPrzeplot. 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ółowoIngerencja 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ółowoProces 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ółowoProblemy współbieżności
Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe) realizowana programowo (bariera, sekcja krytyczna, operacje atomowe) wzajemne wykluczanie
Bardziej szczegółowoSynchronizacja 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ółowoSynchronizacja 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ółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny
Bardziej szczegółowoSystemy 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ółowoWprowadzenie 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ółowoMechanizmy 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ółowo3URJUDPRZDQLHZVSyá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ółowoSystemowe mechanizmy synchronizacji procesów
Systemowe mechanizmy synchronizacji procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie mechanizmów synchronizacji, które mogą być implementowane zarówno na
Bardziej szczegółowoKolejki 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
Bardziej szczegółowoProgramowanie 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ółowoStworzenie 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).
Bardziej szczegółowoProces 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ółowoProcesy. 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
Bardziej szczegółowoSYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
Bardziej szczegółowoProgramowanie współbieżne Wykład 4. Rafał Skinderowicz
Programowanie współbieżne Wykład 4 Rafał Skinderowicz Semafory Algorytmy synchronizacyjne omawiane poprzednio opierały się na atomowych instrukcjach odczytu i zapisu do pamięci, ewentualnie dodatkowych
Bardziej szczegółowoJ. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych
Bardziej szczegółowoDynamiczne struktury danych
Dynamiczne struktury danych 391 Dynamiczne struktury danych Przez dynamiczne struktury danych rozumiemy proste i złożone struktury danych, którym pamięć jest przydzielana i zwalniana na żądanie w trakcie
Bardziej szczegółowoSystemy operacyjne Wzajemne wykluczanie i synchronizacja
Systemy operacyjne [2] Wyścigi w systemie operacyjnym IPC - komunikacja między procesami (ang. InterProcess Communication) W SO wykonujące się procesy często dzielą obszary wspólnej pamięci, pliki lub
Bardziej szczegółowoPrzykład wystąpienia wyścigu. Systemy operacyjne / Wzajemne wykluczanie i synchronizacja str.4/33. Wyścigi w systemie operacyjnym.
Przykład wystąpienia wyścigu Systemy Operacyjne Wzajemne wykluczanie i synchronizacja dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Przykład void echo() chin = getchar(); chout = chin; putchar( chout
Bardziej szczegółowoIPC: Kolejki komunikatów
IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat
Bardziej szczegółowoProgramowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone W1. Wielowątkowość Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np.
Bardziej szczegółowoTemat 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,
Bardziej szczegółowoProgramowanie 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ółowoKlient-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ółowoObsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011
Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt
Bardziej szczegółowoRównoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bardziej szczegółowoRównoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bardziej szczegółowoProjekt systemy operacyjne 2 - Systemowe mechanizmy synchr
systemy operacyjne 2 - Systemowe mechanizmy synchronizacji procesów 19 lutego 2012 Wielow tkowo± Mechanizmy synchronizacji Wielow tkowo± Mechanizmy synchronizacji Klasyczne przykªady programów Wielow tkowo±
Bardziej szczegółowoWarstwy oprogramowania wejścia/wyjścia
Warstwy oprogramowania wejścia/wyjścia 1 Programy użytkownika Rosnący poziom abstrakcji Oprogramowanie systemowe niezależne od urządzenia Sterowniki urządzeń Procedury obsługi przerwań Sprzęt Funkcje sterownika
Bardziej szczegółowoGdy kilka procesów czyta a przynajmniej jeden dokonuje zapisu wynik odczytu zależeć może od sposobu realizacji przeplotu.
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 9. Wzajemne wykluczanie 9.1 Przeplot i współużywalność zasobów Wyróżniamy dwa rodzaje zasobów: 1. Zasoby współużywalne - mogą być wykorzystane przez
Bardziej szczegółowoSystemy 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ółowow 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ć
Bardziej szczegółowoKomunikacja asynchroniczna w modelu rozproszonym
Komunikacja asynchroniczna w modelu rozproszonym.odv\f]qhsureohp\zvsyáelh QR FL Problem wzajemnego wykluczania 1DMF] FLHMSRMDZLDM F\VL ZSUDNW\FH operacje lokalne; SURWRNyáZVW SQ\ rejon krytyczny; SURWRNyáNR
Bardziej szczegółowoInicjacja tablicy jednowymiarowej
TABLICE C++ Inicjacja tablicy jednowymiarowej typ_komórek_tablicy nazwa_tablicy [ ilość elementów tablicy ] ; np.: int tablica[1000]; czyli tablica, która może przechowywać tysiąc elementów typu całkowitego,
Bardziej szczegółowoNazwa 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ółowoProblemy czytelników i pisarzy oraz 5 ucztujących filozofów
Problemy czytelników i pisarzy oraz 5 dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/
Bardziej szczegółowoOdwrotna Notacja Polska
Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).
Bardziej szczegółowoMonitory. 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ółowoSemafor 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
Bardziej szczegółowoProgramowanie systemów czasu rzeczywistego laboratorium. Ćwiczenie 2. Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań
Programowanie systemów czasu rzeczywistego laboratorium Ćwiczenie 2 Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań Autor: dr inż. Sławomir Samolej Zagadnienie 1. (Przykładowe
Bardziej szczegółowo2 Implementacja w systemie Linux 2.4
1 IPC IPC (InterProcess Communication) to udostępniane przez jądro systemu operacyjnego mechanizmy służące komunikacji oraz współdzieleniu zasobów i informacji pomiędzy procesami. IPC Systemu V udostępnia
Bardziej szczegółowoProces 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ółowoSynchronizacja 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ółowoLaboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak
Laboratorium z systemów operacyjnych System plików - funkcje systemowe Anna Wojak 1 Zagadnienia do samodzielnego przygotowania: podstawowe polecenia linux, podstawy programowania w jezyku C, deskryptor
Bardziej szczegółowoPlan prezentacji: 1. Czym jest proces? 2. Czym jest wątek? 3. Funkcje do zarządzania wątkami w Win32API. 4. Mechanizmy synchronizacji wątków
Wątki w Win32API Plan prezentacji: 1. Czym jest proces? 2. Czym jest wątek? Plusy i minusy wątków Tworzenie i niszczenie wątków Priorytety wątków 3. Funkcje do zarządzania wątkami w Win32API. 4. Mechanizmy
Bardziej szczegółowoBiblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Bardziej szczegółowoSynchronizacja 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ółowoWskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Bardziej szczegółowoSystemy 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ółowoSYSTEMY 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ółowoPodstawy 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
Bardziej szczegółowoNazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
Bardziej szczegółowoJ. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych
Bardziej szczegółowoZmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
Bardziej szczegółowodr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI
dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI Systemy operacyjne 2 System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają
Bardziej szczegółowoOPERACJE 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ółowoWskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Bardziej szczegółowoLaboratorium 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ę,
Bardziej szczegółowoListy, kolejki, stosy
Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:
Bardziej szczegółowoMultiprocessor 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ół
Bardziej szczegółowoObsługa plików Procesy
Obsługa plików Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 15 października 2011 Plan zajęć 1 Obsługa plików 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach 3 Operacje
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoTypy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Typy wyliczeniowe Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Służą do łatwiejszej kontroli nad stałymi Ustawianie parametrów o ściśle określonym zbiorze wartości
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Bardziej szczegółowoI.Wojnicki, Tech.Inter.
Igor Wojnicki (AGH, KA) 13 maja 2012 1 / 26 Hypertext Preprocessor Igor Wojnicki Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie 13 maja 2012 $Id: php1.tex,v 1.1 2011/11/19 19:14:25 wojnicki Exp
Bardziej szczegółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoSystem plików warstwa logiczna
Dariusz Wawrzyniak Pojęcie u Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy. Plik jest podstawową jednostką logiczną magazynowania informacji w systemie
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Bardziej szczegółowoPROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 03
PROCESORY SYGNAŁOWE - LABORATORIUM Ćwiczenie nr 03 Obsługa portu szeregowego, układu kodeka audio i pierwsze przetwarzanie sygnałów (cyfrowa regulacja głośności) 1. Konfiguracja układu szeregowego portu
Bardziej szczegółowoInstrukcja poruszania się po katalogu on-line
Instrukcja poruszania się po katalogu on-line Spis treści Wyszukiwanie proste w katalogu on-line 1 10 Wyszukiwanie poprzez indeksy Wyszukiwanie poprzez słowo w wybranym indeksie Wyszukiwanie poprzez słowo
Bardziej szczegółowoTemat 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
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,
Bardziej szczegółowoPomoc dla użytkowników systemu asix 6 i 7. Drajwer Bufor. Dok. Nr PLP6021 Wersja:
Pomoc dla użytkowników systemu asix 6 i 7 www.asix.com.pl Drajwer Bufor Dok. Nr PLP6021 Wersja: 2012-03-16 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście
Bardziej szczegółowoTechnika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego
System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego
Bardziej szczegółowoSemafor 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ółowoProgramowanie współbieżne i rozproszone w języku Java
Programowanie współbieżne i rozproszone w języku Java Uniwersytet Marii Curie-Skłodowskiej Wydział Matematyki, Fizyki i Informatyki Instytut Informatyki Programowanie współbieżne i rozproszone w języku
Bardziej szczegółowoMULTI INTEGRATOR Instrukcja instalacji, konfiguracji.
MULTI INTEGRATOR Instrukcja instalacji, konfiguracji. Multi Integrator to uniwersalne oprogramowanie opracowane przez firmę KiD, za pomocą którego można połączyć program do gospodarki magazynowej i sprzedaży
Bardziej szczegółowoSTL Standardt Template Library (wprowadzenie)
STL Standardt Template Library (wprowadzenie) Biblioteka standardowych szablonów na dzień dzisiejszy stanowi jedną z najpotężniejszych możliwości języka C++ Zawiera szablony klas ogólnego przeznaczenia
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Bardziej szczegółowoProgramowanie w językach wysokiego poziomu
Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie
Bardziej szczegółowoI.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.
Igor Wojnicki (AGH, KIS) 7 kwietnia 2018 1 / 28 Hypertext Preprocessor Igor Wojnicki Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie 7 kwietnia 2018 Igor Wojnicki (AGH, KIS) 7 kwietnia
Bardziej szczegółowoKonwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Bardziej szczegółowo