---
# System prepended metadata

title: 'Ćwiczenia 14, grupa śr. 12-14, 12 czerwca 2024'
tags: [pwit, ćwiczenia, SYK24]

---

# Ćwiczenia 14, grupa śr. 12-14, 12 czerwca 2024

###### tags: `SYK24` `ćwiczenia` `pwit`

## Deklaracje

Gotowość rozwiązania zadania należy wyrazić poprzez postawienie X w odpowiedniej kolumnie! Jeśli pożądasz zreferować dane zadanie (co najwyżej jedno!) w trakcie dyskusji oznacz je znakiem ==X== na żółtym tle.

**UWAGA: Tabelkę wolno edytować tylko wtedy, gdy jest na zielonym tle!**
**UWAGA 2: Wszystkie zadania z listy 14 są bonusowe!**

:::danger
|                        | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  |
| ----------------------:| ---| ---| ---| ---| ---| ---|--- | ---| ---| 
Mikołaj Balwicki         |  X  |  X  |  X  |  X  |  X  |  X  |  X  |  X  |  X  | 
Małgorzata Galińska      |    |    |    |    |    |    |    |    |    |
Maria Hreniak            |    |    |    |    |    |    |    |    |    |
Jakub Jankowski          |  X  |  X  |  X  |  X  |  X  |  X  |    |    |    |
Mikołaj Kalitka          |    |    |    |    |    |    |    |    |    |
Julia Konefał            |  X  |  X  | ==X==   |    |    |    |    |    |    |
Julia Kulczycka          |    |    |    |    |    |    |    |    |    |
Cecylia Łyjak            |    |    |    |    |    |    |    |    |    |
Adam Majchrowski         |  ==X==  |  X  |    |    |    |    |    |    |    |
Piotr Mańkowski          |    |    |    |    |    |    |    |    |    |
Piotr Salamon            |    |    |    |    |    |    |    |    |    |
Maciej Szałasz           |    |    |    |    |    |    |    |    |    |
:::




**UWAGA: Poniżej można zadeklarować zadania 6 -- 9 z listy 13**


:::danger
|                        | 13.6 | 13.7| 13.8| 13.9| 
| ----------------------:| -----| --- | --- | --- | 
Mikołaj Balwicki         |    X  |  X   |  X   |  X   |  
Małgorzata Galińska      |      |     |     |     |
Maria Hreniak            |      |     |     |     |
Jakub Jankowski          |      |     |     |     |
Mikołaj Kalitka          |      |     |     |     |
Julia Konefał            |   X   |     |     |     |
Julia Kulczycka          |      |     |     |     |
Cecylia Łyjak            |      |     |     |     |
Adam Majchrowski         |   X   |     |     |     |
Piotr Mańkowski          |      |     |     |     |
Piotr Salamon            |      |     |     |     |
Maciej Szałasz           |      |     |     |     |
:::



:::info
**Uwaga:** Po rozwiązaniu zadania należy zmienić kolor nagłówka na zielony.
:::


## Zadanie 1
:::success
Autor: Adam Majchrowski	 
![image](https://hackmd.io/_uploads/HkvFCWwSC.png)
:::

## Zadanie 2
:::success
Autor: Jakub Jankowski	
![image](https://hackmd.io/_uploads/BJSZDePHR.png)
![image](https://hackmd.io/_uploads/ByIGvlwS0.png)
![image](https://hackmd.io/_uploads/H1jXwxPSC.png)


:::

## Zadanie 3
:::success
Autor: Julia Konefał
![Screenshot 2024-06-12 at 13-34-39 SYK24 - Lista 14 - SYK24 - Lista 14.pdf](https://hackmd.io/_uploads/HJFJdZwrR.png)


Algorytm wykorzystuje dwie zmienne:

* flag[2]: tablica sygnalizująca zamiar wejścia do sekcji krytycznej przez dany proces. flag[0] odnosi się do procesu P0, a flag[1] do procesu P1
* turn: zmienna określająca, który proces ma preferencję do wejścia do sekcji krytycznej. Może przyjmować wartość 0 lub 1


1. Wzajemne wykluczanie
Algorytm Petersona gwarantuje, że oba procesy nie mogą jednocześnie wejść do sekcji krytycznej, ponieważ w tym samym czasie oba procesy nie mogą mieć wartości flag ustawionej na true i jednocześnie mieć preferencji w zmiennej turn.

2. Postęp
Jeśli żaden proces nie jest w sekcji krytycznej, procesy mogą ustalić, który z nich wejdzie do sekcji krytycznej. Jeśli oba procesy chcą wejść do sekcji krytycznej jednocześnie, preferencje zmiennej turn pozwalają na rozstrzygnięcie, który proces wejdzie jako pierwszy.

3. Ograniczone oczekiwanie
Każdy proces będzie musiał poczekać najwyżej jeden raz na drugi proces, zanim wejdzie do sekcji krytycznej. Zmienna turn gwarantuje, że żaden proces nie będzie czekał w nieskończoność.
:::

## Zadanie 4
:::success
Autor: Jakub Jankowski	
![image](https://hackmd.io/_uploads/B1xUDeDS0.png)

:::

## Zadanie 5
:::success
Autor: Jakub Jankowski	
![image](https://hackmd.io/_uploads/rkJuPlvB0.png)

:::

## Zadanie 6
:::success
Autor: Jakub Jankowski	
![image](https://hackmd.io/_uploads/HJPFvlvS0.png)

:::

## Zadanie 7
:::danger
Autor: Mikołaj Balwicki	
:::

![image](https://hackmd.io/_uploads/r1gg5lDBC.png)

## Zadanie 8
:::danger
Autor: Mikołaj Balwicki	
:::
![image](https://hackmd.io/_uploads/ryBUqgwBR.png)
![image](https://hackmd.io/_uploads/HycPqxwr0.png)


## Zadanie 9
:::danger
Autor: Mikołaj Balwicki	
:::


