zadania z synchronizacji

Slides:



Advertisements
Podobne prezentacje
slajd 1 PREZENTACJA na sprawdzian INSTRUKCJA (czas 25 minut):
Advertisements

Procedura zmiany zawodników w rozgrywkach krajowych od sezonu Wydział Sędziowski ŚZPSMąchocice
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
STRUKTURY DANYCH.
Egzamin.
Mechanizmy pracy równoległej
Jarosław Kuchta Semafory.
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne.
Wzorce.
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
PROGRAMOWANIE STRUKTURALNE
Dr inż. Bożena Mielczarek
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
FIBONACCI Projekt edukacyjny współfinansowany przez Unię Europejską w ramach 7. Programu Ramowego Science in Society Wydział Fizyki, Astronomii i Informatyki.
Magistrala & mostki PN/PD
Domeny kolizyjne i rozgłoszeniowe
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Instytut Fizyki Teoretycznej
Muteksy Muteksy (mutex – MUTual EXclusion) są prostymi obiektami synchronizacyjnymi pełniącymi rolę semaforów binarnych dla wątków (chroniącymi sekcje.
Semafory według normy POSIX
Algorytmy Marek Pudełko
RODZAJE KOMUNIKACJI MIĘDZY PROCESAMI
Semafory.
Pamięć wspólna Przegląd stosowanych rozwiązań Marcin Kamiński, Michał Kotra Wydział EAIiE Katedra Automatyki Kraków, 2008.
Wodne Ochotnicze Pogotowie Ratunkowe WOPR-OS OSTROŁEKA
Podstawy układów logicznych
Sortowanie przez kopcowanie
Złożone typy danych Listy Tworzenie elastycznych baz danych
Języki i automaty część 3.
Dr inż. Bożena Mielczarek Wprowadzenie do Areny. Zadanie domowe nr 5.
Problem sekcji krytycznej
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
Model relacyjny.
Ile rozwiązań może mieć układ równań?
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
W ą t e k (lekki proces) thread.
Bariery synchronizacyjne Bariery są obiektami synchronizacyjnymi pakietu pthread służącymi do wyrównywania czasów pracy wątków wykonujących wspólne zadanie.
ZAPIS BLOKOWY ALGORYTMÓW
Algorytmy i Struktury Danych
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Bramki logiczne i układy kombinatoryczne
QIC: Quarter Inch Cartridge Travan: TR1-TR5 MLR: Multi Channel Linear Recording DAT: Digital Audio Tape DLT: Digital Linear Tape AIT: Advanced Intelligent.
Projektowanie relacyjnych baz danych – diagramy związków encji
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
Dokonując wyboru pamiętaj, że masz prawo kandydować najwyżej do trzech szkół, ale możesz w nich wybrać dowolną liczbę oddziałów w określonej przez Ciebie.
SYSTEM KANBAN.
© DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje:
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Dr inż. Bożena Mielczarek
Wstęp do programowania Wykład 7
Tankowanie w procedurze płytowej obsługi samolotów pasażerskich
2 √2 jest mężczyzną zainteresowanym 2 √4 jednak nie mogą być razem ze względu na to, że ich pierwiastki się nie zgadzają. 2 √2 + 2 √4= ?
„Transport morski w systemie transportu intermodalnego”
Przypomnienie wiadomości – kilka zadań
Matematyka przed egzaminem czyli samouczek dla każdego
Wiązania (joints) Malwina Łagód.
Układy asynchroniczne
Podpis elektroniczny – załóż profil zaufany
Zarządzanie projektami
Instrukcja warunkowa if
PGO Dziedziczenie Michail Mokkas.
PGO Przeciążanie metod i konstruktorów
Zapis prezentacji:

zadania z synchronizacji Systemy Operacyjne 2 zadania z synchronizacji

Statki wpływające do portu Zadanie 1: Do portu zawijają i odpływają z niego statki. Każdy z N statków po wpłynięciu do portu musi zająć jakieś wolne miejsce przy nabrzeżu. Liczba miejsc jest ograniczona i wynosi m : (m < N). Ponadto, w celu wejścia do portu lub wyjścia z portu statek i-ty potrzebuje ki holowników. Łączna liczba holowników wynosi h : (h < 𝒊=𝟏 𝒏 𝒌 𝒊 ). Napisać program dla procesu–statku zapewniający, ze nie nastąpi zakleszczenie ani zagłodzenie któregoś ze statków. Miejsca przy nabrzeżu i holowniki należy traktować jako zasoby.

Statek pasażerski Zadanie 2: Przy nabrzeżu stoi statek o pojemności N. Statek z lądem jest połączony mostkiem o pojemności K : (K < N). Na statek próbują dostać się pasażerowie, z tym, ze na statek nie może ich wejść więcej niż N, a wchodząc na statek na mostku nie może być ich równocześnie więcej niż K. Statek co jedna godzinę wypływa w rejs. W momencie odpływania kapitan statku musi dopilnować aby na mostku nie było żadnego wchodzącego pasażera. Jednocześnie musi dopilnować by liczba pasażerów na statku nie przekroczyła N. Napisać odpowiednio procedury Pasażer i Kapitan zsynchronizowane za pomocą jakiejkolwiek z metod synchronizacji procesów.

Implementacje smaforów Zadanie 3: Udowodnij, że poniższe implementacje operacji P i V m ogólnym semaforze s za pomocą semaforów binarnych mutexs i delays oraz operacji Pb i Vb są nieprawidłowe: P(s): V(s): Pb(mutexs); Pb(mutexs); s := s – 1; s := s + 1; Vb(mutexs); Vb(mutexs); if s < 0 then if s <= 0 then Pb(delays); Vb(delays);

Regiony krytyczne Zadanie 4: Wskaż czy w poniżej zaprezentowanym rozwiązaniu problemu czytelników i pisarzy spełnione są ogólne założenia tego problemu. Przeanalizuj czy rozwiązanie to prowadzi do zagłodzenia czytelników lub pisarzy. procedure reader; begin region v do rc := rc + 1; read; //operacja poza regionem krytycznym region v do rc := rc – 1; end procedure writer; begin region v when rc = 0 do write end

Parowozowania Zadanie 5: W pewnej parowozowni istnieje M miejsc remontowych (równocześnie może być naprawianych M lokomotyw). Naprawa taka trwa pewien nieznany, ale skończony okres czasu, po czym lokomotywa opuszcza parowozownię i rozpoczyna się jej normalna eksploatacja. Cykl ten powtarza się. Aby wjechać do parowozowni należy przejechać przez obrotową nastawnię. Do nastawni prowadzą jedynie dwa tory, którymi można wjechać na teren parowozowni. Należy zagwarantować, że nie dojdzie do sytuacji, w której na jednym odcinku toru (2A, 1B, MC) znajdą się 2 lokomotywy, gdyż grozi to zderzeniem. Należy założyć że pracownik obsługujący nastawnię posiada wiedzę, która pozwala mu operować nastawnią w ten sposób, iż wybierane będą, o ile są dostępne, wolne tory prowadzące do parowozowni lub do bram. Co pewien czas w parowozowni musi zostać przeprowadzony remont. Decyzję o tym podejmuje szef robót remontowych. On także decyduje o jego zakończeniu. Dla bezpieczeństwa robotników, w czasie remontu żadna lokomotywa nie może znajdować się na terenie parowozowni. Napisz pseudokod procesów lokomotywy i szefa robót remontowych. Do synchronizacji procesów wykorzystaj semafory uogólnione na których można wykonać operacje opuszczenia semafora S o wartość x P(S, x) i odpowiednio operację podniesienia V(S, x). Procesy oczekujące na semaforze są obsługiwane w losowej, nieznanej z góry kolejności.

Magazyn Zadanie 6: Do pewnego magazynu o pojemności M (jednostki objętości) dostarczane są trzy rodzaje elementów: P1, P2 i P3, o rozmiarach odpowiednio 1j, 2j i 3j. W magazynie monter wytwarza produkt, składający się z trzech elementów - po jednym z każdego rodzaju, i zabiera go z magazynu. Napisać pseudokod procesów montera i dostawców. Do synchronizacji procesów wykorzystać semafory uogólnione, na których można wykonać operacje opuszczenia semafora S o wartość x P(S,x) i odpowiednio operację podniesienia V(S,x). Procesy oczekujące na semaforze są obsługiwane w losowej, nieznanej z góry kolejności.

Kopalnia Zadanie 7: W mieście Saltville postanowiono udostępnić turystom starą kopalnię soli. W kopalni tej znajdują się 4 wspaniałe sale warte obejrzenia. Sale połączone są przejściami zgodnie z planem podanym poniżej. Każda z sal ma pojemność X osób, z wyjątkiem sali nr 2, która jest 2 razy większa od pozostałych. Kopalnię można zwiedzać tylko wg ustalonego planu A lub B. Plan A zakłada zwiedzanie sal w kolejności 1,2,3,4, wjazd do kopali windą W1, wyjazd W2. Plan B dokładnie odwrotnie czyli zwiedzanie sal w kolejności 4,3,2,1, wjazd do kopali windą W2, a wyjazd W1. Napisz pseudokod dla turysty zwiedzającego kopalnię wg trasy A lub B.

Lotniskowiec Zadanie 8: Lotniskowiec ma pokład o pojemności N samolotów oraz pas startowy. Pas startowy jest konieczny do startowania i lądowania samolotów, a może z niego korzystać w danej chwili tylko jeden samolot. Gdy liczba samolotów na lotniskowcu jest mniejsza niż K : (0 < K < N ), priorytet w dostępie do pasa startowego mają samoloty lądujące, w przeciwnym razie — startujące. Zapisz algorytm samolotu, który funkcjonuje według schematu postój – start – lot – lądowanie itd. Samolotów może być więcej niż N , wówczas ich część jest zawsze w powietrzu.

Cegielnia Zadanie 9: Przy taśmie transportowej pracuje trzech pracowników oznaczonych przez P1, P2 i P3. Pracownicy wrzucają na taśmę cegły o masach odpowiednio 1, 2 i 3 jednostki. Na końcu taśmy stoi ciężarówka o ładowności C jednostek, którą należy zawsze załadować do pełna. Wszyscy pracownicy starają się układać cegły na taśmie najszybciej jak to możliwe. Taśma może przetransportować w danej chwili maksymalnie K sztuk cegieł. Jednocześnie jednak taśma ma ograniczony udźwig: maksymalnie M jednostek masy, tak, że niedopuszczalne jest położenie np. samych tylko cegieł najcięższych (3K>M). Po zapełnieniu ciężarówki na jej miejsce pojawia się natychmiast nowa o takich samych parametrach. Cegły „zjeżdżające” z taśmy muszą od razu trafić na samochód dokładnie w takiej kolejności jak zostały położone na taśmie. Napisz programy symulujące działanie pracowników i ciężarówki. Do implementacji programów można wykorzystać uogólnione operacje semaforowe P i V operujące na semaforach wielowartościowych (atomowe zmniejszanie i zwiększanie semafora o dowolną wartość). Proszę użyć następującej notacji: P(s,n) oznacza opuszczenie semafora s o n jednostek, przy czym P(s)≡P(s,1).