Mutex a Semafor w RTOS?

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

Rejestracja: 1 rok temu

Ostatnio: 3 tygodnie temu

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

Rejestracja: 6 lat temu

Ostatnio: 6 godzin temu

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

Rejestracja: 5 lat temu

Ostatnio: 5 godzin temu

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

Rejestracja: 1 rok temu

Ostatnio: 3 tygodnie temu

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?

Slajdy o programowaniu i podstawowych problemach concurrent programming twym przyjacielem. - Satanistyczny Awatar 2019-06-24 19:06

Pozostało 580 znaków

Odpowiedz

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

Robot: Bingbot