■ W zakresie jądra przyjęła się zasada, że lepiej jest dysponować zestawem niedrogich mechanizmów nlskopozlomowych niż jedną wysokopozlomową monolityczną abstrakcją (czytaj semafor).
■ Dla jądra semafor jest konstrukcją wysoko poziomową.
■ Krytyka semafora wynika z (wady semaforów):
- implementacja operacji p () iv() wykorzystuje mechanizmy niższego poziomu,
- konieczność przełączenia kontekstu i zmian w kolejkach modułu szeregowania czyni operacie na semaforze wolnymi,
- koszty operacji na semaforze są niedopuszczalne w przypadku blokad krótkoterminowych mimo braku budzenia wszystkich wątków,
- problem wydajnościowy zwany konwojami - powstaje podczas częstej rywalizacji o semafor, kiedy wątek po przejściu pod semaforem zostaje wywłaszczony - wtedy semafor jest zablokowany a nikt nie wykonuje się w sekcji krytycznej.
© Marek Nowak
Programowanie współbieżne w systemach operacyjnych UNIX