Diferença entre buffer e cache no SO
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
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para Comparação | Carregando | Armazenamento 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ção | Buffer é 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.
- 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. .
- O buffer sempre carrega o dados originais para ser enviado ao destinatário. No entanto, o cache carrega o cópia dos dados originais.
- 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.