|
Odpowiem na pierwotne pytanie:
Synchronizacja procesorow (i procesow) zajmuje sie scheduler. Scheduler jest to czesc systemu operacyjnego, wiec wykonuje sie to programowo, (w sensie nie sprzetowo) w ramach dzialajacego systemu operacyjnego (oczywiscie scheduler uzywa semaforow w celu zabezpieczania sekcji krytycznych - w windowsie jest to DRL, w lin 2.6 chyba zabezpiecza te tablice aktywna i pasywna).
Jestes pewien ze w MACach nie ma synchronizacji (bo rozumiem ze jak piszesz "Czy robi sie to programowo, czy systemowo? (w Macach - programowo)", to w tym sensie ze w systemie jej nie ma i samemu trzeba programowac) ?
To jeszcze tez zalezy co rozumiemy pod programowaniem synchronizacji. Czy tylko ustalanie priorytetow i innych cech procesow (w tym np. listy hard affinity procesorow w Windowsie), czy programowanie schedulera (czyli obslugi tych cech i ich przetwarzania).
|