0% encontró este documento útil (0 votos)
23 vistas31 páginas

Datos: Memoria y Almacenamiento

Este documento trata sobre la representación de datos en la memoria y el almacenamiento persistente. Explica cómo se representan diferentes tipos de datos como texto, números, imágenes y audio en la memoria, así como los sistemas de numeración y codificación de datos. También describe los diferentes tipos de hardware y arquitecturas de almacenamiento persistente, así como casos de uso comunes.

Cargado por

Pedro Mpc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas31 páginas

Datos: Memoria y Almacenamiento

Este documento trata sobre la representación de datos en la memoria y el almacenamiento persistente. Explica cómo se representan diferentes tipos de datos como texto, números, imágenes y audio en la memoria, así como los sistemas de numeración y codificación de datos. También describe los diferentes tipos de hardware y arquitecturas de almacenamiento persistente, así como casos de uso comunes.

Cargado por

Pedro Mpc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad de Oriente

Núcleo de Monagas
Escuela de Ingeniería y Ciencias Aplicadas
Departamento de Ingeniería de Sistemas
Estructura de Datos

REPRESENTACIÓN DE LOS DATOS EN LA MEMORIA Y


ALMACENAMIENTO PERSISTENTE

Profesor: Bachiller:
Frank Diaz Pedro Parrilla 28294886

Maturín, marzo de 2024


Contenido
Introducción.......................................................................................................6

1 Representación de los datos en memoria....................................................8

1.1 Representación interna de los datos.....................................................9

1.1.1 Texto..............................................................................................9

1.1.2 Números.......................................................................................11

1.1.3 Imagen..........................................................................................12

1.1.4 Audio............................................................................................13

1.1.5 Video............................................................................................15

1.2 Sistemas de numeración.....................................................................15

1.3 Introducción de Datos Numéricos:....................................................16

1.4 Codificación de Datos Numéricos:....................................................16

1.5 Tipos de Datos Representables:.........................................................17

1.6 Representación de Instrucciones:.......................................................17

1.6.1 Campo de una Instrucción:..........................................................17

1.7 Representación Alfa-numérica...........................................................18

1.7.1 Código Baudot.............................................................................18

1.7.2 Alfabeto Internacional Número 2................................................18

1.7.3 Codificación Field Data...............................................................18

1.7.4 Codificación EBCDIC.................................................................18

1.7.5 Código ASCI................................................................................19

1.7.6 Unicode........................................................................................19

2 Almacenamiento persistente.....................................................................19

2.1 Definición:.........................................................................................19
2.2 Historia...............................................................................................19

2.3 Importancia:.......................................................................................20

2.4 Diferencias entre el Almacenamiento persistente y el


Almacenamiento volátil...............................................................................21

2.4.1 Retención de datos:......................................................................21

2.4.2 Naturaleza temporal:....................................................................21

2.4.3 Dispositivos utilizados:................................................................21

2.4.4 Durabilidad y confiabilidad:........................................................21

2.4.5 Capacidad de almacenamiento:....................................................22

2.5 Tipos de Almacenamiento Persistente...............................................22

2.6 Hardware utilizado en el almacenamiento persistente:......................22

2.6.1 HDD (Disco Duro):......................................................................22

2.6.2 SSD (Unidad de Estado Sólido):..................................................23

2.6.3 NAS (Almacenamiento Conectado a la Red):.............................23

2.6.4 SAN (Almacenamiento de Área de Red):....................................24

2.7 Gestión de los datos...........................................................................24

Estático....................................................................................................24

Momento determinado.............................................................................24

Continuo..................................................................................................24

2.8 Arquitectura del Almacenamiento Persistente...................................24

2.8.1 Dispositivos de Almacenamiento Físico:.....................................24

2.8.2 Sistema de Archivos:...................................................................25

2.8.3 Gestión de Datos:.........................................................................25

2.8.4 Interfaces de Acceso:...................................................................25


2.8.5 Seguridad y Control de Acceso:..................................................25

2.8.6 Escalabilidad y Tolerancia a Fallos:............................................25

2.8.7 Políticas de Retención y Eliminación:.........................................26

2.9 Casos de uso.......................................................................................26

2.9.1 Almacenamiento persistente de objetos:......................................26

Uso en la nube:........................................................................................26

Aplicaciones de big data:.........................................................................26

Redes de distribución de contenidos:......................................................26

2.9.2 Almacenamiento persistente en bloque:......................................26

En entornos HPC:....................................................................................26

Edición de vídeo:.....................................................................................27

Aplicaciones de juegos:...........................................................................27

2.9.3 Almacenamiento persistente Filestore:........................................27

En medios de comunicación y entretenimiento:......................................27

Gestión de contenidos web:.....................................................................27

Conclusión.......................................................................................................28

Bibliografía......................................................................................................30
INDICE DE TABLAS
Tabla 1.Número de símbolos y longitud de un patrón de bits.........................11
Tabla 2.Representación de números enteros con sistema binario...................12
INDICE DE ILUSTRACIONES
Ilustración 1. Datos a representar en la memoria..............................................9
Ilustración 2.Representación de símbolos usando patrones de bits.................10
Ilustración 3. Métodos de representación de imágenes...................................12
Ilustración 4.Método de gráficos de mapa de bits de una imagen blanca y
negra………………………………………………………………………….13
Ilustración 5. Representación del audio...........................................................13
Ilustración 6. Representación visual del sonido..............................................14
Introducción
En el vasto panorama de los sistemas informáticos, tanto la representación de
datos en la memoria como la persistencia de datos emergen como elementos
fundamentales para el funcionamiento eficiente y confiable de cualquier sistema. La
representación de datos en la memoria se refiere al proceso de organizar y manipular
la información en el espacio de memoria de acceso aleatorio (RAM), donde los datos
están disponibles para ser accedidos y procesados por la unidad central de
procesamiento (CPU) y otros componentes del sistema.
Desde los primeros días de la computación, tanto la representación de datos en
la memoria como la persistencia de datos han sido áreas de interés y desarrollo
continuo. La optimización de la representación de datos en la memoria y la gestión
eficiente de los recursos de almacenamiento juegan un papel crucial en la velocidad,
eficiencia y capacidad de respuesta de los sistemas informáticos. Decisiones sobre la
asignación de recursos, la gestión de la memoria y la estructura de los datos influyen
directamente en el rendimiento general del sistema y en la eficacia de las operaciones
realizadas sobre los datos.
A su vez, la persistencia de datos garantiza la durabilidad y disponibilidad
continua de la información a lo largo del tiempo. Ha experimentado una evolución
notable a lo largo de la historia de la computación, desempeñando un rol crucial en la
preservación de la integridad de los datos, la resistencia ante fallos y la
interoperabilidad con una amplia gama de aplicaciones y sistemas. Los sistemas de
almacenamiento persistente van desde sistemas de archivos hasta bases de datos y
almacenamiento en la nube, abarcando una amplia variedad de escenarios, desde la
gestión de enormes bases de datos hasta la salvaguarda de archivos críticos y la
disponibilidad de datos en aplicaciones en línea.
Ambos conceptos, la representación de datos en la memoria y la persistencia
de datos, están intrínsecamente relacionados y forman parte de una intrincada red de
almacenamiento en la que diversos enfoques y tecnologías trabajan en conjunto para
mantener los datos de manera permanente y segura. Tanto la optimización de la
representación de datos en la memoria como la implementación efectiva de
estrategias de almacenamiento persistente son cruciales para asegurar la fiabilidad, la
continuidad y la eficiencia de los sistemas digitales en un mundo cada vez más
dependiente de la información.
1 Representación de los datos en memoria
Los datos son unidades de información que se pueden almacenar y procesar
en un formato estructurado o no estructurado. Pueden consistir en números, palabras,
imágenes, sonidos o cualquier otro tipo de información que pueda ser codificada y
almacenada para su posterior análisis o uso. Los datos pueden ser recopilados de
diversas fuentes, como sensores, bases de datos, encuestas, dispositivos móviles,
redes sociales, entre otros. En sí mismos, los datos son simplemente puntos de
información, pero cuando se analizan y se les da contexto, pueden proporcionar
conocimientos valiosos y tomar decisiones informadas.
Dentro del mundo de la informática, la información se representa utilizando el
sistema de numeración binaria, que se compone de ceros y unos. Este sistema se
adoptó debido a la naturaleza de los componentes electrónicos, que inicialmente solo
tenían dos estados distintos: presencia de corriente (uno) y ausencia de corriente
(cero).
La unidad básica de información es el bit, abreviatura de "dígito binario". Un
bit puede tener dos valores posibles: 0 o 1. Dado que el bit es una medida muy
pequeña, se utilizan múltiplos para expresar cantidades mayores de información. El
byte es una de esas unidades, y se compone de 8 bits.
En la memoria de un ordenador, el byte suele ser la unidad de
direccionamiento más común, lo que significa que cada byte puede ser referenciado
por una dirección única. Esto permite acceder a los datos almacenados en la memoria
de forma eficiente.
Para manejar cantidades mayores de información, se utilizan múltiplos del
byte. Algunos de los más comunes incluyen:
Kilobyte (KB): 1 KB equivale a 1024 bytes. Esta unidad se usa para medir
cantidades pequeñas de datos, como el tamaño de un documento de texto o una
imagen de baja resolución.
Megabyte (MB): 1 MB es igual a 1024 KB. Se utiliza para representar
cantidades mayores de datos, como archivos de audio, imágenes de alta resolución o
documentos extensos.
Gigabyte (GB): 1 GB equivale a 1024 MB. Esta unidad se emplea para medir
cantidades aún mayores de información, como películas de alta definición, bases de
datos grandes o sistemas operativos completos.
Terabyte (TB): 1 TB es igual a 1024 GB. Se utiliza para cantidades masivas
de datos, como bibliotecas digitales completas, colecciones de videos en alta
definición o grandes conjuntos de datos utilizados en investigación científica o
empresarial.
Estas unidades de medida son fundamentales para comprender y gestionar la
cantidad cada vez mayor de información que se maneja en el mundo digital de hoy en
día. Además, con el avance de la tecnología, surgen constantemente nuevas unidades
y términos para adaptarse a las crecientes demandas de almacenamiento y
procesamiento de datos.
1.1 Representación interna de los datos
Los datos pueden representarse internamente en diferentes formatos según el
tipo de dato y los requisitos del sistema. Algunos de los tipos de datos que pueden ser
representados internamente podrán verse en la siguiente ilustración

Ilustración 1. Datos a representar en la memoria.

1.1.1 Texto
Un fragmento de texto en cualquier lenguaje consiste en una secuencia de
símbolos empleados para expresar una idea en dicho idioma. Por ejemplo, el idioma
inglés utiliza 26 símbolos (A, B, C, ..., Z) para representar las letras en mayúscula, 26
símbolos (a, b, c,..., z) para las letras en minúscula, 9 símbolos (0, 1, 2,..., 9) para
caracteres numéricos y símbolos (., ?, :, ..., !) para representar la puntuación. Otros
símbolos como el espacio en blanco, el salto de línea y el tabulador se utilizan para la
alineación del texto y su legibilidad.
Cada símbolo puede ser representado mediante un patrón de bits. En otras
palabras, el texto como la palabra "BYTE", compuesta por cuatro símbolos, puede ser
representado por 4 patrones de bits, en los cuales cada patrón define un solo símbolo
y se puede apreciar en la siguiente ilustración:

Ilustración 2.Representación de símbolos usando patrones


de bits

La cantidad de bits necesarios en un patrón de bits para representar un


símbolo en un idioma depende de la cantidad de símbolos en su secuencia. Por
ejemplo, en un idioma ficticio que emplea solamente las letras mayúsculas del inglés,
se requieren únicamente 26 símbolos. Por lo tanto, un patrón de bits en este idioma
necesita representar al menos 26 símbolos. Sin embargo, para lenguajes como el
chino, que tienen muchos más símbolos, se necesitarían patrones de bits más largos.
La longitud del patrón de bits utilizado para representar un símbolo en un idioma
específico depende directamente del número de símbolos que contiene ese idioma.
Cuantos más símbolos, más grande será el patrón de bits.
Aunque la longitud del patrón de bits está relacionada con la cantidad de
símbolos, esta relación no es lineal, sino logarítmica. Por ejemplo, si se necesitan dos
símbolos, la longitud es de 1 bit (log2 de 2 es 1). Si se requieren cuatro símbolos, la
longitud es de 2 bits (log2 de 4 es 2). Esta relación se muestra en la “tabla 1”, donde
se puede observar claramente. Un patrón de bits de 2 bits puede tomar cuatro formas
diferentes: 00, 01, 10 y 11; cada una de las cuales representa un símbolo. De manera
similar, un patrón de tres bits puede tomar ocho formas diferentes: 000, 001, 010,
011, 100, 101, 110 y 111.
Número de símbolos Longitud del patrón de
bits
2 1
4 2
8 3
16 4
… …
128 7
256 8
… …
65 536 16

Tabla 1.Número de símbolos y longitud de un patrón de bits.

1.1.2 Números
En una computadora, los números se representan utilizando el sistema binario,
donde un patrón de bits (una secuencia de ceros y unos) representa un número. Sin
embargo, códigos como el ASCII, que se utilizan para representar caracteres, no se
emplean para la representación de datos numéricos. La razón principal de esto radica
en que el ASCII y otros códigos de caracteres están diseñados para representar
símbolos y caracteres alfabéticos, no para números. A continuación, se puede
ejemplificar la representación de números como números binarios
Número Decimal Representación Binaria
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Tabla 2.Representación de números enteros con sistema binario

De la ilustración anterior se puede observar:


Cada bit en la representación binaria tiene un valor que es una potencia de 2,
comenzando desde la derecha con 20=1 , 21=2 , 22=4 , 23=8, y así sucesivamente.
1.1.3 Imagen
En la actualidad, las imágenes son representadas en computadoras utilizando
dos métodos principales: gráficos de mapa de bits o gráficos vectoriales (Ilustración

Ilustración 3. Métodos de representación de imágenes.


3). Sin embargo, esta distinción no es absoluta, ya que las imágenes vectoriales a
menudo permiten la incorporación de imágenes de mapa de bits en su interior, y los
programas especializados en dibujo vectorial, como Illustrator, Freehand y
CorelDraw, están incorporando cada vez más características propias de los programas
de edición de imágenes de mapa de bits, como Photoshop o Corel Photopaint. Del
mismo modo, ocurre lo contrario, donde programas de tratamiento de imágenes de
mapa de bits pueden incluir funciones propias de programas de dibujo vectorial.
En un mapa de Bits, una imagen se fragmenta en una cuadrícula de píxeles
(picture elements: elementos de imagen), donde cada píxel constituye un diminuto
punto. El tamaño de cada píxel está determinado por lo que se denomina resolución.
Por ejemplo, una imagen puede ser dividida en 1000 píxeles o 10000 píxeles. En el
segundo caso, aunque la representación de la imagen es de mayor calidad (resolución
superior), se requiere más memoria para almacenarla.
Una vez que la imagen ha sido dividida en píxeles, a cada uno se le asigna un
patrón de bits. El tamaño y el contenido de dicho patrón varían según la imagen. Para
una imagen compuesta únicamente de puntos blancos y negros (como un tablero de
ajedrez, por ejemplo), un patrón de un solo bit es suficiente para representar un píxel.
Un bit con valor 0 representa un píxel negro, mientras que un bit con valor 1
representa un píxel blanco. Luego, estos patrones se registran uno tras otro y se
almacenan en la memoria de la computadora. La (Ilustración 5) ejemplifica una
imagen de este tipo y su representación.

Ilustración 4.Método de gráficos de mapa de bits de una imagen


blanca y negra.

1.1.4 Audio
El audio es una representación de sonido o música. Aunque no hay un
estándar para almacenar el sonido o la música, la idea es convertir el audio a datos
digitales y usar patrones de bits. El audio por naturaleza es información análoga. Es
continuo (análogo), no discreto (digital). La (Ilustración 4) muestra los pasos a seguir
para cambiar los datos de audio a patrones de bits.

Ilustración 5. Representación del audio.


Estos pasos son los siguientes:
1. La señal análoga se muestrea. El muestreo significa medir el valor de la
señal a intervalos iguales.
2. Las muestras se cuantifican. La cuantificación significa asignar un valor (de
un conjunto) a una muestra. Por ejemplo, si el valor de una muestra es 29.2 y el
conjunto es el conjunto de enteros entre 0 y 63, se asigna un valor de 29 a la muestra.
3. Los valores cuantificados se cambian a patrones binarios. Por ejemplo, el
número 25 se cambia al patrón binario 00011001.
4. Los patrones binarios se almacenan.
El sonido puede representarse visualmente mediante ondas, como las ondas
sinusoidales que muestran la amplitud y frecuencia del sonido en función del tiempo.
Estas ondas pueden ser digitalizadas y representadas como números binarios para que
el computador pueda procesarlas correctamente.
Cuando se captura o graba sonido, un micrófono convierte las variaciones de
presión en ondas de sonido en señales eléctricas. Luego, estas señales eléctricas
analógicas se muestrean en intervalos regulares para convertirlas en señales digitales.
Cada muestra digital representa la amplitud del sonido en un momento específico, y
estas muestras se convierten en números binarios para ser procesadas por el
computador.
De esta manera, el sonido se puede almacenar, manipular y reproducir en
dispositivos digitales, como computadoras, teléfonos móviles, reproductores de
audio, entre otros, gracias a la representación numérica de sus ondas sonoras.

Ilustración 6. Representación visual del sonido


1.1.5 Video
El video es una representación de imágenes, también conocidas como
cuadros o frames, a lo largo del tiempo. Una película o video consiste en una
secuencia de estos cuadros que se muestran uno tras otro para crear la ilusión de
movimiento. Por lo tanto, si se comprende cómo almacenar una imagen en una
computadora, se comprende también cómo almacenar un video; cada imagen o
cuadro se convierte en una serie de patrones de bits y se guarda. La combinación de
estas imágenes representa el video en su totalidad. Es importante señalar que los
videos suelen estar comprimidos para ocupar menos espacio de almacenamiento y
para facilitar su transmisión y reproducción.
1.2 Sistemas de numeración
Un sistema de numeración es un conjunto de reglas, convenciones y símbolos
que permiten expresar números. Estos sistemas pueden clasificarse en dos categorías
principales: posicionales y no posicionales.
En los sistemas de numeración posicionales, como el sistema decimal
(utilizado comúnmente en la mayoría de las culturas), el valor de un dígito depende
tanto de su propio valor como de la posición que ocupa dentro del número. Por
ejemplo, en el número 364, el 3 representa 300 porque ocupa la posición de las
centenas, el 6 representa 60 porque ocupa la posición de las decenas, y el 4 representa
4 porque ocupa la posición de las unidades.
Por otro lado, en los sistemas de numeración no posicionales, como el sistema
de numeración romano, el valor de un dígito no depende de su posición, sino
únicamente de su valor intrínseco. En el sistema romano, se utilizan siete símbolos
para representar números: I, V, X, L, C, D y M. Independientemente de dónde estén
colocados en la secuencia, estos símbolos mantienen su valor absoluto. Por ejemplo,
en el número romano XIV, el I representa 1, el V representa 5 y el X representa 10,
sin importar su posición en la secuencia.
Los sistemas más comunes son:
Decimal (Base 10): Este es el sistema de numeración más utilizado en la vida
cotidiana y está basado en la idea de agrupar los números en grupos de diez. Utiliza
diez símbolos diferentes, del 0 al 9. Cada posición en un número decimal tiene un
valor que es una potencia de diez. Por ejemplo, en el número 365, el 3 representa tres
centenas, el 6 representa seis decenas y el 5 representa cinco unidades.
Binario (Base 2): Este sistema es fundamental en la informática y se basa en
dos símbolos: 0 y 1. Cada posición en un número binario tiene un valor que es una
potencia de dos. Por ejemplo, en el número binario 1010, el primer 1 representa ocho
(2^3), el segundo 0 representa cero (2^2), el tercer 1 representa dos (2^1) y el último
0 representa cero (2^0), dando como resultado el número decimal 10.
Octal (Base 8): En el sistema octal, se utilizan ocho símbolos diferentes, del 0
al 7. Cada posición en un número octal tiene un valor que es una potencia de ocho.
Las conversiones entre octal y binario (y viceversa) son sencillas, ya que cada dígito
octal se corresponde con tres dígitos binarios. Por ejemplo, el número octal 52 es
equivalente al número binario 101010.
Hexadecimal (Base 16): Este sistema utiliza dieciséis símbolos diferentes,
del 0 al 9 y de la A a la F. Cada posición en un número hexadecimal tiene un valor
que es una potencia de dieciséis. Las conversiones entre hexadecimal y binario (y
viceversa) también son simples, ya que cada dígito hexadecimal se corresponde con
cuatro dígitos binarios. Por ejemplo, el número hexadecimal AF3 es equivalente al
número binario 101011110011.
1.3 Introducción de Datos Numéricos:
Los datos numéricos se introducen en un ordenador a través del lenguaje
escrito, representados como secuencias de caracteres. Estos datos se codifican
utilizando un sistema de codificación como el código ASCII, que asigna a cada
carácter un valor numérico. Sin embargo, esta representación basada en texto es
inapropiada para realizar cálculos matemáticos eficientemente, ya que no se basa en
sistemas de numeración matemáticos.
1.4 Codificación de Datos Numéricos:
Cuando se necesita realizar cálculos matemáticos, es esencial representar los
datos numéricos en formatos basados en sistemas de numeración matemática. Esto
puede incluir representaciones binarias, decimales, hexadecimales u otros sistemas
numéricos dependiendo de la naturaleza del cálculo y los requisitos del programa.
1.5 Tipos de Datos Representables:
Los ordenadores procesan una amplia variedad de tipos de datos, incluidos
datos numéricos, textuales, booleanos y estructurados. Para cada tipo de dato, existe
una representación adecuada que permite su manipulación y procesamiento por parte
de la computadora.
1.6 Representación de Instrucciones:
Las instrucciones son conjuntos de símbolos que la computadora puede
interpretar y ejecutar como parte de un programa. Todas las instrucciones tienen un
componente crucial llamado código de operación, que indica la operación específica
que se debe realizar. Dependiendo de la operación, las instrucciones pueden incluir
uno o varios operandos que son los datos sobre los cuales se realizará la operación.
1.6.1 Campo de una Instrucción:
Código de Operación (Opcode):
Este campo es esencial en todas las instrucciones y es lo que distingue una
instrucción de otra. Indica la operación específica que la CPU debe realizar.
El código de operación suele ocupar los bytes más significativos de una
instrucción, es decir, la parte de la izquierda si consideramos la representación de la
instrucción en memoria.
Es importante destacar que no puede haber dos operaciones diferentes con el
mismo código de operación. Esto garantiza que la CPU interprete correctamente cada
instrucción según su código de operación único.
Si una instrucción ocupa más de una palabra (por ejemplo, en arquitecturas de
16 o 32 bits), el código de operación estará en la primera palabra que la CPU lea.
Campo de Operando (Operand):
No todas las instrucciones requieren este campo, ya que algunas instrucciones
no necesitan datos adicionales para su ejecución, mientras que en otras el operando
puede estar implícito en el código de operación mismo.
La longitud de este campo suele ser variable y depende del número de
operandos que la instrucción necesita y de cómo la CPU accede a ellos.
En algunas arquitecturas, la forma en que se distingue la ubicación y la
cantidad de operandos está determinada por reglas específicas de codificación de la
instrucción.
1.7 Representación Alfa-numérica
La representación alfa-numérica es fundamental para la comunicación y el
procesamiento de texto en sistemas informáticos, y estas diferentes formas de
codificación han evolucionado con el tiempo para adaptarse a las necesidades
cambiantes de la tecnología y las aplicaciones informáticas.
1.7.1 Código Baudot
 Desarrollado a finales del siglo XIX por Jean Maurice Emile Baudot para su
uso en sistemas de telegrafía.
 Utilizaba 5 bits por carácter, lo que permitía representar un total de 32
caracteres diferentes, incluyendo letras, números y signos de puntuación.
 Fue utilizado ampliamente en dispositivos de telegrafía y teletipos durante
muchos años.
1.7.2 Alfabeto Internacional Número 2
 Desarrollado en 1901 por Donald Murray como una mejora del código
Baudot.
 También utilizaba 5 bits por carácter, pero añadió nuevos caracteres y códigos
de desplazamiento para permitir una mayor variedad de símbolos y caracteres
especiales.
 Este código se utilizó principalmente en sistemas de telegrafía y teletipos.
1.7.3 Codificación Field Data
 Proyecto de Estados Unidos a finales de los años 50 para establecer un
estándar de corrección y distribución de datos en el campo de batalla.
 Utilizaba 6 dígitos para representar los caracteres, lo que permitía un total de
64 caracteres diferentes.
 Diseñado específicamente para representar datos, excluyendo caracteres
alfanuméricos adicionales.
1.7.4 Codificación EBCDIC
 Estándar Binary Coded Decimal Interchange Code, utilizado inicialmente en
mainframes de IBM.
 Utiliza 8 bits para cada carácter, permitiendo un total de 256 caracteres
diferentes.
 Cada octeto se divide en dos partes: bits de zona y bits de dígito, lo que
facilita la interpretación de los caracteres en sistemas informáticos.
1.7.5 Código ASCI
 American Standard Code for Information Interchange, publicado en 1963 por
la ASA (American Standards Association, luego ANSI - American National
Standards Institute).
 Utiliza 7 bits para representar caracteres alfanuméricos y especiales,
permitiendo un total de 128 caracteres diferentes.
 Los primeros 32 caracteres se reservan para caracteres de control, mientras
que los restantes se utilizan para representar letras, números y símbolos
comunes.
1.7.6 Unicode
 Estándar internacional establecido por el consorcio Unicode, utilizado para
representar cualquier carácter escrito en cualquier idioma del mundo.
 Utilizado en sistemas operativos modernos como Windows NT, Linux,
MacOS, y en una amplia variedad de lenguajes de programación.
 Unicode permite la representación de más de 143,000 caracteres, incluyendo
caracteres alfanuméricos, símbolos, caracteres en scripts no latinos y emojis.
2 Almacenamiento persistente
2.1 Definición:
El almacenamiento persistente se refiere a la capacidad de un sistema
informático para retener datos más allá de la duración de una sesión o de la
alimentación de energía. En otras palabras, los datos almacenados persistentemente
permanecen intactos incluso cuando el sistema se reinicia o se apaga. Esto se logra
mediante dispositivos de almacenamiento como discos duros, unidades de estado
sólido (SSD), unidades flash USB, etc.
2.2 Historia
El almacenamiento persistente ha experimentado una evolución notable a lo
largo de la historia de la informática. Se remonta a los primeros días de la
computación, cuando la cinta magnética era el medio predominante para el
almacenamiento de datos en grandes mainframes en la década de 1950. Sin embargo,
en la década de 1960, surgieron los discos magnéticos, como los discos duros, que
ofrecían un almacenamiento persistente más rápido y de mayor capacidad que las
cintas magnéticas, lo que permitía un acceso más rápido a los datos y un
almacenamiento más eficiente.
A medida que avanzaba el tiempo, los dispositivos de estado sólido (SSD) se
convirtieron en una alternativa cada vez más popular al almacenamiento basado en
discos magnéticos. Los SSD ofrecían velocidades de lectura y escritura más rápidas,
menor consumo de energía y mayor durabilidad al no tener partes móviles.
Al mismo tiempo el almacenamiento en la nube emergió como una opción de
almacenamiento persistente en la década de 2000, permitiendo a los usuarios
almacenar y acceder a datos de forma remota a través de Internet. Esto proporcionaba
escalabilidad, flexibilidad y redundancia de datos, lo que lo convirtió en una opción
atractiva para empresas y usuarios individuales.
A lo largo de las décadas, ha habido continuos avances en la tecnología de
almacenamiento persistente, incluyendo el aumento de la capacidad de
almacenamiento, la mejora de la velocidad de acceso, la reducción del tamaño y el
consumo de energía, así como la introducción de nuevas formas de almacenamiento
como la memoria flash y las unidades de estado sólido (SSD) NVMe.
2.3 Importancia:
La relevancia del almacenamiento persistente en sistemas informáticos es
fundamental por varias razones:
Conservación de datos: Permite a los usuarios guardar y acceder a datos de
manera consistente, incluso después de apagar o reiniciar el sistema. Esto es crucial
para aplicaciones que requieren mantener registros históricos, como bases de datos,
sistemas de archivos, aplicaciones empresariales, etc.
Integridad de datos: Almacenar datos de manera persistente garantiza que la
información crítica no se pierda debido a fallas temporales del sistema o cortes de
energía. Esto es esencial para evitar la corrupción de datos y mantener la
confiabilidad del sistema.
Recuperación y continuidad del negocio: En caso de fallo del sistema o
desastres, el almacenamiento persistente permite la recuperación de datos vitales para
la continuidad del negocio. Los sistemas de copias de seguridad y recuperación de
desastres se basan en la capacidad de almacenamiento persistente para restaurar datos
a un estado anterior.
Escalabilidad y expansión: Los sistemas informáticos pueden necesitar
almacenar grandes cantidades de datos a lo largo del tiempo. El almacenamiento
persistente proporciona la capacidad de escalar y expandirse para satisfacer las
crecientes demandas de almacenamiento sin perder datos.
Portabilidad y compartición: Los datos almacenados persistentemente
pueden ser transferidos entre diferentes sistemas y dispositivos, lo que facilita la
portabilidad y compartición de información entre usuarios y aplicaciones.
2.4 Diferencias entre el Almacenamiento persistente y el Almacenamiento volátil
2.4.1 Retención de datos:
El almacenamiento persistente retiene los datos incluso cuando el dispositivo
se apaga, mientras que el almacenamiento volátil pierde los datos cuando se pierde la
energía.
2.4.2 Naturaleza temporal:
El almacenamiento volátil se utiliza para almacenar datos temporalmente
durante la ejecución de programas o sesiones de usuario, como la memoria RAM. Por
otro lado, el almacenamiento persistente se utiliza para almacenar datos a largo plazo
incluso después de que el sistema se apaga o reinicia.
2.4.3 Dispositivos utilizados:
El almacenamiento volátil generalmente se encuentra en dispositivos de
acceso rápido pero temporales, como la RAM y la memoria caché. El
almacenamiento persistente, en cambio, está presente en dispositivos de
almacenamiento de datos a largo plazo como discos duros, SSD, tarjetas de memoria,
etc.
2.4.4 Durabilidad y confiabilidad:
El almacenamiento persistente es más duradero y confiable, ya que los datos
no se pierden en caso de fallos del sistema o cortes de energía. Por otro lado, el
almacenamiento volátil puede perder datos en tales situaciones.
2.4.5 Capacidad de almacenamiento:
El almacenamiento persistente generalmente tiene una capacidad de
almacenamiento mucho mayor que el almacenamiento volátil. Esto lo hace más
adecuado para almacenar grandes cantidades de datos a largo plazo.
2.5 Tipos de Almacenamiento Persistente
Existen dos tipos fundamentales de almacenamiento persistente: el
almacenamiento de aplicación y el de objetos.
En primer lugar, la persistencia de aplicación se refiere a la capacidad de los
datos de sobrevivir a la ejecución del programa que los generó. Sin esta característica,
los datos existen solamente en la memoria RAM y se pierden cuando se apaga el
dispositivo. Para garantizar la persistencia de la información, es necesario
almacenarla en un medio secundario no volátil, de modo que pueda ser recuperada y
utilizada posteriormente, independientemente del proceso que los creó.
Por otro lado, la persistencia de objetos es una propiedad propia de la
programación orientada a objetos que permite conservar el estado de un objeto a lo
largo del tiempo y a través de múltiples ejecuciones de la aplicación, incluso después
de apagar y encender el equipo. Esta persistencia se logra generalmente mediante el
uso de bases de datos, donde los objetos se guardan de manera permanente. Los
objetos se cargan en la memoria cuando la aplicación los necesita y cualquier cambio
se guarda para su almacenamiento persistente.
2.6 Hardware utilizado en el almacenamiento persistente:
2.6.1 HDD (Disco Duro):
Un disco duro es un dispositivo de almacenamiento persistente que utiliza
discos magnéticos giratorios para almacenar datos.
Un HDD está compuesto por uno o varios discos metálicos recubiertos con
material magnético. Un brazo mecánico con cabezales de lectura/escritura se mueve
sobre los discos para acceder y modificar los datos. Los datos se almacenan en pistas
circulares y sectores magnéticos en la superficie de los discos.

Características:
 Mayor capacidad de almacenamiento en comparación con las SSD de
igual costo.
 Menor costo por gigabyte.
 Adecuado para aplicaciones que requieren grandes cantidades de
almacenamiento a un costo más bajo.
2.6.2 SSD (Unidad de Estado Sólido):
Un SSD es un dispositivo de almacenamiento persistente que utiliza memoria
flash para almacenar datos de forma electrónica, sin partes móviles.
Los SSD almacenan datos en chips de memoria flash NAND, organizados en
bloques y páginas. Los datos se acceden y escriben electrónicamente, lo que ofrece
tiempos de acceso más rápidos y un rendimiento general mejorado en comparación
con los HDD.
Características:
 Tiempos de acceso más rápidos.
 Menor consumo de energía.
 Mayor resistencia a golpes y vibraciones.
2.6.3 NAS (Almacenamiento Conectado a la Red):
El almacenamiento NAS es una solución de almacenamiento persistente que
utiliza un servidor de almacenamiento dedicado conectado a una red local para
compartir archivos y datos.
Un NAS consiste en uno o más discos duros instalados en un dispositivo de
red dedicado. Este dispositivo utiliza protocolos de red como SMB o NFS para
permitir que otros dispositivos accedan y compartan los datos almacenados en los
discos del NAS a través de la red local.
Características:
 Facilidad de uso y configuración.
 Escalabilidad mediante la adición de discos duros adicionales.
 Acceso remoto a archivos y datos.
2.6.4 SAN (Almacenamiento de Área de Red):
El almacenamiento SAN es una arquitectura de almacenamiento persistente
que utiliza una red de área de almacenamiento dedicada para proporcionar
almacenamiento centralizado y compartido a múltiples servidores.
Un SAN consta de dispositivos de almacenamiento (como discos duros o
matrices de almacenamiento) conectados a una red de almacenamiento de alta
velocidad y baja latencia. Esta red, a menudo basada en tecnologías como Fibre
Channel o iSCSI, permite que múltiples servidores accedan a los mismos datos de
almacenamiento de manera simultánea y eficiente.
Características:
 Alto rendimiento y baja latencia.
 Escalabilidad para soportar grandes volúmenes de datos.
 Funciones avanzadas de administración y seguridad.
2.7 Gestión de los datos
En cuanto a la gestión de los datos se pueden clasificar de la siguiente manera:
Estático: Todos los datos se cargan al iniciar la aplicación y se guardan los
cambios al finalizar la ejecución.
Momento determinado: Los datos se guardan cuando el usuario lo solicita o en
intervalos regulares predefinidos.
Continuo: Los datos se almacenan conforme se van modificando en el
sistema, sin necesidad de guardarlos todos al finalizar la ejecución. Este método es
similar al utilizado por las bases de datos y requiere el manejo de transacciones para
evitar inconsistencias en los datos. Es más complejo de implementar, pero ofrece una
mayor eficiencia en la gestión de la información.
2.8 Arquitectura del Almacenamiento Persistente
A continuación, se definirán los componentes que forman parte de la
estructura del almacenamiento persistente:
2.8.1 Dispositivos de Almacenamiento Físico:
Estos dispositivos constituyen la base del almacenamiento persistente y
pueden incluir discos duros (HDD), unidades de estado sólido (SSD), cintas
magnéticas, dispositivos de almacenamiento en la nube, entre otros. Son responsables
de almacenar físicamente los datos de manera permanente.
2.8.2 Sistema de Archivos:
El sistema de archivos es un componente esencial que organiza y gestiona la
estructura de almacenamiento de los datos en los dispositivos físicos. Define cómo se
almacenan, acceden y administran los archivos y directorios. Cada sistema operativo
tiene su propio sistema de archivos, como NTFS para Windows, ext4 para Linux y
HFS+ para macOS.
2.8.3 Gestión de Datos:
Esta capa incluye software y herramientas para administrar los datos
almacenados de manera persistente. Puede incluir sistemas de gestión de bases de
datos (DBMS), herramientas de copia de seguridad y recuperación, software de
replicación y sincronización, así como soluciones de almacenamiento en la nube para
respaldo y archivo de datos.
2.8.4 Interfaces de Acceso:
Las interfaces de acceso proporcionan métodos para que las aplicaciones y
usuarios accedan y manipulen los datos almacenados. Estas interfaces pueden ser
APIs (Interfaz de Programación de Aplicaciones), controladores de bases de datos,
protocolos de red como NFS (Sistema de Archivos de Red) o SMB (Protocolo de
Mensajes de Servidor), y lenguajes de consulta como SQL (Lenguaje de Consulta
Estructurado) para bases de datos relacionales o JSON (Notación de Objetos
JavaScript) para bases de datos NoSQL.
2.8.5 Seguridad y Control de Acceso:
Esta capa se encarga de garantizar la seguridad de los datos almacenados,
incluida la autenticación de usuarios, autorización de acceso, cifrado de datos en
reposo y en tránsito, auditoría de actividades y cumplimiento de regulaciones de
privacidad y seguridad.
2.8.6 Escalabilidad y Tolerancia a Fallos:
La arquitectura del almacenamiento persistente debe ser diseñada para ser
escalable y tolerante a fallos. Esto implica la capacidad de agregar nuevos
dispositivos de almacenamiento sin interrupción del servicio, así como la capacidad
de recuperarse automáticamente de fallos de hardware o software sin pérdida de datos
o tiempo de inactividad significativo.
2.8.7 Políticas de Retención y Eliminación:
Se deben establecer políticas claras para la retención y eliminación de datos,
en cumplimiento con las regulaciones de privacidad y seguridad. Esto implica definir
períodos de retención para diferentes tipos de datos, así como procedimientos para la
eliminación segura de información obsoleta o no utilizada.
- Detalla cómo se estructura en sistemas distribuidos y aplicaciones.
- Habla sobre la necesidad de interfaces para gestionar datos y la
recuperación frecuente de archivos.
2.9 Casos de uso
2.9.1 Almacenamiento persistente de objetos:
Uso en la nube: Es comúnmente empleado en soluciones de almacenamiento
en la nube para guardar y recuperar grandes volúmenes de datos no estructurados,
como imágenes y vídeos. Los proveedores de servicios en la nube lo utilizan para
ofrecer almacenamiento escalable, disponible y duradero.
Aplicaciones de big data: Se usa en análisis de big data para manejar
conjuntos masivos de información, crucial para análisis de datos, aprendizaje
automático e inteligencia artificial. Su rapidez y eficacia en el acceso a los datos lo
hacen esencial en estas arquitecturas.
Redes de distribución de contenidos: En las CDN, se emplea para almacenar y
distribuir contenido multimedia globalmente, garantizando una entrega rápida sin
importar la ubicación del usuario.
2.9.2 Almacenamiento persistente en bloque:
En entornos HPC: Permite a los clusters de computación de alto rendimiento
almacenar y acceder a grandes volúmenes de datos, como simulaciones científicas,
con alta velocidad y baja latencia.
Edición de vídeo: Es esencial para aplicaciones de edición de vídeo que
necesitan acceso rápido y baja latencia a archivos grandes, así como rendimiento
óptimo para operaciones intensivas de E/S.
Aplicaciones de juegos: Proporciona acceso rápido a datos de juegos,
garantizando que los entornos de juego se carguen rápidamente y mantengan una
respuesta fluida durante la partida.
2.9.3 Almacenamiento persistente Filestore:
En medios de comunicación y entretenimiento: Utilizado en aplicaciones de
edición y renderizado de medios para acceder de forma eficiente a archivos
multimedia grandes con múltiples usuarios.
Gestión de contenidos web: En sistemas de gestión de contenidos web, se
emplea para almacenar y gestionar contenido web, facilitando la colaboración entre
usuarios y la actualización del contenido.
Conclusión
La comprensión detallada de la representación de datos en la memoria y el
almacenamiento persistente es crucial para entender en profundidad la arquitectura y
estructura de datos de un computador. Estos dos temas son los cimientos sobre los
cuales se erige todo el edificio de la informática moderna, y su dominio es esencial
para cualquier persona que busque trabajar en el desarrollo de software, la ingeniería
de sistemas o la investigación en computación.
La representación de datos en la memoria no solo se limita a entender cómo se
almacenan los ceros y unos en las celdas de memoria, sino que implica comprender
cómo los datos son organizados en estructuras más complejas como matrices, listas
enlazadas, árboles y grafos. Esta comprensión es fundamental para diseñar algoritmos
eficientes y resolver problemas computacionales de manera efectiva. Además, la
gestión de la memoria es una consideración crítica para optimizar el rendimiento de
las aplicaciones y evitar problemas como las fugas de memoria que pueden hacer que
un programa falle o se vuelva inestable.
Por otro lado, el almacenamiento persistente es esencial para conservar los
datos más allá de la duración de una sesión de computación. Esto implica entender
cómo funcionan los dispositivos de almacenamiento, como discos duros, unidades de
estado sólido y sistemas de almacenamiento en la nube. La organización de datos en
estos dispositivos, así como los protocolos de acceso y gestión, son aspectos
fundamentales para garantizar la integridad y la disponibilidad de la información a lo
largo del tiempo.
Una comprensión profunda de la representación de datos en la memoria y el
almacenamiento persistente no solo mejora la capacidad para desarrollar software
eficiente y robusto, sino que también proporciona una base sólida para abordar
desafíos más complejos en el campo de la informática. Desde la optimización de
bases de datos hasta el diseño de sistemas distribuidos, estos conceptos son
fundamentales en casi todas las áreas de la tecnología de la información y la
computación. Conocer estos dos temas no solo es útil, sino absolutamente
imprescindible para cualquiera que aspire a tener un entendimiento completo de la
informática moderna y sus aplicaciones prácticas en el mundo real
Bibliografía
Forouzan, b., & Chung Fegan, S. (2003). Introducción a la ciencia de la
computación. Mexico: International Thomson Editores.
García Álvarez, A. (2020). Gestión de Almacenamiento SAN y NAS con Windows
Server 2019.
Millán, R. (2015). Almacenamiento de Datos: Soluciones Prácticas para la Empresa.
Pastor, F. (2017). Gestión de Almacenamiento de Datos.
Piattini, M., Calero, C., & Genero Bocco, M. (2013). Almacenamiento de
Información: Teoría y Aplicaciones.
Hernández, J., & López, M. (2018). Almacenamiento en la Nube: Conceptos y
Aplicaciones.
Martínez, E. (2016). Virtualización de Almacenamiento: Estrategias y
Prácticas Recomendadas.
Rodríguez, P. (2019). Gestión de Datos No Estructurados: Retos y
Oportunidades en el Almacenamiento Moderno.
Sánchez, D. (2014). Seguridad en el Almacenamiento de Datos: Principios y
Prácticas Esenciales.

También podría gustarte