Almacenamiento Jorge Juan Chico <jjchico@dte.us.es>, Julián Viejo Cortés <julian@dte.us.es>. 2012, 2014 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons. Puede consultar el texto completo de la licencia en http://creativecommons.org/licenses/by-sa/3.0/ Objetivos ● Conocer los distintos dispositivos de memoria y almacenamiento existentes y valorar ventajas e inconvenientes de cada uno 2 Contenidos ● ● ● ● ● ● Jerarquía Memoria interna Memoria externa Discos magnéticos Otros dispositivos Sistemas de archivos 3 Almacenamiento. Clasificación ● Ubicación – ● ● tamaño de la palabra, número de palabras. Unidad de transferencia – ● CPU, memoria interna, memoria externa, ... Capacidad – ● palabra, bloque Tecnología de fabricación – ● Tipo de acceso – ● semiconductor, magnética, óptica, ... secuencial, aleatorio Características físicas – Volatil/No-volatil, borrable/no-borrable Prestaciones – tiempo de acceso, velocidad de transferencia 4 Almacenamiento. Ubicación ● Registros de la CPU – – ● Memoria Interna (o Memoria Principal) – – – ● usados como argumentos en las operaciones lógicas, aritméticas, etc. almacenamiento más próximo a la CPU y de acceso más rápido. accesible directamente por la CPU (instrucciones de acceso a memoria) acceso rápido medio semiconductor (circuito electrónico) Memoria externa (o Dispositivos de Almacenamiento) – – – acceso indirecto: primero hay que transferir los datos a la memoria principal accesible mediante dispositivos de entrada/salida diferentes medios: discos magnéticos, CD-ROM, cintas, etc. 5 Almacenamiento. Jerarquía Registros Registros CPU CPU Interna ● No existe un tipo único de memoria que cubra todas las necesidades Es necesario combinar varios tipos Externa ● Memoria Memoria caché caché Memoria Memoria principal principal menor coste mayor capacidad mayor tiempo acceso Discos Discos magnéticos magnéticos Cintas/discos Cintas/discos ópticos ópticos 6 Memoria interna. Tipos Tipo M. de acceso aleatorio (RAM) Volatilidad volátil M. de sólo lectura (ROM) Operaciones lectura / escritura Borrado por bytes lectura Escritura eléctricamente máscaras no posible ROM programable (PROM) PROM borrable (EPROM) chip completo (luz ultrav.) no-volátil sobre todo lectura eléctricamente PROM borrable eléctr. (EEPROM) por bytes eléctricamente Memoria FLASH por bloques eléctricamente 7 Memoria interna. Ejemplo 8 Memoria interna. Evolución 9 Memoria caché – CPU CPU – – Caché Caché Memoria Memoria principal principal – – Memoria de alta velocidad situada entre la CPU y la memoria principal Guarda los datos más recientes y que serán accedidos por la CPU con mayor probabilidad. Se base en el "principio de localidad": los datos/instrucciones accedidos recientemente tienen mayor probabilidad de ser accedidos en el futuro. Permite que la CPU opera a su velocidad máxima. Puede haber varios niveles de caché: interna, externa, etc. 10 Memoria externa. Tipos ● Discos magnéticos – – – – ● CD/DVD – – – ● gran capacidad lectura/escritura alta velocidad memoria secundaria capacidad moderada velocidad media distribución de programas y documentación, copias de seguridad, etc. ● Unidades Flash (llave USB, etc.) – – – equivalente al disco magnético pero con tecnología Flash fiable alta velocidad Cintas magnéticas – – – gran capacidad acceso secuencial copias de seguridad 11 Discos magnéticos 12 Discos magnéticos ● Una unidad de datos (sector) se accede indicando tres parámetros: C-H-S Cilindro (C): proporciona la posición radial de las cabezas. El conjunto de cabezas se desplaza el cilindro seleccionado. – Cabeza (H - Head): activa una cabeza de lectura/escritura. Selecciona una cara concreta. – Sector (S): selecciona un sector dentro de una pista. El sector se lee al pasar por debajo de la cabeza de lectura/escritura. http://commons.wikimedia.org/wiki/Image:Cilindro_Cabeza_Sector.svg – 13 Discos magnéticos. Sector cola ● bloque de datos almacenados Cola: – ● contiene información de localización y estado del sector Datos: – ● cabecera Cabecera: – ● datos código de detección y corrección de errores (CRC) Archivos – los archivos empleados por el Sistema Operativo se construyen a base de listas de sectores distribuidos por el disco de forma más o menos ordenada. 14 Discos magnéticos. Propiedades ● Tiempo medio de acceso – – ● Velocidad de transferencia máxima (burst rate) – – ● tiempo medio que se tarde en mover las cabezas y rotar el disco hasta comenzar a leer un sector ~ 10ms velocidad de lectura de datos cuando se lee un sector depende de la velocidad de rotación, el número de sectores en una pista y el tamaño del sector Velocidad de transferencia media – – – velocidad de lectura de datos media considerando tiempos empleados en cambiar de un sector a otro disminuye cuando aumenta la “fragmentación” ~ 20-60 MB/s 15 Cintas magnéticas datos ● ● ● cabezal cabecera Acceso secuencial Estructura en bloques Múltiples cabezas/pistas 16 CD-ROM/R/RW – – – – Tecnología óptica Una única pista en espiral (5km) 20000 pistas aparentes Disco original audio: ● 1.2 m/s ● 73 min ● 774.57 MB ● 176.4 B/s ● (650MB efect.) 17 DVD-ROM/+-R/+-RW – – – – Tecnología similar al CD pero con mayor capacidad Mayor densidad por capa: 4.7GB (7 CD's) Hasta 4 capas (dos por cara): 17 GB (26 CD's) Diseñado para ~2 horas de vídeo MPEG2 a resolución PAL CD DVD 18 CD/DVD-ROM 19 CD/DVD-R 20 CD/DVD-RW 21 Sistemas de Archivos. Dispositivos de bloques ● Sector cero (MBR) – Cargador – Tabla de particiones ● ● ● ● 4 particiones primarias más particiones dentro de particiones extendidas /dev/sda 0 1 63 MBR boot area boot sect part1 /dev/sda1 boot sect part2 /dev/sda2 alineadas a cilíndros Sector de arranque – En cada partición – Cargador S.O. 22 Sistemas de Archivos. Dispositivos de bloques – Dispositivo de bloques: dispositivo físico que aparece ante el sistema operativo como una lista numerada de bloques de datos (habitualmente de 512B). Normalmente, el S.O. puede leer y escribir cualquiera de estos bloques de forma “aleatoria”. ● Ej: disco magnético, partición de un disco, memoria flash (pendrive), etc. – Sector de arranque: primer sector de un dispositivo de bloques, empleado para almacenar código de arranque del sistema (cargador). – Tabla de particiones: listado de particiones de un disco (o similar) almacenado en el primer bloque del dispositivo. – Formato físico: proceso que prepara un medio físico para que sea empleado como un dispositivo de bloques. Ej: creación de marcas de inicio de bloque, etc. 23 Sistemas de archivos Sistema de Archivos 24 Sistemas de archivos ● ● Sistema de archivos: organización de la información en un dispositivo de bloques que permite acceder a la misma a modo de archivos y carpetas. Formato lógico (creación de sistema de archivos): proceso que prepara un dispositivo de bloques para ser empleado como un sistema de archivos. – ● Parte de los bloques se emplean para almacenar información del S.A.: nombres de archivos, bloques que pertenecen a un archivo, etc. Fragmentación: efecto de que un archivo ocupe bloques no consecutivos en el dispositivo físico. – Reduce el rendimiento del sistema de archivos. 25 Tipos de sistemas de archivos ● ● ● ● ● ● ext4/ext3/ext2: Sistema de archivos principal usado en GNU/Linux. FAT16, FAT32 (vfat): Sistema de archivos poco eficiente empleado por Microsoft, comenzando con MS-DOS. NTFS: Sistema de archivos avanzado de Microsoft empleado a partir de MS-Windows NT. ISO9660/UDF: Sistemas de archivos usados en CD-ROM y DVD. Otros sistemas de archivos usados en GNU/Linux: reiserfs, xfs, jfs, btrfs, ... GNU/Linux es compatible con multitud de sistemas de archivos, incluso con algunos de especificaciones cerradas (ej: NTFS) 26 Sistemas de archivos UNIX. inodos metadatos RAID ● ● RAID (Redundant Array of Inexpensive/Independent Disks) – Permite unir varios dispositivos físicos en un sólo dispositivo lógico, bien por hardware (controlador de disco) o software (sistema operativo) – Permite obtener sistemas de archivos más grandes y/o más seguros (redundacia) – Permite mejorar notablemente la velocidad de acceso a disco al transferir datos a/desde varios dispositivos simultáneamente. Tipos de RAID – RAID0, RAID1, RAID5, RAID6, RAID10, ... ● RAID hardware ● RAID software: mdadm 28 RAID 1 disco A1 A2 A3 A4 A5 A6 A7 A8 RAID 0 A1 A3 A5 A7 A9 A11 A13 A15 A2 A4 A6 A8 A10 A12 A14 A16 RAID 1 A1 A2 A3 A4 A5 A6 A7 A8 A1 A2 A3 A4 A5 A6 A7 A8 29 RAID RAID 5 A1 B1 C1 Dp A2 B2 Cp D1 A3 Bp C2 D2 Ap B3 C3 D3 30 RAID RAID 6 A1 B1 C1 Dp A2 B2 Cp Dq A3 Bp Cq D1 Ap Bq C2 D2 Aq B3 C3 D3 31