Ostatnio czytałem ciekawy blog porównujące mutex i semafora:
"
http://www.feabhas.com/blog/2009/09/mutex-vs-semaphores-%E2%80%93-part-1-semaphores/
"Czy przełączanie kontekstu odbywa się w krytycznej sekcji?
Cytat z niego:
"
Jeżeli przełącznik kontekst dzieje podczas tego zadania znajduje się w obszarze krytycznym, a inne zadanie również wywołuje P (S), wtedy to drugie zadanie (i wszelkie kolejne zadania) zostanie zablokowane przed wejściem do krytycznego regionu przez umieszczenie go w stanie oczekiwania przez system operacyjny.Po późniejszym terminie pierwsze zadanie zostanie zmienione i dzwoni do V (S), aby wskazać, że opuścił region krytyczny. Drugim zadaniem będzie teraz dozwolony dostęp do krytycznego regionu. "
Jeśli tak jest w przypadku semafora, czy jest to również prawdą w przypadku muteksu? Nie sądzę, że to prawda, ponieważ blok kodu jest zablokowany, powinien być" atomowy ", który nie może być kontekstowo wyłączony lub przerwany Czy mam rację?