SMP architekturu dopodrobna neznam, ale:
- OS musi pouzit APIC, ktery rozdeluje preruseni na jednotlive procesory, bez toho SMP nebezi vubec. Musel by sis v assembleru naprogramovat kompletni obsluhu tohoto radice preruseni, navic v realnem modu je to uplne nesmyslne a pravdepodobne taky nemozne.
- k APIC muze dale kernel pouzit IRQ balancing, ale to uz je vec optimalizace a preemptivnosti process scheduleru
- vetsinou se presouvaji cele thready na jednotlive procesory, uz jenom kvuli lokalni cache v procesoru - bylo by nelogicke mit cast threadu zaroven ve dvou procesorech, takoveto reseni by melo prilis velky overhead.





Odpověď s citací