GESTIÓN DE ALMACENAMIENTO SECUNDARIO Hasta ahora, hemos visto el disco duro es una pieza clave para el sistema operativo. No siempre se utiliza el disco duro (DD), para guardar información si no que también se puede utilizar para el tratamiento de la información. Se pueden realizar pequeñas peticiones para el disco duro. Estas pequeñas peticiones se pueden atender según el orden de llegada. • Planificación del disco duro. Esta formado por 1 o varios discos metalizadas y magnetizadas(con voltaje), entre ellas tendremos los lectores. Los cabezales y los brazos (Los brazos solamente se pueden mover) Cada disco tiene pistas donde está almacenada la información. Dentro de ellas hay: Un Cilindro es un conjunto de pistas de diferentes discos, en la misma posición. El Sector es la pista dividida por partes, el sector puede ser = o no al bloque de información que se transfiere, puede ser un determinado bloque de información desde 512 bytes a 4K. (división de una pista) Clasificación por tiempos: Si quiere entrar en una determinada pista (el brazo) hay un Tiempo de Búsqueda. Tiempo de Latencia tiempo que tarda en ubicarse el cabezal debajo del sector. El tiempo que tarda en coger del disco duro y llevar al procesador se llama Tiempo de Transmisión. • Algoritmos de petición Los algoritmos de petición están clasificados: FCFS (First come first server) Primera petición que llega primera que se sirve. 53 98 183 37 122 14 124 65 45 85 146 85 108 110 50 = 638 cl En este sistema hay muchos desplazamientos, se mueve por muchos cilindros y tarda mucho tiempo, en tiempo de Búsqueda. SSTF (Shortest Seek Time First) Primero el de menor tiempo de Búsqueda. Consiste en que las peticiones se atenúan aquellas que están más cerca. La cabecera siguiente será la cabecera más cercana, la que precisa menos desplazamiento. (Se atienden las peticiones más cercanas. Obtiene las peticiones por proximidad al cilindro donde está el cabezal en ese momento). 53 65 37 14 98 122 124 183 12 28 23 84 24 2 59 = 232 cl 1 Es más rápido que el anterior pero puede llegar a aplazar indefinidamente una petición. SCAN (Exploración) Consiste que comienza por el primer cilindro y va recorriendo el disco atendiendo a las peticiones que le van llegando. Y vuelve a recorrer desde el principio hasta el final. Tiene una mejora solamente puede llegar hasta el primer y último cilindro solicitado. Vuelve al principio. 53 65 98 122 124 183 14 37 12 33 24 2 59 169 rápido 23 = 322 cl C−SCAN (Exploración Circular) Es una variante de la anterior pero con una variante, va de principio al final y del final al principio, no vuelve a comenzar, como el anterior. No hace un salto de final al principio, como el anterior. 53 65 98 122 124 83 37 14 12 33 24 2 59 146 23 = 299 o 309 cl • Control del espacio disponible (Libre) ¿De qué manera puedo controlar el espacio? Mapa de bits o vector de bits consiste en que en cada partición del o de los disco/s duro/s que tengamos hay un vector de bits en que cada bit indica si está libre u ocupado el cluster (bloque de información) al que hace referencia. 1 libre 0 ocupado Nº cluster o bloque de información 1 Lib 0 0 1 Ocup Ocup Lib 1 Lib 1 Lib 1 ... 0 0 Espacio disponible en la partición = nº de clusters libres(1) + tamaño del cluster. Para un disco duro de 1,3 Gb y 512 K de tamaño del cluster, ocuparía el vector 310 K. Si el cluster = 4k 78 k Hay un inconveniente para que sea eficiente y consistente tendría que ubicarse, el mapa de bits en memoria principal, pero si es bastante grande se desaprovecharía memoria. (El sistema es bueno para discos pequeños, pero no para grandes) − Bloques enlazados 2 Cada bloque libre apunta al siguiente bloque libre.(con un apuntador) En este sistema hay inconvenientes: • Gestión de apuntadores. • Si se pierde un apuntador chungo • Para poder conocer el espacio disponible hay que recorrer todos los bloques libres Las ventajas: es muy facil de implantar. − Tablas de Bloques libres Habrá dos campos libres. Cuando está poco fragmentado Cuantos bloq. @Inicial Libres continuos Bloque libre hay. 2 5 11 3 16 1 Cuando está muy fragmentado Cuantos bloques @Inicial libres continuos Bloque libre hay. 1 2 4 1 7 2 10 1 13 2 16 1 A medida que se va fragmentando el disco, la tabla crece. − Control del espacio ocupado. • Asignación continua Cuando yo necesito archivar un archivo previamente necesito saber cuando espacio necesitaré. • Con este sistema hay una perdida de espacio porque el usuario tendrá que sobredimensionar el espacio para que le quepa los sistemas. (Posible pérdida de espacio) • Si se queda corto de espacio, pueden asignarse más bloques que le preguntan la medida (extensión) para grabarlos. Estos bloques necesitas apuntadores, para que esté guardada como de forma continua Tendremos una tabla: Datos del archivo (Nombre del archivo, fecha de creación, fecha Cuando comienza (En el bloque nº ...) Cuantos bloques ocupa (la suma desde que comienza hasta que se 3 de acceso,...) acaba) • Asignación Enlazada Los últimos bits apuntan los siguientes apuntadores del archivo. • Inconvenientes: • Gestión de apuntadores Si se pierde un apuntador Chungo, porque perderemos a partir de ahí perderemos el resto de información del archivo. Hay una alternativa para no perder la información Solución es tener dos apuntadores uno que vaya al siguiente bloque y otro al anterior, una lista doblemente enlazada. • Pérdida de espacio por el uso de los apuntadores(Cada apuntador ocupa 32bits por bloque). Tabla del directorio Datos del archivo (Nombre del archivo, fecha de creación, fecha de acceso,...) Apuntador al último Apuntador en donde comienza bloque el primer bloque (optativo) • FAT (File Allocation Table)Tiene tantas posiciones como clusters (Bloques de información)tiene la partición. El directorio tendrá los datos del archivo(permisos, modo de archivo, nombre)y la posición (a parte de información guardará la posición en donde está guardada la siguiente información). Datos archivo Donde comienza* Aaa 2 0 5 Bbb Ccc Ddd 3 0 6 1 −1 2 4 3 1 4 4 −1 6 Otros Donde se acaba Espacio libre Ocupados FAT Tantas posiciones como clusters 5 6 1 7 7 −1 8 8 −1 −1 En cada casilla de la Fat esta indicado el siguiente cluster del archivo, o si es el final(−1).Las posiciones q no se utilizaran son 0 (espacio libre). Esta tabla ocupará 32 bits por cada posición. • Donde comienza el siguiente cluster, va recorriendo la fat. • Asignación Indexada Consiste en que en cada entrada de directorio tendremos un apuntador q apunta al bloque de índice. 4 Tabla de directorios. Información archivo: permisos, nombre del archivo, apuntador,... Apuntador bloque de índice. I.Arch Apun.bloq. indice Aaa Bbb Asignación del espacio ocupado (UNIX) (dentro de la asignación indexada) 4K = 4096Bytes @4 bytes 1024@*4K Inode (Indice Nodo) (I) del archivo 12 apuntadores directos 1 apunt indirecto sencillo 1 apunt. Indirect. Doble 1 apunt. indirec. Triple Cluster de 4k 12*4096+1024*4096+1024*1024*4096+1024*1024*1024*4096=4402345721856 Cluster de 8k cambia los valores 4096 8192 1024 2048 15*4 (60 bytes)<= 48K 48<a>(48+4096k) 15*4+1024*4 Método de Acceso • Secuencial va paso por paso. • Directo nos permite acceder directamente al archivo, no nos permite siempre(no se puede utilizar en estructuras enlazadas) depende tanto de la organización, como la unidad. 5 • Indexado tendrá unas tablas en donde ubicará la dirección de una palabra clave. También se puede poner la palabra clave, según una función para que nos dé un determinado número de posición. F(clau) fos Estructuras de directorios • Estructura de un solo directorio Solamente había un directorio y todo los archivos se guardaban allí. No permitía una jerarquización de los archivos (ordenarlos) • Estructura de dos directorios Son directorios de dos niveles. Uno que es la raiz y otro para cada usuario. Y dentro de cada subdirectorio, solamente se podrá poner los archivos con nombres cortos y sin jerarquizar. • Estructuras en árbol Las que conocemos en MS−DOS. Un directorio principal, que tiene directorios y archivos, dentro de estos más directorio y archivos. En este sistema, aparecen términos como el camino de búsqueda de archivos y camino absoluto(camino que tiene desde un directorio partiendo desde el directorio principal(directorio raiz)) y camino relativo(caminos desde el directorio en donde estás actualmente). • Grafos Acíclicos Grafos Estructura no jerarquizada. Es una estructura en la que no nos podremos encontrar ciclos(bucles), pero si estructuras en árbol. Nos facilita los accesos directos. No dirigido (en los dos sentidos, es bidireccional) Dirigido Información de los archivos que se encuentran en las entradas de directorio Los datos que nos dan en las entradas de los directorios son: • El nombre del archivo • Tipo del archivo (Extensión) • Su localización del bloque en donde está ubicada en disco • Protección del archivo • MS−DOS Atributos W95/98 LM, CT, CSL, O,S,... • NT L, E, A, CT, Elim • UNIX Propietario, Grupo, todos los otros (de usuario) • Fecha y hora de creación 6 • Fecha y hora de modificación • Contadores de uso y posición • Tamaño del archivo • Propietario 1 1 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Ocupado Libre 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Tabla de índice 3 5 7 Tabla de índice 6 7 8 ... Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq. De Indice Bloq.de Indice 1024 Bloq.(I) Bloq.de Indice 1024 Bloq.(I) Bloq.de Indice depende del tamaño de un cluster. Si cluster 4k 1024 Si cluster 8k 2048 Bloq.de Indice 1024 Bloq.de Indice 1024 Bloq.(I) Bloq.(I) Bloq.de Indice 1024 Bloq.de Indice 1024 Vertice Arestas 1024*1024 1024 1024*1024*1024 • 8