sistemi operativi simmetrici funzionano meglio quando condividono il carico di lavoro tra più processori . Ciò può essere realizzato creando cluster di stazioni di lavoro o server collegati da una rete ad alta velocità standalone . Tuttavia, processori con più core sullo stesso chip garantiscono prestazioni ancora migliori . Ogni core è considerato un processore separato che può eseguire istruzioni indipendentemente da altre core . Dal momento che i core del processore sono sullo stesso chip , dati il tempo di transito è ridotto drasticamente .
Veloce bus dati
Anche se ogni processore esegue la propria quota del carico di lavoro , che tutti hanno accesso a un pool comune di memoria cache , RAM di sistema , le connessioni di rete e dispositivi di storage persistenti. La performance complessiva del sistema è ridotta se un processore deve sprecare cicli di attesa per avere la possibilità di leggere o scrivere i dati nella cache di sistema. HyperTransport di AMD e Intel QuickPath Interconnect di sono due tecnologie che aumentano simmetrica prestazioni del sistema operativo , accelerando il trasferimento di dati tra i core del processore e il resto del sistema .
Hardware Access
sistemi operativi simmetrici monitorare costantemente lo stato dei loro sistemi , identificare le periferiche hardware collegate e monitorare il loro stato . Questo si realizza fornendo supporto BIOS della scheda madre per il multiprocessing simmetrico . Inoltre, i sistemi operativi simmetrici devono essere in grado di elaborare interruzioni hardware per ogni processore . Sistemi con I /O Advanced Programmable Interrupt Controller , o I /O APIC , sostengono fornire ogni processore con una propria serie di allarmi che il sistema operativo simmetrica può quindi monitorare , processo o riconfigurare come necessario .
applicazioni di filettatura
Il vero vantaggio di sistemi operativi simmetrici possono essere visti solo se le applicazioni si eseguono sono progettate per sfruttare più processori . Gli sviluppatori possono scrivere una domanda contenente una raccolta di più attività o thread indipendenti. Ognuna di queste attività possono essere eseguite in parallelo con altre attività , se necessario. Come viene eseguita l'applicazione , passa i compiti di cui ha bisogno per eseguire il sistema operativo simmetrica che , a sua volta , li assegna il proprio processore o nucleo . Linguaggi di programmazione come Java , C # , Ruby e Python hanno il supporto integrato per il multiprocessing attraverso discussioni .
sistemi © www.354353.com