Diferença entre buffer e cache no SO

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 11 Poderia 2024
Anonim
Diferença entre buffer e cache no SO - Tecnologia
Diferença entre buffer e cache no SO - Tecnologia

Contente


A maioria das pessoas se confunde com os termos buffering e cache. Embora ambos retenham os dados temporariamente, eles são diferentes um do outro. Carregando é basicamente usado para combinar a velocidade de transmissão entre er e receptor. Em outras mãos, Cache aumenta a velocidade de acesso dos dados usados ​​repetidamente. Eles também compartilham algumas outras diferenças que foram discutidas no gráfico de comparação abaixo.

Conteúdo: Buffer contra cache

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoCarregandoArmazenamento em cache
Basic O buffer corresponde à velocidade entre o er e o receptor do fluxo de dados.O armazenamento em cache aumenta a velocidade de acesso dos dados usados ​​repetidamente.
Lojas O buffer armazena a cópia original dos dados.O cache armazena a cópia dos dados originais.
LocalizaçãoBuffer é uma área na memória primária (RAM).O cache é implementado no processador e também pode ser implementado na RAM e no disco.


Definição de Buffer

O buffer é uma área na memória principal (RAM) que armazena temporariamente os dados quando estão sendo transferidos entre dois dispositivos ou entre um dispositivo e um aplicativo. O buffer ajuda a combinando a velocidade entre o er e o receptor do fluxo de dados. Se a velocidade de transmissão do er for mais lenta que o receptor, um buffer é criado na memória principal do receptor e acumula os bytes recebidos do er. Quando todos os bytes dos dados chegaram, ele fornece dados para o receptor operar.

O buffer também ajuda quando er e o receptor tiverem diferentes tamanhos de transferência de dados.Em redes de computadores, buffers são usados ​​para fragmentação e remontagem De dados. No lado er, os dados grandes são fragmentados em pacotes pequenos e estão na rede. No lado do receptor, é criado um buffer que coleta todos os pacotes de dados e os remonta para criar um grande volume de dados novamente.


O buffer também suporta copiar semântica para uma E / S de aplicativo. A Semântica de cópia pode ser explicada com um exemplo: suponha que um aplicativo tenha um buffer de dados a serem gravados no disco rígido. Para isso, o aplicativo chama a chamada de sistema write (). Agora, suponha que o aplicativo altere os dados do buffer antes que a chamada do sistema retorne. Nesse caso, a semântica de cópia fornece a versão dos dados no momento da chamada do sistema.

Os buffers são implementados em três capacidades.

Capacidade zero: Aqui, o tamanho máximo da memória do buffer é zero. Como não pode conter nenhum dado, o er deve ser bloqueado até que o receptor receba os dados.

Capacidade limitada: Aqui, o tamanho da memória buffer é finito. No máximo, o er pode n bloco de dados. Se a memória do buffer estiver cheia, o er será bloqueado até que haja espaço disponível na memória.

Capacidade não vinculada: aqui a memória buffer é potencialmente infinita. Qualquer número de blocos de dados pode ser enviado. O er nunca é bloqueado.

Definição de Cache

Cache é uma memória implementada no processador que armazena a cópia dos dados originais. A idéia por trás do armazenamento em cache é que os blocos de disco acessados ​​recentemente devem ser armazenados na memória cache, para que quando o usuário precisar acessar novamente os mesmos blocos de disco, ele possa ser tratado localmente através da memória cache, evitando o tráfego da rede.

O tamanho do cache é limitado, pois contém apenas os dados usados ​​recentemente. Quando você modifica o arquivo de cache, também pode ver essa modificação no arquivo original. Caso os dados necessários não estejam na memória cache, os dados são copiados da origem para a memória em cache para disponibilizá-los ao usuário quando solicitar esses dados na próxima vez.

Os dados do cache também podem ser mantidos no disco em vez da RAM, pois há uma vantagem de que o cache de disco são confiáveis. Caso o sistema travar, os dados em cache ainda estarão disponíveis no disco. Mas os dados seriam perdidos na memória volátil como a RAM. Mas uma vantagem de armazenar os dados em cache no RAM é que seria acessado velozes.

  1. A principal diferença entre buffer e cache é que a memória buffer é usada para lidar com a velocidade diferente entre er e receptor do fluxo de dados, enquanto o cache é uma memória que armazena os dados para que a velocidade de acesso possa ser aumentada para dados usados ​​repetidamente. .
  2. O buffer sempre carrega o dados originais para ser enviado ao destinatário. No entanto, o cache carrega o cópia dos dados originais.
  3. O buffer é sempre implementado no memória principal (RAM), mas o cache pode ser implementado em RAM bem como em Disco.

Conclusão:

O buffer e o armazenamento em cache armazenam os dados temporariamente, mas ambos são usados ​​para propósitos diferentes. Onde o buffer corresponde à velocidade entre dois dispositivos de comunicação e o cache, o acesso aos dados é repetido visitado.