Buffer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Etichetta: Sequenze di caratteri ripetuti da parte di un nuovo utente o IP
fix
 
(93 versioni intermedie di 66 utenti non mostrate)
Riga 1:
{{nota disambigua|Buffer di disaccoppiamento (elettronica)|[[Amplificatore separatore]]}}
{{F|terminologia informatica|agostofebbraio 20102013}}
In [[informatica]], un '''buffer''' – termine della [[lingua inglese]] che significa letteralmente ''[[tampone]]'': in italiano, '''memoria tampone''' o anche ''intermediaria, di transito'' – è una zona di [[Memoria (informatica)|memoria]] usata temporaneamente per l'[[input]] o l'[[output]] dei dati oppure per velocizzare l'esecuzione di alcune operazioni, ad esempio operazioni su [[Stringa (informatica)|stringhe]].
 
In [[informatica]], un '''buffer''', in termine della [[lingua inglese]] che significa letteralmenteitaliano ''[['tampone]]'': in italiano', '''memoria tamponedi transito''' o anche '''memoria intermediaria, di transito''', è una zona di [[Memoria (informatica)|memoria]] usata temporaneamente per l'[[input]]compensare differenze di velocità nel trasferimento o l'[[output]]nella deitrasmissione di dati, oppure per velocizzare l'esecuzione di alcune operazioni, come ad esempio le operazioni susulle [[Stringa (informatica)|stringhe di caratteri]].
 
== Applicazioni ==
Un buffer può essere implementatorealizzato sia con l'[[hardware]], per mezzo di [[corcuitocircuito elettronico|circuiti]] dedicati, sia con il [[software]], riservando una parte della memoria ai dati da manipolare; nei moderni sistemi sono presenti entrambeentrambi lei implementazionimetodi, anche se viene preferita la soluzione software per la sua semplicità di implementazione e prestazione.
 
=== Sistemi di elaborazione ===
I dati possono essere ricevuti da o spediti verso [[periferiche]] esterne al [[computer]].
 
Il buffer è utilizzato per la comunicazione fra componenti che lavorano a [[velocità]] differenti,. comeAd adesempio es.se la [[CPU]], che lavora ad alta velocità, deve spedire alcuni dati alla [[stampante]], ila datiquale dasupporta stampare.una La CPU ovviamente èvelocità molto piùminore, velocescriverà e quindi scrive itali dati nel buffer di memoria, epotendo poicosì continuacontinuare a lavorare cona un altro [[processo (informatica)|processo]] mentre la stampante può stampare il dato leggendolo dal buffer e non interrompendo più la CPU. Non sarebbe pensabile che la CPU rimanesse bloccata aspettando che la stampante sia in grado di ricevere tutti i dati.
Viceversa, se la [[CPU]] è impegnata in lavori gravosi, potrebbe "perdere" alcuni [[input]] se non fossero salvati in un buffer e poi prelevati dal [[processore]].
 
=== Networking ===
I buffer sono necessari per coprire i [[tempo di latenza|tempi di latenza]] dei [[collegamento di rete|collegamenti di rete]]. Due dispositivi che devono inviarsi grandi quantità di dati, in un [[Simplex|sistema monodirezionale]], dovranno salvare i dati da inviare in un buffer, per poi inviarloinviarli quando il canale è libero.
 
Questa tecnica è fondamentale per gliil [[Hubfunzionamento (informatica)|hub]]di apparati di rete intelligenti, come uno [[switch]]. Se più canali convogliano il traffico verso unoun solo switch, l'[[Hub (informatica)|hub]]questo è costretto a salvare temporanemantetemporaneamente tutti i dati in arrivo in un buffer, svuotandolo a mano a mano che i dati vengono inviati.
 
=== Software ===
I buffer software possono essere utilizzati ad un [[livello]] più alto dai software, solitamente quando sono in attesa di eventi esterni (come l'inserimento di [[dato|dati]] da [[tastiera (informatica)|tastiera]]).
 
==== Problematiche ====
{{vedi anche|Buffer overflow}}
 
L'utilizzo di buffer nei software, li espone, se non adeguatamente protetti, ad [[attacco (informatica)|attacchi]] che causano ''[[buffer overflow]]'' bloccando il programma o il sistema...............
I buffer software possono essere utilizzati ada un [[livello]] più alto dai software, solitamente quando sono in attesa di eventi esterni (come l'inserimento di [[dato|dati]] da [[tastiera (informatica)|tastiera]]).
 
L'utilizzo di buffer nei software, li espone, se non adeguatamente protetti, ad [[attaccoAttacco (informatica)informatico|attacchi]] che causano ''[[buffer overflow]]'' bloccando il programma o il sistema...............
 
== Algoritmi e tecniche ==
La memorizzazione in buffer avviene principalmente attraverso l'utilizzo di ''[[coda (informatica)|code'']] (''[[FIFO]]'') o più raramente di ''stack''[[Pila (informatica)|pile]] (''[[LIFO]]''). Una struttura a coda permette l'ottimizzazione della sequenza di invio dei dati. NelNelle networkingreti, spesso è associata ad algoritmi di priorità, per inviare per primi i dati definiti come "più importanti".
 
== Differenze fra buffer e cache ==
* I buffer vengono utilizzati da processi che devono effettuare operazioni di input/output (esempio ''frame buffer'' che è la memoria che registra i pixel degli [[Schermo LCD|schermi LCD]]). Molte volte i buffer vengono utilizzati come file di output.
{{F|informatica|agosto 2010}}
* La [[cache]] è frequentemente utilizzata come disco di [[I/O]], in modo tale da permettere a più processi che necessitano dello stesso file di accedervi contemporaneamente, venendo tale file copiato in cache in modo tale da velocizzare le operazioni: essa, infatti, è una memoria ad [[accesso]] rapidissimo, molto più veloce della [[RAM]], ma anche con un costo fisico più elevato di quello della ramRAM, pertanto la sua quantitàcapienza è sempre piuttosto limitata (da {{Tutto attaccato|1 [[Megabyte|MB]]}} nei [[masterizzatore|masterizzatori]] a {{Tutto attaccato|3264 MB}} negli [[Disco rigido|hard disk]]).
* I buffer hanno un {{Chiarire|''fan output''}} maggiore del {{Chiarire|''fan input''}}.
 
* I buffer vengono utilizzati da processi che devono effettuare operazioni di input/output. Molte volte i buffer vengono utilizzati come file di output
== Buffer nel mondo analogico ==
* La [[cache]] è frequentemente utilizzata come disco di [[I/O]] in modo tale da permettere a più processi che necessitano dello stesso file di accedervi contemporaneamente, venendo tale file copiato in cache in modo tale da velocizzare le operazioni: essa, infatti, è una memoria ad [[accesso]] rapidissimo, molto più veloce della [[RAM]], ma anche con un costo fisico più elevato di quello della ram, pertanto la sua quantità è sempre piuttosto limitata (da {{Tutto attaccato|1 [[Megabyte|MB]]}} nei [[masterizzatore|masterizzatori]] a {{Tutto attaccato|32 MB}} negli [[Disco rigido|hard disk]]).
{{vedi anche|Amplificatore separatore}}
 
Questi circuiti separano un'area ad alta impedenza da una restante parte del sistema la cui impedenza è bassa e potrebbe caricare in un modo inaccettabile.
 
== Voci correlate ==
* [[es:Buffer de datosoverflow]]
* [[Cache]]
* [[StackPila (informatica)]]
* [[FIFO]]
* [[LIFO]]
 
== Altri progetti ==
{{interprogetto|preposizione=sul|wikt=buffer}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||buffer}}
* {{Garzanti}}
 
{{Portale|Informatica}}
 
{{Controllo di autorità}}
 
[[Categoria:Gestione della memoria]]
[[Categoria:Terminologia informatica]]
 
[[ar:صوان (معلوماتية)]]
[[bg:Буфер (изчислителна техника)]]
[[ca:Memòria intermèdia]]
[[cs:Vyrovnávací paměť]]
[[de:Puffer (Informatik)]]
[[el:Προσωρινή μνήμη (υπολογιστές)]]
[[en:Data buffer]]
[[es:Buffer de datos]]
[[fa:حافظه میانگیر]]
[[fi:Puskurimuisti]]
[[fr:Mémoire tampon]]
[[he:חוצץ]]
[[hr:Međuspremnik]]
[[ja:バッファ]]
[[kk:Буферлеу (информатика)]]
[[ko:버퍼 (전산학)]]
[[pl:Bufor (programowanie)]]
[[pt:Buffer (ciência da computação)]]
[[ru:Буфер (информатика)]]
[[sk:Vyrovnávacia pamäť]]
[[sr:Бафер]]
[[sv:Buffert (datalogi)]]
[[tr:Ara Bellek]]
[[uk:Буфер (інформатика)]]
[[zh:緩衝器]]