Caché

Da Wikipedia, a enciclopedia libre.
Ir á navegación Ir á busca
Nota de desambiguación.svg Desambiguación : se está a buscar outros significados, consulte Caché (desambiguación) .

O termo caché, en informática , indica unha área de memoria extremadamente rápida pero normalmente cunha orde de magnitude baixa. O seu propósito é acelerar a execución de programas .

Un exemplo é a memoria caché , que se usa para recuperar rapidamente datos e programas que se espera que se utilicen a curto prazo.

Etimoloxía e pronuncia

"Cache" é unha adaptación en inglés do termo francés "caché" (en italiano "oculto"). Normalmente pronúnciase / ˈkaʃ / (influenciado polo inglés / ˈkæʃ / ). A orixe do nome deriva do feito de que a caché e o seu uso son "transparentes" para o programador, na práctica "ocultos" porque son administrados directamente polo sistema operativo ou polo hardware .

Descrición

Unha memoria caché está asociada á memoria principal, onde residen os datos. Normalmente ten unha capacidade menor que a memoria principal, pero o seu uso é máis conveniente en termos de tempo de acceso e / ou carga do sistema.

Cando se precisa acceso aos datos, búscase por primeira vez unha copia na caché: se está presente e é válida, úsase esta copia; se non, os datos recupéranse da memoria principal e almacénanse na caché, por se se poden usar máis tarde.

A memoria principal pode ser hardware como unha memoria RAM (memoria principal do procesador) ou un disco duro , pero tamén unha base de datos distribuída complexa, como DNS ou a web . Nestes casos, a memoria principal pódese cambiar sen pasar pola caché, o que leva a problemas de coherencia entre os datos "orixinais" e os datos da caché, un posible desaxuste.

Nalgúns casos é posible validar os datos contidos na caché consultando a memoria principal para ver se aínda está sincronizada e correcta. Esta é a tarefa que fan na web, por exemplo, os servidores proxy : preguntan ao servidor HTTP se a páxina que posuíu foi modificada despois de que se almacenou e, se non o é, evitan transferila e volve propoñela directamente ao cliente .

Noutros casos, úsase un mecanismo de caducidade temporal para os datos almacenados e ata que caducan os datos da caché úsase, aínda que non coincida co presente na memoria principal. Este é o mecanismo adoptado polo DNS.

Un caché reduce a carga de solicitude que ten que borrarse da memoria principal e da ligazón entre ela e o usuario de datos. Isto tamén pode axudar a mellorar o rendemento do sistema. Por exemplo, pense nun servidor proxy usado por moitos usuarios: cando un usuario solicite unha páxina que xa fora solicitada por outro, o proxy poderá responder sen ter que conectarse ao sitio orixinal e evitar así cargar tanto o orixinal sitio e a rede, mellorando así o rendemento do sistema incluso para as solicitudes que precisan ser reenviadas aos sitios orixinais.

Un caché utiliza un algoritmo para decidir que datos gardar e cales descartar, que ten en conta as páxinas usadas máis recentemente, a contigüidade das páxinas ou outros factores.

Unha caché pode indexar os datos almacenados en función do seu enderezo (un bloque de memoria ou datos do disco duro) ou do seu "nome" (caché asociativa, como unha páxina web ou un nome DNS ).

Nalgúns casos a memoria caché tamén admite a modificación de datos. Isto é sinxelo de implementar se a caché é o único camiño de acceso á memoria principal, como no caso da caché de memoria RAM presente nos procesadores: a caché "acepta" unha operación de escritura na memoria RAM, o que lle permite ao procesador continuar procesando , presenta inmediatamente os datos actualizados ao procesador se pide que se volvan ler e encárgase de escribilos na memoria RAM antes de eliminar a páxina. Deste xeito, se os datos da memoria son modificados con frecuencia polo procesador, é posible manter os cambios na caché e evitar transferencias continuas á RAM (ver Coherencia da caché ).

Todos os tipos de cachés almacenados en memoria non volátil pódense eliminar facilmente actuando directamente nos cartafoles relativos ou empregando os comandos do sistema operativo ou da aplicación ou empregando un dos moitos limpadores de terceiros [1] como, por exemplo, CCleaner .

Tipoloxía

O termo caché toma diferentes significados dependendo do termo ao que está asociado e dependendo do contexto. Entón falemos de: caché de memoria, caché de disco, TLB : tradución Lookaside Buffer (caché de táboa de páxinas, caché de predición de sucursais, táboa do historial de sucursais, caché de enderezos de sucursal, caché de traza), que son memorias físicas.

Outras son memorias xestionadas polo software para almacenar datos temporais en espazos MM reservados, como: caché de disco, caché de páxina, caché de sistema, caché de aplicacións, caché de base de datos, caché web, caché DNS, caché do navegador, caché do enrutador, etc.

Algúns destes últimos son só " Buffers " , é dicir, memorias non asociativas con acceso secuencial (cadeas de datos) en comparación con accesos aleatorios a través de asociacións de enderezos de memoria caché de cachés clásicos.

Memoria caché

Icona de lupa mgx2.svg O mesmo tema en detalle: memoria caché .

Úsase para acelerar o acceso ás localizacións de memoria RAM máis frecuentes e especialmente en sistemas multiprocesador con memoria compartida (compartida), para reducir o bus do sistema e o tráfico de memoria principal que é un dos principais pesos de botella destes sistemas. Trátase dunha pequena cantidade de memoria rápida instalada directamente no ou nas inmediacións do procesador. Esta memoria úsase para almacenar as instrucións dun programa e datos sobre quen operar. Utilízase memoria tipo SRAM (fronte a unha memoria DRAM principal) debido á súa maior velocidade de acceso. Historicamente esta foi a primeira caché empregada. Esta memoria era (e aínda se chama) "memoria caché" ou "memoria caché" ou simplemente " caché ". Ás veces, pero moi raramente, isto tamén se chama, cun termo inadecuado, " caché da CPU " (ver nota na memoria caché ). Por outra banda, o resto de cachés, que almacenan outros tipos de datos, sempre se definen asociando a súa función ao termo " caché ".

Caché de páxina

Consiste en ter unha parte da memoria RAM empregada polo sistema operativo na que se copian os datos actualmente en uso do disco duro. Neste caso, o acceso á RAM é máis rápido que o acceso ao disco. Dado que a memoria dispoñible é xeralmente limitada, o sistema operativo tenta manter unha páxina na memoria o máximo posible mantendo unha táboa de páxinas que non se usan actualmente pero que se fixeron no pasado. Cando se precise cargar unha nova páxina, sobrescribirase a máis antiga que aínda non está en uso.

Caché do disco

Consiste en ter un disco duro que ten unha parte de RAM no seu interior, onde se poden cargar os sectores do disco lóxicamente contiguos ao requirido. Cando se accede ao disco en modo de lectura, se os datos requiridos están presentes na caché, evítase o movemento da cabeza de lectura do disco, acelerando a recuperación de información e axudando a reducir o desgaste do disco.

Caché DNS

Icona de lupa mgx2.svg Mesmo tema en detalle: Sistema de nomes de dominio § Caché .

É un servidor DNS que non ten información autorizada, pero é capaz de pedirlle a servidores autorizados e almacenar as respostas. Os servidores DNS empregados polos usuarios de Internet adoitan ser servidores de caché. DNS usa un mecanismo de caducidade, polo cal cada rexistro recuperado dun servidor autorizado é válido durante un tempo determinado, despois do cal debe descartarse.

Caché web

Icona de lupa mgx2.svg O mesmo tema en detalle: caché web .

É unha parte do disco duro dedicada por un servidor proxy http ou polo navegador dun usuario para gardar as páxinas mentres se van cargando durante a navegación, polo que se pode recompoñer sen ter que volver preguntar ao sistema remoto. Neste caso, o pescozo de botella que desexa eliminar é o de banda ancha. Non obstante, a operación de almacenar en caché unha páxina non sempre é lexítima: pense por exemplo en cando realiza unha operación bancaria en liña. Xeralmente é a mesma páxina web que se envía xunto con instrucións sobre o seu posible uso nunha caché; nalgúns casos pode forzar ao seu navegador a recargar a páxina mantendo premida a tecla "ctrl" ou "shift" mentres fai clic na icona de recargar.

Caché de Google

Máis axeitadamente o caché do motor de busca , consiste en copias de páxinas web gardadas nos servidores dun motor de busca. Estes úsanse por dúas razóns: para realizar buscas locais dentro das páxinas e ofrecer a posibilidade de ver unha copia, aínda que non estea actualizada, dunha páxina non dispoñible por problemas momentáneos ou porque se eliminou do servidor orixinal.

Caché do explorador

Os navegadores empregados en calquera dispositivo gardan, ademais do historial de navegación, nomes de usuario e contrasinais introducidos, cookies e datos do sitio, información para cubrir formularios, incluso a caché. Isto represéntase polos contidos que se navegan: ficheiros, imaxes, textos, etc. Esta caché pode eliminarse facilmente eliminando, nos cartafoles do usuario, os elementos individuais, tanto mediante os comandos do navegador como mediante os chamados "limpadores".

A existencia desta caché facilita e personaliza a experiencia de navegación. Obviamente, cando se elimina, as páxinas cargadas "perden" as gravacións anteriores.

Cachés específicos

Calquera sistema operativo [2] , independentemente do tipo de dispositivo, usa o concepto de caché para varios fins. Algúns cachés poden ser facilmente borrables (directamente ou mediante limpadores), outros, por outra banda, son, por así dicir, semi-permanentes no sentido de que os seus datos están almacenados en cartafoles / ficheiros do sistema ou en bases de datos de configuración (como o " rexistro " Windows ). Polo tanto, a limpeza de cachés deste tipo normalmente require un funcionamento avanzado. Para algúns sistemas, incluso é necesario realizar un restablecemento para borrar cachés específicos.

Neste caso, a caché ten a función de optimizar a experiencia do usuario. Na práctica, o uso do dispositivo faise máis rápido, máis suave e máis personalizado.

Exemplos de caché do sistema operativo son:

  • palabras de busca introducidas e seleccionadas (caixa "atopar" ou "buscar")
  • ficheiros temporais
  • imaxes cargadas previamente para fondo de pantalla, pantalla de bloqueo, pantalla de inicio de sesión, protector de pantalla, perfil ou conta de usuario, iconas, etc.
  • camiños de instalacións periféricas
  • previsualizacións de imaxes, vídeos, documentos para que se mostren máis rapidamente ao abrir o cartafol que os contén
  • comandos tecleados e executados
  • axustes almacenados de: barras, notificacións, menús, listas, historias, etc.
  • tamaños de fiestras e axustes gráficos relacionados
  • información (datos, ficheiros, varios contidos) utilizada polas aplicacións ou o sistema operativo (os chamados "recentes" ou rexistros)
  • datos dos programas máis usados ​​(usados ​​para aumentar a velocidade de apertura)
  • referencias a aplicacións e periféricos desinstalados (controladores)
  • imaxes de "estados" anteriores do sistema como no caso de restaurar, actualizar, restablecer ou reinstalar
  • accesos realizados a cartafoles e ficheiros, rutas e dispositivos de rede, usuarios, periféricos, servizos diversos
  • información sobre os accesos ao dominio
  • Clave e contrasinal de cifrado de recuperación de dispositivos TPM

Problemas relacionados co uso

Ter unha memoria caché pode complicar moito o deseño dun dispositivo electrónico ou software de xestión, xa que é necesario manter a coherencia entre as memorias caché e a memoria principal. Isto vese especialmente nas máquinas multiprocesador onde o desenvolvemento de procesadores e placas base debe ter en conta os potenciais problemas de coherencia da caché e debe proporcionar mecanismos adecuados para evitar a corrupción de datos debido a problemas de sincronización entre caché e memoria principal.

Ademais, o software de xestión de memoria caché debe ser altamente sofisticado tanto na implementación como na estratexia de recuperación de datos (algoritmo) para evitar a chamada sobrecarga de recuperación. Basicamente, nunca debe ocorrer que a busca ou almacenamento de datos de memoria caché utilice recursos (especialmente o tempo) como para facer que a recuperación en si sexa demasiado pesada, o que, paradoxalmente, sería máis conveniente a partir da memoria RAM.

En xeral, os algoritmos de xestión de datos de caché están ligados a dous conceptos fundamentais:

  1. localidade do código
  2. borrando da caché os datos menos empregados recentemente

O primeiro aspecto está directamente ligado á redacción de código que afecta a páxinas de memoria ben definidas en cada fase de procesamento: unha vez rematado o procesamento dunha determinada parte do código, as páxinas de memoria empregadas xa non deberían ser referenciadas de tal xeito como para cambiar a situación do código pero tamén dos datos que se empregarán a partir dese momento.

O segundo aspecto, polo tanto, prevé que os datos presentes na caché e pertencentes a unha páxina de memoria referenciada cando a localización do código era diferente pódense eliminar da caché para deixar espazo aos datos relacionados coa situación actual do código.

Nota

  1. ^ Isto non se aplica a iOS .
  2. ^ Cómpre ter en conta que Windows, Linux e Android proporcionan comandos para eliminar a caché ou, en calquera caso, permiten que as aplicacións de terceiros o fagan, incluso en profundidade. Cos sistemas de Apple é historicamente complicado se non deliberadamente imposible (hai que realizar un reinicio).

Elementos relacionados

Ligazóns externas

Control da autoridade LCCN (EN) sh88007957 · GND (DE) 4362843-6
Informática Portal de TI : accede ás entradas da Wikipedia que se ocupan de TI