GESTIÓN DE ALMACENAMIENTO SECUNDARIO Hasta ahora, hemos visto el disco duro es una pieza clave para el sistema operativo. Por ejemplo los 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. 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. Clasificación por tiempos: Si quiere entrar en una determinada pista (el brazo) hay un Tiempo de Búsqueda. Pero de que aquella pista se ha · Local por proceso · Global para todos los procesos Se puede generar una falta de paginas para la peor situación es q un proceso robe paginas y coja paginas propias, que constantemente se esté paginando, se podría llegar a crear una Hiperpaginación o Trashing que sería la peor consecuencia del sistema. Hasta conseguir que el disco gire y que un terminado sector se ubique (se situe) debajo del cabezal del sector que quieres se llama Tiempo de Latencia. El tiempo que tarda en coger del disco duro y llevar al procesador se llama Tiempo de Transmisión. La hiperpaginación se puede producir cuando: HIPERPAGINACIÓN 1 Frecuencia de faltas de paginación El proceso no genera falta de pagina. + nº FRAMES Mientras que los procesos se puedan producir sobre el intervalo, está bien el proceso. No hay hiperpaginación Si está debajo el procesos no genera falta de paginas Si está por encima hay hiperpaginació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 cabecera será la cabecera más cercana, la que precisa menos desplazamiento. 53 65 37 14 98 122 124 183 12 28 23 84 24 2 59 = 232 cl Es más rápido que el anterior pero puede llegar a aplazar indefinidamente una posición. SCAR (Exploración) Consiste que comienza por el primer cilindro y recorre hasta el último y vuelve a recorrer desde el principio hasta el final, sin atender ninguna petición. 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−SCAR (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. 53 65 98 122 124 83 37 14 2 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 que indica si está libre u ocupado el cluster o bloque de información. 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 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. − Bloques enlazados Cada bloque libre apunta, con un apuntador, al siguiente bloque libre. 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 @Inicial Bloque libre 2 11 16 Cuantos bloq. Libres continuos hay. 5 3 1 Cuando está muy fragmentado @Inicial Cuantos bloques Bloque libre libres continuos hay. 1 2 3 4 7 10 13 16 1 2 1 2 1 − 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 Tedremos una tabla: Cuantos bloques ocupa (la suma Datos del archivo (Nombre del Cuando comienza (En el bloque desde que comienza hasta que se archivo, fecha de creación, fecha de nº ...) acaba) acceso,...) • Asignación Enlazada Cada bloque de cada archivo, 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 en donde comienza Apuntador al último el primer bloque bloque • ¿Como se puede gestionar un acceso directo en este sistema? No se puede gestionar, no es directo. hay una alternativa, el que utiliza el sistema FAT • FAT Tiene tantas posiciones con clusters (Bloques de informació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 FAT Tantas posiciones como clusters 4 4 4 Donde se acaba Espacio libre Ocupados −1 6 Otros 5 6 1 7 7 −1 8 8 −1 −1 • Donde comienza el siguiente cluster, va recorriendo la fat. • Asignación Indexada Consiste Tabla de directorios. Información archivo, permisos, nombre archivo apuntador,... Apuntador bloque de indice. I.Arch Apun.bloq. indice Aaa Bbb • Asignación del espacio ocupado (UNIX) 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 4096 8192 1024 2048 5 15*4 <= 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. • 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, se crea 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), ni estructruras 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 6 • 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 • Fecha y hora de modificación • Contadores de uso y posición • Tamaño del archivo • Propietario 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 Ocupado Libre Tabla de índice 3 5 7 Tabla de índice 6 8 ... 0 1 2 3 4 5 6 7 8 9 10 11 7 12 13 14 15 16 17 18 19 Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq.(I) Bloq. De Indice Bloq.de Indice 1024 Bloq.de Indice 1024 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.de Indice 1024 Bloq.de Indice 1024 Vertice Arestas 8