Eu pesquisei, mas não encontrei nenhuma diferença exata entre RAM e um buffer. Se ambos são usados para armazenamento temporário, por que eles têm nomes diferentes, embora ambos tenham a mesma propriedade?
Resposta
A buffer é geralmente usado apenas como armazenamento temporário enquanto algo está sendo transmitido ou lido. Por exemplo, você pode estar lendo dados de um meio de armazenamento externo de resposta lenta (por exemplo, um CD) e processando-os continuamente. Nesta configuração , o primeiro processo lê pedaços de dados do meio e os grava no buffer sob demanda, enquanto o último lê do buffer como se estivesse lendo diretamente do armazenamento. Isso evita deadlocks, pois o último processo não precisa de acesso exclusivo ao o meio.
Em contraste, RAM é simplesmente o que é usado como memória principal para os processos em um computador de uso geral. Pode haver vários buffers não apenas na RAM, mas também em outras unidades de memória. Dizer que a RAM é usada para “armazenamento temporário” pode ser um tanto enganoso, já que “temporário” aqui realmente significa “até que o processo que a usa esteja inativo ou extinto” (e não “até que os dados não sejam mais necessários”).
Em resumo, um buffer é um conceito abstrato (e só existe realmente no nível do software); RAM é um tipo concreto de tecnologia de armazenamento.
Resposta
As unidades SSD são frequentemente usadas como buffers. Você não chamaria uma unidade SSD de RAM, certo?
RAM é memória de acesso aleatório. Um buffer é uma estrutura de dados usada para otimizar o fluxo de dados.
Você comete um erro de categoria. Você compara coisas que não podem ser comparadas. É como perguntar por que seu nariz não se chama Usain Bolt quando os dois estão correndo.
Resposta
Buffer é um conceito. É uma estrutura usada para armazenar dados para mantê-los “mais próximos” enquanto você os processa. Como armazenar um vídeo no YouTube. Muitos tipos de memórias são usados como buffers. A RAM certamente é ótima para armazenar buffers, mas para grandes dados você também pode armazenar dados em um disco rígido ou SSD.
Buffers são usados principalmente para armazenar dados que são caros para ler e escrever (caro em termos de tempo, largura de banda, etc), então você “prefere ler apenas um pedaço deles uma vez, trabalhar nisso e escreva de volta quando terminar. E a RAM é um bom lugar para fazer isso, a menos que seus dados sejam enormes. Como você sabe, a RAM atual vai de centenas de MiB (smartphones) a dezenas de GiB (PC de última geração).
RAM é o tipo específico de memória. Muitos softwares o usam para manter buffers, mas também para manter seu próprio código, etc.