Gestión almacenamiento secundario

Anuncio
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
Descargar