Vedo la parola "BUFFER" dappertutto, ma non riesco a capire cosa sia esattamente.
- Qualcuno potrebbe spiegare cos'è il buffer nella lingua dei laici ?
- Quando viene usato?
- Come si usa
Vedo la parola "BUFFER" dappertutto, ma non riesco a capire cosa sia esattamente.
Risposte:
Immagina di mangiare caramelle da una ciotola. Prendi un pezzo regolarmente. Per evitare che la ciotola si esaurisca, qualcuno potrebbe riempire la ciotola prima che si svuoti, in modo che quando vuoi prendere un altro pezzo, ci siano caramelle nella ciotola.
La ciotola funge da cuscinetto tra te e il sacchetto di caramelle.
Se stai guardando un film online, il servizio web scaricherà continuamente i prossimi 5 minuti circa in un buffer, in questo modo il tuo computer non dovrà scaricare il film mentre lo guardi (il che causerebbe l'impiccagione).
Il termine "buffer" è un termine molto generico e non è specifico per IT o CS. È un posto dove archiviare qualcosa temporaneamente, al fine di mitigare le differenze tra velocità di ingresso e velocità di uscita. Mentre il produttore è più veloce del consumatore, il produttore può continuare a memorizzare l'output nel buffer. Quando il consumatore accelera, può leggere dal buffer. Il buffer è lì nel mezzo per colmare il divario.
Se fai una media delle definizioni su http://en.wiktionary.org/wiki/buffer , penso che avrai l'idea.
Per la prova del fatto che "abbiamo dovuto percorrere 10 miglia camminando sulla neve ogni giorno per andare a scuola", vedere il Manuale di chiamate al monitor TOPS-10 Volume 1 , sezione 11.9, "Uso dell'I / O bufferizzato", nel segnalibro 11-24. Non leggere se sei soggetto ad incubi.
Un buffer è semplicemente un pezzo di memoria utilizzato per contenere i dati. Nel senso più generale, di solito è un singolo blocco di memoria che viene caricato in una sola operazione, e poi svuotato in una o più, l'esempio "candy bowl" di Perchik. In un programma C, ad esempio, potresti avere:
#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;
// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
write(STDOUT, buffer, len);
... che è una versione minima di cp (1) . Qui, l'array buffer viene utilizzato per memorizzare i dati letti da read (2) fino a quando non viene scritto; quindi il buffer viene riutilizzato.
Esistono schemi di buffer più complicati, ad esempio un buffer circolare , in cui viene utilizzato un numero finito di buffer, uno dopo l'altro; una volta che i buffer sono tutti pieni, l'indice "si avvolge" in modo che il primo venga riutilizzato.
Buffer significa "memoria temporanea". I buffer sono importanti nell'informatica perché i dispositivi e i sistemi interconnessi raramente sono "sincronizzati" tra loro, quindi quando le informazioni vengono inviate da un sistema all'altro, ha un posto in cui attendere che il sistema destinatario sia pronto.
In realtà dipenderebbe dal contesto in ogni caso in quanto non esiste una definizione, ma parlando in generale un buffer è un posto per contenere temporaneamente qualcosa. La migliore analogia del mondo reale che mi viene in mente sarebbe un'area di attesa. Un semplice esempio nell'informatica è quando il buffer si riferisce a una parte della RAM utilizzata per l'archiviazione temporanea dei dati.
Il buffer è un segnaposto temporaneo (variabili in molti linguaggi di programmazione) in memoria (ram / disco) su cui è possibile eseguire il dump dei dati e quindi eseguire l'elaborazione.
Ci sono molti vantaggi del buffering in quanto consente che le cose accadano in parallelo, migliorino le prestazioni di IO, ecc.
Ha anche molti svantaggi se non usato correttamente come buffer overflow, buffer underflow, ecc.
C Esempio di buffer dei caratteri.
char * buffer1 = calloc (5, sizeof (char));
char * buffer2 = calloc (15, sizeof (char));
Un buffer è un'area dati condivisa da dispositivi hardware o processi di programma che operano a velocità diverse o con diversi insiemi di priorità. Il buffer consente a ciascun dispositivo o processo di funzionare senza essere ostacolato dall'altro. Affinché un buffer sia efficace, la dimensione del buffer e gli algoritmi per spostare i dati dentro e fuori dal buffer.
il buffer è un "punto di mantenimento del punto medio" ma non esiste tanto per accelerare la velocità di un'attività quanto per supportare il coordinamento di attività separate.
Questo termine è usato sia nella programmazione che nell'hardware. Nella programmazione, il buffering a volte implica la necessità di schermare i dati dalla posizione finale prevista in modo che possano essere modificati o altrimenti elaborati prima di essere spostati in un normale file o database.
Il buffer è un segnaposto temporaneo (variabili in molti linguaggi di programmazione) in memoria (ram / disco) su cui è possibile eseguire il dump dei dati e quindi eseguire l'elaborazione.
Il termine "buffer" è un termine molto generico e non è specifico per IT o CS. È un posto dove archiviare qualcosa temporaneamente, al fine di mitigare le differenze tra velocità di ingresso e velocità di uscita. Mentre il produttore è più veloce del consumatore, il produttore può continuare a memorizzare l'output nel buffer. Quando il consumatore accelera, può leggere dal buffer. Il buffer è lì nel mezzo per colmare il divario.