Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tema V - Parte 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 30

Gestion de Archivos

Tema V – Parte 2
Sistemas Operativos I
Sistemas Operativos: Sistema de Archivos

Organización del Sist. Archivos - Implementación ://


En sistemas de archivos de discos, estos deben considerar la estructura
básica: particiones o volúmenes.
Disco entero

MBR Partición 1 Partición 2 Partición 3 Partición 4

Tabla de particiones

Partición: división lógica de una unidad de disco, también denominada


volúmen en sistemas Windows.

MBR: Master Boot Record o Registro Maestro de Arranque. Es leído y


ejecutado por la BIOS al encenderse el computador.

Tabla de Particiones: Contiene la información de donde comienza y


termina cada partición en el disco. Cada partición puede tener un
sistema de archivos diferente.

Bloque de arranque: primer bloque de cada partición. Contiene la


información de cómo arrancar el Sistema Operativo contenido en ella. Al
ejecutarse el MBR, este busca los bloques de arranque para ejecutarlos.
Si no existe S.O. en una partición, se deja el bloque en blanco por
Sistemas Operativos: Sistema de Archivos

Organización del Sist. Archivos - Implementación ://


Físicamente se puede distinguir:

Cilindro: disco físico. Ej: 1 diskette tiene 1 cilindro, mientras que un disco duro puede tener varios.

Pistas: divisiones concéntricas del disco. Un disco removible de 3.5” tiene en formato simple 18 pistas.

Sectores: unidad atómica en la que se divide un disco para acceder a él en múltiplos de esta. Ej: 512b

Bloques: agrupación de sectores que realiza el sistema operativo, denominado cluster en sistemas
Windows. El acceso al disco que realiza el S.O. se hace en esta unidad.
Sistemas Operativos: Sistema de Archivos

Organización del Sist. Archivos - Implementación ://

En sistemas de archivos de discos, estos deben considerar la estructura básica:


particiones o volúmenes. Disco entero

MBR Partición 1 Partición 2 Partición 3 Partición 4

Tabla de particiones

Cada partición debe contener la información de todos los archivos (y directorios si


corresponde) que alberga. Esta información es almacenada en sectores al inicio
del volúmen, cuya estructura varía considerablemente entre sistemas de archivos,
aunque conceptualmente se puede graficar como sigue.

Bloque de arranque Metadatos Archivos y Directorios

El sector de metadatos contiene la información


Número Mágico que respecto de donde y como están almacenados los
identifica sistema de archivos en la partición.
archivos que contiene
la partición
Partes del Disco Duro

Plato: cada uno de los discos de los que están compuesto el disco duro.
Cara: cada uno de los lados de un plato.
Cabeza: número de cabezales para la lectura/escritura de información.
Pista: una circunferencia dentro de una cara.

Cilindro: conjunto de varias pistas; son todas las circunferencias que están
alineadas verticalmente.
Sector : unidad mínima de información que se puede leer o escribir en un
disco duro. Generalmente, cada sector almacena 512 bytes de
información.
Sistemas de direccionamiento

CHS (Cilindro-Head cabeza – Sector), con estos tres


valores se puede situar un dato en cualquier parte del
disco. (hasta un máximo de 8 Gb)

LBA (Logical Block Addressing- direccionamiento lógico


de bloques), que consiste en dividir el disco entero en
sectores y asignar a cada uno un único número. Este es
el que actualmente se usa.
Numero de Sectores de un disco (CHS)

El número total de sectores de un disco duro se puede calcular a


través de esta fórmula
nº sectores = nº caras * nº pistas/cara * nº sectores/pista

Por ejemplo, un disco duro con las siguientes características:


cilindros = 6.253, cabezas = 16 y sectores = 63.
El número total de sectores será  6.253 * 16 * 63 = 6.303.024
sectores.
Si cada sector almacena 512 bytes de información, la
capacidad máxima de este disco duro será de 6.303.024 sectores *
512 bytes/sector = 3.227.148.228 bytes ~ 3 GB. 
tecnología ZBR
(grabación de bits por zonas)
Dado que las pistas exteriores son más largas que las
interiores, y con objeto de no aumentar la densidad
lineal de los datos, es práctica común en los discos que
el número de sectores sea menor en las pistas interiores
que en las exteriores. 
O lo que es lo mismo: que el valor de “Sectores por
pista” no sea igual en todos los cilindros. 
Esta técnica de grabación se conoce como zoned-bit
recording y señala que no todas las pistas tienen igual
número de sectores.
Traducción de direcciones
La dirección física de un sector está constituida por una terna (cilindro,
pista, sector).
El SO trata el disco como una tabla de bloques de disco unidimensional,
donde cada bloque es un sector.
La traducción de un número de bloque en una dirección física depende
de la numeración del disco
Empezar desde el cilindro exterior, superficie superior y un sector al azar
marcándolo como (0, 0, 1)
Completar los sectores de la pista actual hasta (0, 0, s)
Pasar a la siguiente superficie con (0, 1, 0)
Repetir para todas las pistas del cilindro hasta (0, p, s)
Pasar al siguiente cilindro, superficie superior (1, 0, 1)
Completar con los cilindros interiores (c, p, s)
Traducción de direcciones
En un disco con P pistas/cilindro y S sectores/pista:
Para calcular el número de bloque de una dirección física (i, j, k):

b = i*P*S + j*S + k
Para obtener la dirección física de un bloque b:

i = int(b/PS) r = mod(b/PS)
j = int(r/S)
k = mod(r/S)
El BIOS del PC

El software BIOS es el primer programa que se ejecuta cuando se


enciende un ordenador. El software que contiene la BIOS se almacena en
un circuito integrado de memoria ROM no-volátil en la placa base.
El papel de la BIOS en el arranque del PC
Inicializar y probar el hardware del sistema.
Cargar un bootloader (gestor de arranque) o un sistema operativo de un
dispositivo de almacenamiento de datos.
Relación de la BIOS con el MBR
Cuando la BIOS arranca mira el estado de la máquina, busca el sector 0 del
disco MBR y empieza el arranque.
Particiones GPT
Actualmente existen dos tipos de estilos de particionado, el MBR y GPT, y
ambos tienen la misión de preparar nuestro disco duro para albergar, y
arrancar nuestro sistema operativo. Pero es mucho más que esto, así que
hoy vamos a explicar en qué consiste el estilo de particionado GPT.
GPT no es más que otro estilo distinto de tabla de particiones, la cual fue
implementada para los modernos sistemas EFI o Extensible Firmware
Interface, que ha sustituido al antiguo sistema BIOS de los ordenadores.
Entonces, mientras que BIOS utiliza MBR para gestionar el disco duro y el
arranque del sistema, GPT está orientado a ser el sistema propio para UEFI.
El nombre que recibe de GUID o GPT proviene de que el sistema le asocia
un identificador global único a cada partición (Global Unique Identifier).
La extensión del nombre de GUID es tan larga que podríamos poner
nombre a todas las particiones que hay en el mundo con un identificador
único distinto, por lo que las limitaciones no existen para este estilo de
partición más allá que las del propio disco duro y sistema operativo. Por
ejemplo, Windows tiene un límite de 128 particiones primarias GPT.
Al igual que una partición MBR, un disco duro con una tabla de particiones GPT
comienza el disco con una entrada MBR como meros propósitos de
compatibilidad con los antiguos sistemas BIOS para PC. Pero realmente se basa
en las capacidades de la propia EFI para realizar los procesos de gestión y
arranque del contenido del disco
Esto significa que GP T cambia por ejemplo el sistema de direccionamiento de
nuestro disco duro . Mientras que el MBR utiliza el tradicional sistema CHS o
Cilindro-Cabeza-Sector para enviar las direcciones de datos al dispositivo, GPT
lo hace mediante LBA o dirección de bloque lógica para referirse a la región en
donde se encuentran los datos físicamente almacenados en nuestra unidad de
almacenamiento.
Otra de las grandes diferencias entre MBR y GPT es la limitación de particiones y
su tamaño : con MBR podremos solamente crear cuatro particiones primarias y
no de un tamaño mayor a 2 TB cada una . Por ejemplo, en un disco duro de 16 TB
ya tendríamos patente esta limitación en sus dos aspectos. En GPT no hay
prácticamente ningún tipo de limitación salvo la del sistema operativo y el disco
duro.
Las siglas GUID se refieren al Globally Unique Identifier (en castellano, identificador
único global). Se trata de un número exclusivo de 128 bits (16 bytes) que se asigna a
cada archivo o documento y que, en el caso de los discos duros, también permite
identificar a los medios de almacenamiento y tipos de particiones de forma inequívoca.
ventajas y características de la partición GPT
Particiones primarias ilimitadas: aunque, en teoría, la tabla de particiones admite un número
ilimitado de particiones primarias, en la práctica, los sistemas operativos establecen un límite.
Por ejemplo, el valor de Windows asciende a 128, lo que resulta más que suficiente.
Protección mediante sumas de verificación CRC32: las sumas de verificación garantizan la
integridad de la cabecera GPT, ya que permiten detectar los sectores defectuosos.
Identificación clara de particiones y medios de almacenamiento: como ya hemos
mencionado, con la tecnología GUID, todas las particiones y medios de almacenamiento
obtienen un número de identificación único.
Copia de seguridad de la cabecera: la cabecera de la tabla de particiones GUID no solo
queda respaldada por la suma de verificación que hemos descrito, sino también por una
copia de seguridad idéntica,
Compatibilidad con sistemas anteriores: el llamado Protective Master Boot Record (MBR
protector) del sector 0, el primer bloque de datos de un disco duro GPT, asegura que casi
todos los sistemas operativos, servicios y herramientas diseñados para la partición MBR
funcionen también con la GPT.
Relación entre LBA y CHS
Tiempo de acceso
Tiempo de acceso: tiempo transcurrido desde que la unidad de
control proporciona a la unidad de disco una dirección de un
sector, hasta que dicho sector es transferido a la memoria.

Posicionamiento : intervalo de tiempo necesario para desplazar la cabeza de


lectura y escritura desde una pista a otra adyacente.

Latencia Promedio : Es el promedio de tiempo para que el disco una vez en la


pista correcta encuentre el sector deseado, es decir el tiempo que tarda el disco
en dar media vuelta.

Velocidad de transferencia : velocidad a la que los datos (bits) pueden


transferirse desde el disco a la unidad central. Depende esencialmente de dos
factores : la velocidad de rotación y la densidad de almacenamiento de los
datos en una pista
Los discos duros actuales pueden presentar un tiempo de búsqueda de
alrededor de unos 9 ms, dispositivos móviles unos 12 ms, y servidores de
gama alta alrededor de 4 ms de tiempo de búsqueda promedio.
Los discos duros de estado sólido (SSD)presentan un tiempo de búsqueda
entre los 0.08 y 0.16 ms.
Gestión del Almacenamiento Secundario

Algoritmos de ubicación:

Primer hueco (first fit)


El primer grupo de bloques contiguo de tamaño suficiente
Crea muchos fragmentos pequeños al principio del disco
Simple y rápido en las decisiones

Siguiente hueco (next fit)


El siguiente grupo de bloques contiguo desde la asignación anterior y con
tamaño suficiente
Distribuye los fragmentos pequeños a lo largo del disco
Más complejo de implementar que el primer hueco
Gestión del Almacenamiento Secundario

Mejor hueco (best fit)


El grupo de bloques contiguo menor de tamaño suficiente
Lento, porque debe recorrer todos los huecos
Deja huecos pequeños poco aprovechables

Peor hueco (worst fit)


El grupo de bloques contiguo mayor de tamaño suficiente
Lento, porque debe recorrer todos los huecos
Deja huecos grandes que pueden ser aprovechables

En ejecuciones largas, todos tienen resultado similar


Sistemas Operativos: Sistema de Archivos

Implementación de archivos - Implementación ://

Asignación Contigua
Se entrega espacio continuo en el disco a los archivos.
Su ventaja es la implementación simple y el buen
desempeño en lectura.
La desventaja es la fragmentación excesiva y compleja
dado que se DEBE escribir cada archivo como un todo cada
vez.
Si se elimina un archivo se requiere otro de igual tamaño
para no desperdiciar lugar, o reubicar los archivos para
hacer espacio a un archivo más grande.

Arch. A Arch. B Arch. C Arch.D Arch. A Arch. C Arch.D

Sistemas Operativos – ICC243 [ 20 ] Prof. Jonathan Makuc


Asignación por Lista Enlazada
Los archivos se mantienen como una lista enlazada de bloques
en el disco.
Permite que un archivo no deba estar contiguo en el disco y
elimina la fragmentación del disco dado que se pueden utilizar
todos los bloques.
Su mayor problema es el acceso aleatorio, pues el S.O. debe ir
buscando nodo por nodo la dirección del siguiente, hasta llegar
al que necesita.
Por otra parte ahora la cantidad de datos almacenada en un
bloque ya no es potencia de 2, complicando el panorama para
la implementación de página, por ejemplo.

Bloque 0 Bloque 1 Bloque 2 Bloque 3

Bloque 7 en disco Bloque 1 en disco Bloque 5 en disco Bloque 2 en disco


Asignación por Lista Enlazada empleando tabla en la memoria

Bloque Físico Sgte Bloque

Toma el apuntador que antes estaba


0
1 5
2 -1 dentro del bloque en disco, y lo traslada
3
a una tabla exclusivamente para ese
efecto.
4
Término del
archivo 5 2
6 De esta forma el bloque se llena de
Inicio del
archivo
7 1
datos y poder acceder aleatoriamente
al archivo es más simple pues no
requiere de accesos a disco dado que
todos los datos están juntos en memoria

A esto se le conoce como FAT, File


Allocation Table.
Bloque de disco
Atributos del archivo Nodos-i
Consiste en asociar a cada archivo una
Dirección del bloque 0 estructura de datos llamada “i-node” (nodo
índice).
Dirección del bloque 1

Esta estructura contiene las direcciones de


Dirección del bloque 2
los bloques en disco que componen al
archivo.
Dirección del bloque 3

Dirección del bloque 4


La mayor ventaja es que solo es necesario
tener en memoria las estructuras de los
Dirección del bloque 5 archivos abiertos, pues estas son las únicas
que se necesitan para el acceso aleatorio.
Dirección del bloque 6
Para solucionar el problema de que la
Dirección del bloque 7 cantidad de bloques de un archivo no
queda en un solo i-node, se agrega al final
Dirección bloque con más direcc . de este la posibilidad de enlazar en la última
posición a un bloque que contenga más
direcciones (solo direcciones)
Control de bloques libres
Uno de los problema importantes que debe tratar el sistema de
archivos, es la administración de los bloques libres. Sin importar
cual método se emplee, se suelen usar bloques libres del disco
para colocar la estructura que los maneja.
Listas Enlazadas Libres 387 321 12

Se utiliza una lista enlazada de bloques de disco que


123 3 987
contienen números de bloques libres.
Se almacenan tantos números como se pueda en 32 54 976
cada bloque.
33 55 765
Para agilizar el proceso de búsqueda de un bloque
libre, se mantiene uno o más bloques en memoria, 433 56 433
dejando el resto en disco.
La desventaja es que cuando el bloque esta por 766 57 654

llenarse puede provocar muchas operaciones de I/


7 77 543
O al buscar otro bloque, producto de una seguidilla
de creaciones y eliminaciones de archivos y 56 9 21
directorios.
Mapas de bits
0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 Se crea un mapa donde se representa a
0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 cada bloque disponible con 1 bit.
0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0

Es muy eficiente en espacio dado que utiliza 1


0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1
bit en lugar de 1 palabra, excepto cuando el
0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0
disco esta lleno, caso en el cual la lista es más
0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1
pequeña.

Al igual que la lista, se puede dejar solo una


porción del mapa en memoria y el resto en
disco; teniendo una ventaja adicional, puesto
que las asignaciones realizadas con el bloque
en memoria serán a bloques cercanos,
reduciendo el overhead de acceso a disco.
Sistemas Operativos: Sistema de Archivos

Introducción - NTFS ://


NTFS o New Technology File System, es el sistema de archivos de la
línea NT de los sistema MS Windows.

Fue diseñado desde cero, pensado para reemplazar a la familia de


FAT eliminando todas las limitaciones de este, y pensando en poder
extenderlo fácilmente en el futuro.

Conceptualmente NTFS ve todo en el sistema como un archivo,


incluyendo a los metadatos.

El corazón de tal esquema es la MFT (Master File Table) que


contiene la información de donde están los archivos y sus atributos.

Aunque esta respaldada en un %, si se daña los datos de todo el


volumen se perderán.

Utiliza bitmaps para determinar los bloques (clusters) libres en el


disco, e indexa los directorios a través de árboles B+.
Tamaño máximo de volumen 16EiB (Exbibyte – 260)

Tamaño máximo de archivo Teórico 16EiB

Tamaño máximo de archivo implementación actual 16TiB (Tebibyte – 240)

Número máximo de archivo 232 – 1

Largo nombre de archivo 255 caracteres

Fechas 01/01/1601 – 28/05/60056

Compresión de datos LZ77 (zip) desde WinNT 3.51

Encriptación de datos XDES (Win2000), 3DES (WinXP), AES


(Win2003)
Sistemas Operativos: Sistema de Archivos

Esquema General - NTFS ://

Partition Archivos
Boot MFT de Área de archivos
Record Sistema
Ejemplo Esquema partición NTFS

Boot Partition Record


En los primeros 8kb se contiene la información sobre el volumen (tipo de partición, largo, etc), junto
con el bloque de código básico para iniciar al sistema operativo. Contiene también un puntero a
la MFT.

MFT – Master File Table


La Tabla Maestra de archivos contiene el donde y como están almacenados los archivos, junto
con todos los atributos asociados a estos.

Archivos de Sistema
Contienen la información sobre los datos y operaciones que se realizan sobre el sistema de
archivos: espacio libre, log de transaccionalidad, etc.

Área de archivos
Donde realmente se almacenan los datos del usuario.
Sistemas Operativos: Sistema de Archivos

Master File Table - NTFS ://


La MFT contiene la información sobre todos los archivos dentro del volumen. Mantiene la dirección en
disco donde esta el archivo, sus atributos, información de cómo securizar los datos, etc.
Las primeras 16 posiciones corresponden a entradas a archivos que implementan el sistema de archivos
y están reservadas. Desde la 11 a la 15 no se utilizan y están para provisión. Desde el #16 en adelante se
pueden tener entradas para archivos de usuario.

# Filename Nombre Descripción


0 $MFT Master File Table Puntero a si mismo para consistencia del modelo.

1 $MFTMirr Master File Tabla Mirror Puntero donde se encuentra el respaldo de la MFT. Solo se respaldan los
registros más importante. En NT3.5 se ubica a la mitad de la partición, en
versiones posteriores al final.

2 $LogFile Log File Archivo de log de transacciones sobre el volumen.

3 $Volume Volume Descriptor Contiene información crucial sobre la partición en si: versión NTFS, nombre,
etc.

4 $AttrDef Attribute Definition Table Nombres y tipos de los atributos que tendrá cada archivo.

5 $ Root Directory Puntero a donde parte el directorio raíz del sistema.

6 $Bitmap Cluster Allocation Bitmap Mapa que muestra los clusters (bloques) disponibles

7 $Boot Volume Boot Code Puntero al segmento que contiene el código de arranque, en el caso de que
esta sea una partición activa (booteable)

8 $BadClus Bad Cluster File Lista de todos los bloques “malos” del disco, para no volver a utilizarlos.

9 $Secure Security File Contiene descriptores únicos para cada archivo del volumen

10 $UpCase Upper Case Table Tabla de conversiones mayúsculas/minúsculas en UNICODE.

11 $Extend NTFS Extensions Usado por varias extensiones como quotas, reparse, identif. de objeto, etc.

Sistemas Operativos – ICC243 [ 29 ] Prof. Jonathan Makuc


Sistemas Operativos: Sistema de Archivos

Master File Table Entry - NTFS ://

Al crearse el volumen en el formato, se reserva


espacio para que la MFT pueda crecer
(alrededor del 12% del disco por defecto).
Este espacio aunque esta libre, no es utilizado
sino hasta que no queda más espacio
disponible en el disco.
En el caso de que la MFT crezca mucho,
puede particionarse y colocar una porción en
otro lugar del disco.
El tamaño de una entrada de la MFT puede
variar entre 1.024 y 4.096 bytes, estando de la
mano el tamaño del cluster.
Atributos Básicos

Cada registro de la MFT contiene un


encabezado o header que permite identificar
la entrada, junto con indicar la cantidad de
bytes usados, contador de referencias, etc

Fuente: http://dbserver.kaist.ac.kr/~yjlee/Courses/CS230/ntfs/NTFS-3.html

Sistemas Operativos – ICC243 [ 30 ] Prof. Jonathan Makuc

También podría gustarte