? Symmetriska operativsystem såsom Windows 7 , Ubuntu Linux och Mac OS X fungerar utmärkt på råvaru -servrar , bärbara datorer eller stationära system . För att få maximal prestanda från dessa operativsystem , välj maskinvara och programvara som har utformats från grunden för att stödja symmetrisk multi -teknik . Flera processorer
Symmetriska operativsystem fungerar bäst när de dela arbetsbördan mellan flera processorer . Detta kan åstadkommas genom att skapa kluster av fristående arbetsstationer eller servrar anslutna via ett höghastighetsnät . Men processorer med flera kärnor på samma chip ger ännu bättre prestanda . Varje kärna anses vara en separat processor som kan utföra instruktioner oberoende av alla andra kärnor. Eftersom processorkärnor är på samma chip , data transit reduceras dramatiskt . Även om varje processor utför sin egen andel av arbetsbelastningen
Snabb Data Bus
, de alla har tillgång till en gemensam pool av cacheminne , system-RAM , nätverksanslutningar och ihållande lagringsenheter . Det samlade resultatet av systemet minskas om en processor har att slösa cykler väntar på en chans att läsa eller skriva data till systemets cacheminne . AMDs HyperTransport och Intels QuickPath Interconnect är två tekniker som ökar symmetriskt operativsystem prestanda genom att påskynda överföringen av data mellan processorkärnor och resten av systemet .
Hårdvara Tillgång
Symmetriska operativsystem kontinuerligt följa tillståndet i sina system , identifiera bifogade maskinvara och kringutrustning och övervaka deras status . Detta sker genom att tillhandahålla moderkortets BIOS stöd för symmetrisk multi . Dessutom symmetriska operativsystem måste kunna bearbeta hårdvaruavbrott för varje processor . System med I /O Advanced Programmable Interrupt Controller , eller I /O APIC , stödja förse varje processor med sin egen uppsättning av avbrott som den symmetriska operativsystemet då kan övervaka , process eller konfigurera efter behov .
ansökningar Threading
Den verkliga fördelen med symmetriska operativsystem kan bara ses om de program du kör är utformade för att dra fördel av flera processorer . Utvecklare kan skriva ett program som innehåller en samling av flera oberoende uppgifter eller trådar . Var och en av dessa uppgifter kan utföras parallellt med andra uppgifter vid behov . När programmet körs , passerar den de uppgifter som den behöver för att utföra den symmetriska operativsystem som i sin tur tilldelar dem sin egen processor eller kärna . Programmeringsspråk som Java , C # , Ruby och Python har inbyggt stöd för flera processorer genom trådar .