Mutex a Semafor w RTOS?

Odpowiedz Nowy wątek
2019-05-23 10:57
0

Cześć,
Nie do końca rozumiem, jaka jest różnica pomiędzy mutex'em a semaforem. Do tej pory używałem tylko mutex, ów aby zabezpieczyć sekcje krytyczne. Np.

//Task 1
takeMutex(&mutex1);
criticalSection1();
giveMutex(&mutex1);

//Task 2
takeMutex(&mutex1);
criticalSection1();
giveMutex(&mutex1);

Jakie jest zastosowanie semaforów w RTOS'ach i systemach embedded.

Pozostało 580 znaków

2019-05-23 11:30
1

Często podobne. W skrócie możesz myśleć o muteksie jako o specjalnym przypadku semafora, tj. takim, który trzyma informację kto go zajął oraz ma stan zajęty/wolny, podczas gdy semafor może być zajmowany wielokrotnie.

Pozostało 580 znaków

2019-05-23 11:49
1

Do tego co napisał @alagner, dodałbym, że w przypadku mutexa-tylko właściciel zwalnia założoną blokadę, zaś w przypadku semafora "każdy" może zwiększyć/zmniejszyć wartość.

Pozostało 580 znaków

2019-05-25 15:21
0

Jest jakiś przykład gdzie mógłbym lub gdzie muszę użyć semafora zamiast mutexu'a w RTOS, najlepiej na przykładzie małych systemów embedded np. STM32 pracujący pod kontrolą FreeRTOS?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0