2. Los niveles que componen la jerarquía de memoria
habitualmente son:
• Nivel 0: Registros del microprocesador o CPU
• Nivel 1: Memoria caché
• Nivel 2: Memoria primaria (RAM)
• Nivel 3: Memorias flash
• Nivel 4: Disco duro (con el mecanismo de memoria
virtual)
• Nivel 5: Cintas magnéticas (consideradas las más
lentas, con mayor capacidad, de acceso secuencial)
• Nivel 5: Redes (actualmente se considera un nivel más
de la jerarquía de memorias)
La jerarquía de memoria es la organización piramidal
de la memoria en niveles que tienen las computadoras.
El objetivo es conseguir el rendimiento de una memoria
de gran velocidad al coste de una memoria de baja
velocidad, basándose en el principio carencia de
referencias.
3. Los puntos básicos relacionados con la memoria pueden resumirse en:
• Capacidad
• Velocidad
• Coste por bit
La cuestión de la capacidad es simple, cuanto más memoria haya disponible, más podrá utilizarse.
La velocidad óptima para la memoria es la velocidad a la que el microprocesador puede trabajar, de modo que no haya
tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados.
En suma, el coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.
Los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio.
Las siguientes afirmaciones son válidas:
• A menor tiempo de acceso mayor coste.
• A mayor capacidad menor coste por bit.
• A mayor capacidad menor velocidad.
Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda
de rendimiento y con un coste que no sea excesivo.
Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un
rendimiento cercano al de la memoria más rápida.
5. Existen diversos motivos para realizar una migración, tales como la preservación o difusión de los contenidos, mejoras en el
funcionamiento, cumplir con nuevos requerimientos de usuario o de software, la interoperabilidad, la actualización de versiones, la
estandarización de la tecnología, la reducción de costos al optar por un software libre, el aumento en el volumen de datos, nuevos
procesos de negocio o mejoras en la seguridad o el control de la información, entre otros escenarios posibles
Categorías
Los datos pueden ser generados por múltiples aplicaciones de software, almacenados en diversos medios como archivos,
servidores o bases de datos, y además intervenir en varios procesos de negocio, así que la necesidad de transferir y convertir los
datos puede ser impulsada por múltiples requerimientos y el enfoque adoptado para la migración depende de esos requisitos.
Sobre esta base se proponen cuatro tipos principales de migración:
6. Migración de almacenamiento
Se puede optar por reemplazar los medios de almacenamiento para aprovechar tecnologías más eficientes o responder a nuevos
requerimientos, como la ubicuidad o la apertura a la web, lo que obliga a trasladar los bloques físicos de datos de un dispositivo a
otro, a menudo utilizando técnicas de virtualización. Por lo general, el formato de datos y el contenido en sí mismo no se suelen
cambiar en el proceso y normalmente se obtienen resultados bastante buenos, con mínimo o ningún impacto.
7. Migración de aplicación
Un cambio de proveedor de la aplicación —por ejemplo, un nuevo CRM o plataforma ERP— inevitablemente implica una transformación
sustancial, ya que casi todas las aplicaciones operan en su propio modelo de datos específico, y además, los paquetes comerciales
están generalmente configurados para cada cliente mediante metadatos. Las Interfaces de Programación de Aplicaciones (API) se
suministran para proteger la integridad de los datos que se tienen que manejar. El uso de la API es normalmente una condición de la
garantía del software, a pesar de que se puede renunciar a ello si se utilizan servicios propios o certificados de asociados profesionales y
todas las herramientas del proveedor.
Migración de proceso de negocio
Los procesos de negocio funcionan a través de una combinación de acciones humanas y de sistemas informáticos. A menudo suceden
cambios en las compañías como fusiones, adquisiciones, remodelaciones y optimizaciones a los que se deben adaptar los datos y flujos
de datos de un servidor, base de datos o aplicación que contienen la información sobre los clientes, productos y operaciones, para
reflejar los cambios en la organización.
En función del momento en que se realice, también podemos distinguir los siguientes tipos de migración:
8. Migración de base de datos
Del mismo modo, puede ser necesario migrar de un proveedor de base de datos a otro o actualizar la versión del software
de gestión que se utiliza. Si tenemos una aplicación sobre una base de datos como por ejemplo Access y posteriormente
"crecemos" de manera que nos hace falta un sistema gestor de bases de datos más potente, lo más seguro es que nos
decantemos por Oracle, DB2, Informix, SQL Server o similares. En este caso, los datos, que estarán en formato "Access"
deberán pasar a formato "SQL Server" o formato para "Oracle", y la migración conlleva la creación de tablas o modificación
de las existentes, cambios en algunos tipos de datos que existen en una base de datos pero no en otras, etc. Especialmente
delicados son los campos fecha, los numéricos (enteros, reales, etc.), los de tipo "memo" o campos de extensión superior a
256 caracteres, campos para imágenes, etc., ya que cada SGBD los trata o los "espera" de manera diferente.
Actualmente la mayoría de SGBD incluyen herramientas de ayuda a la migración más o menos "fiables". No obstante, ni
que decir tiene que el proceso de migración de datos es lo suficientemente delicado como para realizarlo en un entorno de
pruebas, contemplando toda la casuística posible en cuanto a tipos de datos a manejar, tablas involucradas y sus
relaciones, etc. Sólo en el momento en el que estemos seguros de que la migración se ha realizado con éxito, sin problemas
de interpretación de datos ni pérdida de ellos, podemos pasar a un entorno de producción, teniendo en cuenta que una
migración mal realizada podría dar por terminada una estructura de información completa.
9. En informática, una dirección de memoria es un
transmisor para una localización de memoria con la cual
un programa informático o un dispositivo de hardware
deben almacenar un dato para su posterior reutilización.
Una forma común de describir la memoria principal de
un ordenador es como una colección de celdas que
almacenan datos e instrucciones. Cada celda está
identificada unívocamente por un número o dirección de
memoria.
Para poder acceder a una ubicación específica de la
memoria, la CPU genera señales en el bus de dirección,
que habitualmente tiene un tamaño de 32 bits en la
mayoría de máquinas actuales. Un bus de dirección de
32 bits permite especificar a la CPU = 4.294.967.296
direcciones de memoria distintas.
Debido a la estructura de 32 bits de un microprocesador
común como los de Intel, las direcciones de memoria se
expresan a menudo en hexadecimal. Por ejemplo, para
no tener que escribir
111111010100000000000010101100 podemos escribir
3F5000AC en hexadecimal.
10. PROXIMIDAD REFERENCIAL
La proximidad referencial es la característica que hace viable la jerarquía de
memoria, de ahí su importancia. En términos globales, la proximidad
referencial establece que un programa en ejecución utiliza en cada
momento una pequeña p te de toda la información que usa. Pará exponer
el concepto de proximidad referencial de forma más específica, partimos
del concepto de traza. La traza de un programa en ejecución es la lista
ordenada en el tiempo delas direcciones de memoria que referencia para
llevar a cabo su ejecución. Esta traza R
estará compuesta por las direcciones de las instrucciones que se van
ejecutando y por las direcciones de los datos empleados
11. COHERENCIA
Un efecto colateral de la jerarquía de memoria es que existen varias copias de
determinadasporcio- nes de información en distintos niveles. Al escribir sobre la copia del nivel
k, se produceuna discrepancia con la copia del nivel k + 1; esta situación se denomina falta de
coherencia. Se dice que una porción de información está sucia si ha sido escrita. La
coherencia de la jerarquía de memoria exige medidas para eliminar la falta de coherencia. En
concreto, una porción sucia en el nivel K ha de ser escrita en algún momento al nivel k + 1
para eliminar la falta de coherencia. Con esta operación de escritura se limpia la porción del
nivel k.
Existen diversas políticas de actualización de la información creada o modificada, que se
caracterizan por el instante en el que se copia la información al nivel permanente
12. MODELOS DE COHERENCIA
Para obtener un buen rendimiento se requiere
múltiples copias de los datos
• Coherencia atómica:
• Lectura devuelve valor de escritura más
reciente
• Difícil de implementar en sistemas distribuidos
• Compromiso entre coherencia y rendimiento:
• Modelos de coherencia más “relajados”
• Modelo de coherencia:
• Qué garantiza el sistema de memoria a las
aplicaciones
• Modelos propuestos
provienen de coherencia de
cachémultiprocesadores
• Similitud con semántica de uso concurrente
en FSD
• La replicación de datos por motivos de
rendimiento implica que debemos controlar
los accesos concurrentes para evitar se
ejecuten en un orden diferente del
esperado.
• Informalmente, se dice que una memoria es
coherente si el valor devuelto como
resultado de una operación de lectura es
siempre el valor que el programador
espera.