Archivos
La arquitectura de un sistema de archivos se podría poner como:
Capa lógica
API (para el usuario final)
Open -> Se mira si hay acceso y si el medio lo soporta (no se puede abrir para escritura un CDROM. Se asigna un Descriptor de Archivo (File descriptor)
Close -> buffers a disco en escritura. Se invalida el File Descriptor
Read, Write, Reposicionar (seek), Delete...
Compuestas (como mover, que se divide en las básicas de antes)
Descriptores -> Un número que relaciona el nombre del fichero con el proceso que ha solicitado la operación con el fichero
Seguridad -> Modo de acceso a un fichero y permisos de un usuario con respecto a ese fichero
...
Capa virtual (opcional)
Gestiona accesos concurrentes -> Acceso compartido o exclusivo a un archivo
Capa física
Lectura/escritura de bloques físicos
Buffer y administración de memoria
Tipo de acceso del S.O. al archivo
Secuencial -> Byte a byte, como en una cinta magnética
Aleatorio -> Los datos están tabulados y el acceso se hace más rápido
Indexado -> Los datos se dividen en dos ficheros, uno de datos puros y otro de índices. Se tabula el de índices para acceder aleatoriamente. El índice encontrado tiene inicio y fin de los datos que se tienen que leer
Tipos de asignación de espacio en disco
Contiguo: Un archivo se guarda a continuación del último guardado. Muy rápido pero con mucha fragmentación
Enlazado: Una entrada indica la dirección del primer cluster y cada cluster sabe la dirección del siguiente para conseguir el archivo entero. El último se marca con FF para saber que es especial
Mediante tabla:La cadena de clusters que conforma el archivo está en una tabla, con lo que no hay que investigar cada cluster
Indexado: El más moderno. Se crea una estructura intermedia con los metadatos del archivo y los clusters que comprende (i-node en linux o entradas de MFT en Windows)
Los directorios son como archivos con un atributo que los hace especiales. Los maneja el SO y su contenido es el listado de los ficheros que contienen.
Última actualización