Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> sistemi >> Linux >> .

Che cosa è la memoria condivisa in Linux

? Memoria condivisa è un modo per i diversi elementi di un sistema di computer di comunicare tra loro attraverso la lettura e la scrittura per lo stesso blocco di memoria RAM . Gli elementi possono essere diversi thread di esecuzione nell'ambito dello stesso programma , programmi diversi , o di programmi e dispositivi hardware . Systemwide memoria condivisa era la norma nei primi giorni di computing. Moderni sistemi operativi in modalità protetta come Linux normalmente non consentono di programmi diversi di accedere l'uno la memoria per motivi di sicurezza e di stabilità , a meno che non siano seguite procedure specifiche per consentire in modo esplicito. Storia

Tutta la memoria è sempre stata condivisa da tutti i programmi in anticipo, " Modalità Reale " sistemi operativi come DOS . Qualsiasi programma in grado di leggere o scrivere la memoria di qualsiasi altro programma in qualsiasi momento, senza restrizioni . Autori del DOS TSR -così chiamati " Terminate and Stay Resident " programmi usati questa funzione in molti modi intelligenti per simulare il multitasking ed estendere la funzionalità di altri programmi senza l'accesso al codice sorgente originale . Questa caratteristica ha permesso anche ai virus di propagarsi con estrema facilità , ha offerto programmi di alcuna sicurezza contro il controllo dei propri dati da parte di altri programmi , e ha reso facile il crash l'intero sistema attraverso un piccolo errore di programmazione che accidentalmente sovrascritto la memoria di alcuni altri processi . < Br ingegneri >
modalità protetta

di Intel hanno riconosciuto i problemi della sicurezza e della stabilità di memoria condivisa per tutto il sistema , quindi hanno sviluppato " modalità protetta ", la cui prima comparsa su 80.286 chips. Modalità Protetta introduce il concetto di "anelli ", o livelli di privilegio . Anello 0 processi, destinati al kernel del sistema operativo , in grado di leggere e scrivere la memoria . Anello 3 processi , destinati a programmi ordinari , vengono arrestati dalla lettura e la scrittura della reciproca memoria dall'hardware . Tentare di farlo i risultati in un " errore di segmentazione " errore e di solito termina il programma incriminato .
Memoria

modalità condivisa Moderna Protetta impedito molti dei problemi causato da systemwide memoria condivisa in modalità reale , ma è ancora a volte desiderabile per un programma per poter leggere e scrivere la memoria che è condiviso con qualche altro programma o dispositivo. I sistemi operativi come Linux, quindi , aggiunto il supporto per la memoria condivisa in modo esplicito . Programmi e dispositivi possono scegliere di condividere la memoria con un altro, soggetto ad alcune restrizioni . Thread di esecuzione all'interno di uno parti del programma il loro memoria per impostazione predefinita.
Parallel Computing

Molti computer contengono più di un core della CPU . Programmi stessi possono dividere in molteplici " fili" di esecuzione , ciascuno dei quali può eseguire , allo stesso tempo , per accelerare le operazioni complessive richieste di alcuni dati. Hanno spesso bisogno di operare sugli stessi dati contemporaneamente o comunicare il loro stato ad un altro, e la memoria condivisa è un modo popolare per fare questo .
Librerie dinamiche

Comunemente librerie dinamiche utilizzate come libc sono tipicamente caricate da molti programmi diversi . Poiché il codice oggetto in queste librerie è solitamente usato in una sola lettura modo da programmi , significativi risparmi di memoria possono essere realizzati con memoria condivisa . La libreria dinamica può essere caricato solo una volta dal sistema operativo e condiviso tra un qualsiasi numero di programmi , diminuendo l'utilizzo complessivo della memoria .

 

sistemi © www.354353.com