Diferencia entre revisiones de «Sistemas de ficheros/Ext2/3»

Contenido eliminado Contenido añadido
Línea 12:
 
Los inodos son, junto con los superbloques, una estructura escencial en cualquier sistema de ficheros. El inodo es un metadato encargado de almacenar informacion referente a cada fichero/directorio almacenado en cualquier sistema de ficheros (desde el punto de vista de un programador es un registro (register o struct)).
El superbloque, es otro tipo de estructura, que no contiene informacion de un fichero o directorio, sino que almacena informacion sobre el FS(filesystem) al que pertenece. Es una estructura escencial, ya que, de querer realizar un busqueda u otra operacion sobre el FS es necesario acceder a ella, que es quien 'sabe' o 'conoce' como realizar las operaciones en ese tipo especifico de FS. Que quien tiene acceso al superbloque para realizar dichas operaciones? como es de suponer, el Kernel. Es decir, el Kernel almacena una referencia a cada superbloque, de cada sistema de ficheros que halla sido registrado. Mas adelante continuo con un comentario referido a esto.
 
<h4> Continuacion.</h4>
 
El inodo ademas de almacenar ciertos atributos del f/d (como el propietario) almacena refencias a los 'bloques' de datos. Los bloques son la unidad minima de almacenamiento a nivel logico. Mas claro: la unidad minima de lecto/escritura en el disco es el sector. El bloque es, desde el punto de vista del programador, una estructura, cuyo tamaño es un multiplo del tamaño del sector del disco. Entonces, cada fichero puede necesitar varios bloques; implicitamente es como decir, que va a necesitar varios sectores del disco, donde cada bloque esta formado por una cantidad n de sectores del disco.
(Ej: tamaño_del_sector= 512bytes, tamaño_del_bloque= 1KB ==>> el bloque ocupa 2 sectores del disco.)
(Cada unidad de informacion que se almacene, va a ocupar en el disco un minimo de 1KB. Si el archivo que acabamos de crear ocupa 1.4K, entonces se necesitaran reservar 2 bloques. Si, se desperdicia espacio, pero hay tecnicas para intentar minimizar estas perdidas)
Línea 34:
Para aclarar un poco:
 
Quiero guardar un tema que recien acabo de descargar, canciocancion.mp3. Por razones de simplicidad, vamos a decir decir que el tema pesa unos magicos 8KB. Como llegan hasta un sector dado del disco??!. Bueno, el navegador por el cual nos hemos descargado la cancion, se encarga de realizar una llamada al sistema operativo(evento que ocurre al presionar en Guardar) para pedirle que por favor la guarde en mi disco. Supongamos que lo queres guardarguardarias en el directorio /home/lala. El Kernel, entonces, busca la referencia al superbloque correspondiente a al sistema de ficheros local(/), y obtiene la informacion correspondiente para realizar la escritura. Es momento de reservar la cantidad de bloques necesarios para almacenar el archivo (8 bloques en el caso que cada uno sea de 1KB), escribirlos en el disco, junto con los atributos del archivo, y por supuesto, tambien hay que crear una entrada en el directorio home, etc; el proceso es un poco mas complejo, pero solo pretendo dar una vision global. A medida que avance en el texto, intentare ser mas preciso.
 
Desde el punto de vista del usuario:
Línea 64:
(existen otro tipo de complicaciones)
- El enlace duro: al crea un enlace de este otro tipo, no se le asigna un inodo libre.
Esta vez, lo que se almacena, es un refencia al mismo inodo del archivo apuntado. Como se almacena? como una entrada a un
directorio.(como parte del contenido de un directorio)(tambien tiene sus desventajas)
El numero 2, indica la cantidad de enlaces duros. Si se borrace cualquiera de los dos archivos (en este caso /home/nicolas