ZagadnieniaPodstawyInformatyki, AGH, WFiIS, Informatyka stosowana, Semestr I, PI-tokarz

Poza tym na świecie jest niewiele istot groźniejszych od kobiety.

1. Metody synchronizacji procesów.              

 

* Celem synchronizacji jest kontrola przyznawania zasobów do procesów tak, aby dopuszczalne stały się jedynie instrukcje zgodne z zamysłem programisty.

* Synchronizacja na najniższym poziomie polega na wykonaniu specjalnych instrukcji, które powodują zatrzymanie postępu przetwarzania.

* Synchronizacja na wyższym poziomie polega na użyciu specjalnych konstrukcji programotwórczych, lub odpowiednich definicji struktur danych.

 

Środki synchronizacji procesów:

1.     Semafory - mogą być wykorzystywane tam, gdzie zasób dzielony jest na ograniczoną ilość użytkowników. Jest zmienną całkowitą, do której dostęp można uzyskać (poza inicjalizacją) jedynie za pomocą dwóch specjalnych operacji: czekaj i sygnalizuj. Pierwsza sprawdza, czy semafor ma wartość większą od zera. Jeśli tak, to zmniejsza ją o jeden, jeśli nie, to czeka aż tę wartość osiągnie i dopiero wtedy ją zmniejsza. Druga polega na zwiększeniu wartości semafora o jeden. Istnieją różne wersje semaforów, takie które przyjmują jedynie dwie wartości nazwywa się semaforami binarnymi bądź muteksami. Istnieją dwa sposoby implementacji operacji czekaj. Pierwszy z nich wymaga aktywnego oczekiwania na podniesienie semafora. Drugi sposób polega na umieszczeniu wszystkich procesów czekających na podniesienie semafora w kolejce oczekiwania na to zdarzenie. Kiedy semafor osiągnie wartość większą od zera uaktywniany jest jeden z tych procesów i on może opuścić semafor.

2.     Regiony - w językach programowania (głównie proceduralnych) wprowadzono instrukcje pozwalające tworzyć tzw. regiony krytyczne. Słowo kluczowe shared pozwala na określenie zmiennej, jako współdzielonej przez kilka procesów, natomiast instrukcja “region zmienna współdzielona do operacja” gwarantuje, że operacja wykonana na zmiennej współdzielonej będzie niepodzielna. Regiony można zagnieżdżać, jednak należy robić to ostrożnie, by nie doprowadzić do zakleszczenia.

3.     Monitory - są środkiem synchronizacji właściwym dla języków obiektowych, choć zostały opracowane niezależnie od techniki obiektowej. Monitor można określić jako obiekt, którego wszystkie pola są prywatne, a ich wartości osiągalne tylko za pomocą metod obiektu, wykonywanych w sposób niepodzielny.

 

 

 

 

 

 

 

 

 

 

 

 

2. Warunki powstania zakleszczeń.              

 

Zakleszczenie - to zbiór procesów będących w impasie wywołanym przez to, że każdy proces należący do tego zbioru przetrzymuje zasoby potrzebne innym procesom z tego zbioru, a jednocześnie czeka na zasoby przydzielone innym procesom.

 

Warunki powstania zakleszczeń:

●       Wzajemne wykluczanie - w jednej chwili z jednego zasobu może korzystać co najwyżej jeden proces.

●       Przetrzymywanie i oczekiwanie - proces przetrzymujący co najmniej jeden zasób czeka na przydział dodatkowych ...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kachorra.htw.pl