Professional Documents
Culture Documents
Cualquier sistema de archivos proporciona no sólo un medio para almacenar datos organizados como
archivos, sino también una colección de funciones que se pueden realizar en archivos.
• Abrir: un archivo existente es declarado "abierto" por un proceso, permitiendo al proceso para realizar
funciones en el archivo.
• Cerrar: El archivo se cierra con respecto a un proceso, de modo que el proceso ya no puede realizar
funciones en el archivo, hasta que el proceso abra el archivo de nuevo.
• Escribir: Un proceso actualiza un archivo, ya sea añadiendo nuevos datos que aumenta el tamaño del
archivo o cambiando los valores de elementos de datos existentes en el archivo.
Estos incluyen propietario, tiempo de creación, tiempo de última modificación, privilegios de acceso, etc.
6. ¿Qué relación existe entre los conceptos de Campo, registro, archivo y base de datos?
Un archivo puede ser visto como un conjunto de registros, si el archivo está organizado y estructurado.
Si el archivo está estructurado como registro, se puede tener dentro de esos registros campos. Estos campos
son como subdivisiones dentro de registro.
Entonces, los términos campos, registros y archivos, son términos relacionados por cómo se puede
clasificar la información dentro de un archivo.
Base de datos es un conjunto de archivos, registros o campos relacionados.
B-Trees: La sección anterior se refería al uso de un archivo de índice para acceder a registros
individuales en un archivo o base de datos.
Para un archivo grande o una base de datos, un solo archivo secuencial de índices en la clave
primaria no proporciona un acceso rápido. Para proporcionar un acceso más eficiente, normalmente
se utiliza un archivo de índice estructurado.
La estructura más simple es una organización con estructura de dos niveles en la que el archivo
original se divide en secciones y el nivel superior consiste en un conjunto secuenciado de punteros a
las secciones de nivel inferior.
Esta estructura puede entonces extenderse a más de dos niveles, dando como resultado una
estructura de árbol.
A menos que se imponga una simetría en la construcción del índice de árboles, es probable que
termine con una estructura desigual, con algunas ramas cortas y algunas ramas largas, de modo que
el tiempo para buscar el índice es desigual.
Por lo tanto, una estructura de árbol equilibrada (o balanceados), con todas las ramas de igual
longitud, parecen dar el mejor desempeño promedio.
Tal estructura es el árbol B, que se ha convertido en el método estándar de organización de índices
para bases de datos y se utiliza comúnmente en los sistemas de archivos del SO, incluidos los Mac
OS X, Windows y varios sistemas de archivos Linux.
La estructura del árbol B proporciona una búsqueda, adición y eliminación eficaces de elementos.
19. ¿Qué son los Directorios?
El directorio contiene información sobre los archivos, incluidos:
los atributos
la ubicación
la propiedad
Gran parte de esta información, especialmente la relacionada con el almacenamiento, es gestionado por el
sistema operativo. El directorio es en sí mismo un archivo, accesible por rutinas de gestión de archivos.
20. ¿Qué elementos de información debieran poseer los directorios?
Información básica
Información de direcciones
Información de control de direcciones
Información de uso.
21. ¿Cuáles son las operaciones que se puede realizar con los directorios?
• Buscar: Cuando un usuario o aplicación hace referencia a un archivo, debe buscarse en el directorio, la
entrada correspondiente a ese archivo.
• Crear archivo: Cuando se crea un archivo nuevo, se debe agregar una entrada al directorio.
• Eliminar archivo: Cuando se elimina un archivo, se debe eliminar una entrada del directorio.
• Listar Directorio: Se puede solicitar todo o una parte del directorio. En general, esta solicitud es hecha por
un usuario y resulta en una lista de todos los archivos propiedad de ese usuario, además de algunos de los
atributos de cada archivo (por ejemplo, tipo, información de control de acceso, información de uso).
• Actualizar directorio: Debido a que algunos atributos de archivo están almacenados en el directorio, un
cambio en alguno de estos atributos requiere un cambio en la entrada del directorio correspondiente.
22. ¿Qué cuestiones hay que resolver en el compartimiento de archivos?
La denominación única se convierte en un problema serio. Además, es difícil ocultar partes del directorio
general de los usuarios cuando no hay una estructura inherente en el directorio.
23. ¿Cuáles son algunos de los derechos de acceso?
• Ninguna: El usuario no puede ni siquiera conocer de la existencia del archivo, mucho menos acceder a él.
Para hacer cumplir esta restricción, no se le permite al usuario leer el directorio de usuario que incluye este
archivo.
• Conocimiento: El usuario puede determinar que el archivo existe y quién es su propietario. El usuario
puede entonces solicitar al propietario derechos de acceso adicionales.
• Ejecución: El usuario puede cargar y ejecutar un programa pero no puede copiarlo. A menudo, los
programas comerciales se hacen accesibles con esta restricción.
• Lectura: El usuario puede leer el archivo para cualquier propósito, incluyendo copiar y ejecución. Algunos
sistemas son capaces de hacer cumplir una distinción entre visualizar y copiar. En el primer caso, el
contenido del archivo puede mostrarse al usuario, pero éste no tiene medios para hacer una copia.
• Añadir: El usuario puede agregar datos al archivo, a menudo sólo al final, pero no puede modificar o
eliminar cualquiera de los contenidos del archivo. Este derecho es útil en la recopilación de datos de varias
fuentes.
• Actualización: El usuario puede modificar, eliminar y agregar datos al archivo. Esto normalmente incluye
escribir el archivo al principio, reescribirlo completamente o en parte, y eliminar la totalidad o una parte de
los datos. Algunos sistemas distinguen entre diferentes grados de actualización.
• Cambio de protección: El usuario puede cambiar los derechos de acceso concedidos a usuarios.
Normalmente, este derecho sólo lo tiene el propietario del archivo. En algunos sistemas, el propietario
puede extender este derecho a otros. Para evitar el abuso de este mecanismo, el propietario del archivo
normalmente podrá especificar qué derechos pueden ser cambiados por el titular de este derecho.
Estos derechos pueden considerarse como una jerarquía, incluyendo a todos los que le preceden. Así, si se
concede a un usuario concreto el derecho de actualización particular, entonces ese usuario también se le
habrá concedido los siguientes derechos: conocimiento, ejecución, lectura y adición.
24. ¿Cuáles son los tipos de usuarios que se catalogan para los derechos de acceso?
Un usuario es designado como propietario de un archivo dado, usualmente la persona que inicialmente ha
creado el archivo. El propietario tiene todos los derechos de acceso enumerados anteriormente y puede
conceder derechos a los demás. Puede ofrecerse a diferentes clases de usuarios:
• Grupos de usuarios: conjunto de usuarios que no están definidos individualmente. El sistema debe tener
alguna manera de hacer un seguimiento de la membresía de los grupos de usuarios.
• Todos: Todos los usuarios que tienen acceso a este sistema. Estos son archivos públicos.
25. ¿Qué son los bloques de disco? ¿Cuáles son las variantes de tamaño?
En la mayoría de los sistemas, los bloques son de longitud fija: Esto simplifica el buffer de E/S, asignación en
memoria principal, y la organización de bloques en almacenamiento secundario.
Cuanto mayor sea el bloque, más registros se pasan en una operación de E/S.
Bloques fijos: se utilizan registros de longitud fija y un número entero de registros se almacenan en un
bloque. Puede haber espacio no utilizado al final de cada bloque. Esto se conoce como fragmentación
interna.
Bloques de longitud variable con tramos: se usan registros de longitud variable que se agrupan en
bloques sin dejar espacio sin usar. Así, algunos registros deben abarcar dos bloques, con la continuación
indicada por un puntero al bloque sucesor.
Bloques de longitud variable sin tramos: Se utilizan registros de longitud variable, pero no se dividen en
tramos. Hay desperdicio de espacio en la mayoría de los bloques debido a la incapacidad de utilizar el
resto de un bloque si el siguiente registro es mayor que el espacio no utilizado restante.
26. ¿Cómo se asigna los archivos en los discos?
Asignación de archivos:
1. Cuando se crea un archivo nuevo, se asigna de una sola vez el espacio máximo requerido para el archivo
2. Se asigna espacio a un archivo como una o más unidades contiguas, las cuales se refieren como secciones.
Es decir, una sección es un conjunto contiguo de bloques asignados. El tamaño de una sección puede variar
de un solo bloque a todo el archivo. ¿Qué tamaño de sección debe ser utilizado para la asignación de
archivos?
3. ¿Qué tipo de estructura de datos o tabla se utiliza para realizar un seguimiento de las porciones asignadas
a un archivo? Un ejemplo de tal estructura es una tabla de asignación de archivos (FAT), que se encuentra en
DOS y algunos otros sistemas.
27. ¿Qué significa pre-asignación y asignación dinámica?
Una política de preasignación requiere que se declare el tamaño máximo de un archivo en el momento de
la solicitud de creación de archivo.
El uso de asignación dinámica, asigna espacio a un archivo en porciones según sea necesario.
28. ¿Cuáles son algunos de los criterios para elegir el tamaño de la porción de disco a asignar a los archivos?
1. La contigüidad del espacio aumenta el rendimiento, especialmente para las operaciones de
Recuperar_Siguiente, y en gran medida para las transacciones en un sistema orientado a transacciones.
2. Tener un gran número de pequeñas secciones aumenta el tamaño de las tablas necesarias para gestionar
la información de asignación.
3. Tener secciones de tamaño fijo (por ejemplo, bloques) simplifica la reasignación de espacio.
4. Tener secciones de tamaño variable o secciones pequeñas de tamaño fijo minimiza el desperdicio de
almacenamiento provocada por la sobreasignación.
29. ¿Cuáles son algunas de las alternativas en la elección de la porción?
• Secciones contiguas grandes y variables: Esto proporcionará un mejor rendimiento. El tamaño variable
evita el desperdicio y las tablas de asignación de archivos son pequeñas. Sin embargo, el espacio es difícil
de reutilizar.
• Bloques: pequeñas porciones fijas proporcionan mayor flexibilidad. Pueden requerir grandes tablas o
estructuras complejas para su asignación. La contigüidad se abandona, como meta principal; los bloques se
asignan según sea necesario.
Cualquiera de las opciones es compatible con la asignación previa o la asignación dinámica.
En el primer caso (secciones contiguas), a un archivo se le preasigna un grupo contiguo de bloques. Esto
elimina la necesidad de una tabla de asignación de archivos; todo lo que se requiere es un puntero al primer
bloque y el número de bloques asignados.
En el segundo caso (bloques), todas las secciones necesarias se asignan de una sola vez. Esto significa que la
tabla de asignación del archivo permanecerá de tamaño fijo, porque el número de bloques asignados es fijo.
Con secciones de tamaño variable, necesitamos preocuparnos por la fragmentación de espacio libre. Este
problema se enfrentó cuando se consideró la memoria principal particionada en Capítulo 7 . Las siguientes
son posibles estrategias alternativas:
• Primer ajuste: elija el primer grupo contiguo no utilizado de bloques de tamaño suficiente de una lista de
bloques libres.
• Mejor ajuste: elija el grupo más pequeño que no haya utilizado y que sea de tamaño suficiente.
• Ajuste más cercano: elija el grupo no utilizado de tamaño suficiente que esté más cerca al asignado
previamente al archivo para aumentar la cercanía.
30. ¿Qué ventajas y desventajas tiene la asignación contigua de porciones de disco para los archivos?
Ventajas: Con la asignación contigua, un único conjunto contiguo de bloques se asigna a un archivo en el
momento de la creación del archivo. Por lo tanto, se trata de una estrategia de pre asignación, utilizando
secciones de tamaño variable. La tabla de asignación de archivos necesita sólo una entrada por cada
archivo, mostrando el bloque inicial y la longitud del archivo. Asignación contigua es la mejor desde el
punto de vista del archivo secuencial individual. Bloques múltiples se pueden leer a la vez para mejorar el
rendimiento de E/S para el procesamiento secuencial. También es fácil recuperar un solo bloque.
Desventajas: La fragmentación externa ocurrirá, haciendo difícil encontrar bloques contiguos de espacio de
longitud suficiente. Además, con la asignación previa, es necesario declarar el tamaño del archivo en el
momento de su creación.
31. ¿Qué ventajas y desventajas tiene la asignación enlazada de porciones de disco para los archivos?
Ventajas: Típicamente, la asignación se realiza con bloques individuales. Cada bloque contiene un puntero al
siguiente bloque de la cadena. Una vez más, la tabla de asignación de archivos necesita una sola entrada
para cada archivo, mostrando el bloque inicial y la longitud del archivo. Aunque la pre-asignación es
posible, es más común simplemente asignar bloques según sea necesario.
La selección de bloques es ahora una cuestión simple: Cualquier bloque libre puede ser añadido a una
cadena.
No hay una fragmentación externa de la que preocuparse porque sólo un bloque a la vez es necesario.
Este tipo de organización física es el más adecuado para archivos secuenciales que se van a procesar
secuencialmente. Para seleccionar un bloque individual de un archivo se requiere recorrer a través de la
cadena hasta el bloque deseado.
Desventajas: Una consecuencia del encadenamiento, tal como se ha descrito hasta ahora, es que no hay
cabida para el principio de localidad.
Por lo tanto, si es necesario traer varios bloques de un archivo a la vez, como en el procesamiento
secuencial, es necesaria una serie de accesos a diferentes partes del disco.
32. ¿Qué ventajas y desventajas tiene la asignación indexada de porciones de disco para los archivos?
Ventajas: En este caso, la tabla de asignación de archivos contiene un índice para cada archivo; el índice
posee una entrada para cada sección asignada al archivo.
Normalmente, los índices de archivos no se almacenan físicamente como parte de la tabla de asignación de
archivos.
Más bien, el índice del archivo se mantiene en un bloque independiente y la entrada para el archivo en la
tabla asignación de archivos apunta a ese bloque.
Asignación por bloques elimina la fragmentación externa, mientras que la asignación por secciones de
tamaño variable mejora la localidad de la referencia.
En cualquier caso, la concentración de archivos se puede hacer de vez en cuando.
La concentración de archivos reduce el tamaño del índice en el caso de porciones de tamaño variable, pero
no en el caso de asignación por bloques.
En la asignación indexada es compatible tanto el acceso secuencial como el acceso directo al archivo y por lo
tanto es la forma más popular de asignación de archivos.
33. ¿De qué forma se puede administrar el espacio libre de un disco?
Así como el espacio que se asigna a los archivos debe ser gestionado, también debe ser gestionado el
espacio que no es actualmente asignado a cualquier archivo.
Para realizar cualquier técnica de asignación de archivos descritos anteriormente, es necesario saber qué
bloques en el disco están disponibles.
Por lo tanto, necesitamos una tabla de asignación de disco además de una tabla de asignación de archivos.
Tres técnicas son de uso común:
Tablas de bits
Secciones libres encadenadas
Indexación
34. ¿Cómo administra la tabla de bits el espacio vacío?
Este método utiliza un vector que contiene un bit que representa cada bloque en el disco. Cada entrada
igual a 0 corresponde a un bloque libre, y cada 1 corresponde a un bloque en uso.
35. ¿Cómo administra las porciones libres encadenadas el espacio vacío?
Las secciones libres pueden encadenarse juntas utilizando un puntero y un valor de longitud en cada
sección libre.
Este método tiene la ventaja de que no hay necesidad de tabla de asignación de disco, simplemente un
puntero al comienzo de la cadena y la longitud de la primera sección.
Este método es adecuado a todos los métodos de asignación de archivos.
Si la asignación se realiza por bloques, simplemente hay que elegir el bloque libre del principio de la cadena
y ajustar el primer puntero o el valor de la longitud.
Si la asignación se hace por secciones de longitud variable, se puede usar el algoritmo de primer ajuste: se
leen las cabeceras de la sección una a una para determinar la siguiente sección libre en la cadena que se
ajuste. Nuevamente, los valores de puntero y longitud se ajustan.
36. ¿Cómo administra el indexado el espacio vacío?
El enfoque de indexación trata el espacio libre como un archivo y utiliza una tabla de índices como se
describe en la asignación de archivos.
Para la eficiencia, el índice debería trabajarse con secciones de tamaño variable en lugar de bloques.
Por lo tanto, hay una entrada en la tabla para cada sección libre en el disco.
Este enfoque proporciona un apoyo eficaz a todos los métodos de asignación de archivos.
37. ¿Cómo administra la lista de bloques libres el espacio vacío?
En este método, a cada bloque se le asigna un número secuencial y la lista de los números de todos los
bloques libres se mantiene en una sección reservada del disco.
Dependiendo del tamaño del disco, se necesitarán 24 ó 32 bits para almacenar un número de bloque único,
por lo que el tamaño de la lista de bloques libres es 24 o 32 veces el tamaño de la tabla de bits
correspondiente y por lo tanto debe almacenarse en disco en lugar de memoria.
Sin embargo, este es un método satisfactorio.
38. ¿Qué es un Volumen?
Volumen: Una colección de sectores direccionables en la memoria secundaria que un sistema operativo o
la aplicación puede utilizar para el almacenamiento de datos. Los sectores en un volumen no necesitan ser
consecutivos en un dispositivo de almacenamiento físico; en cambio, sólo necesitan aparecer así para el
sistema operativo o la aplicación. Un volumen puede ser el resultado del ensamblaje y fusión de volúmenes
más pequeños.
39. ¿Cuáles son los tipos de archivos que contempla el administrador de UNIX?
Regular u ordinario: Contiene datos arbitrarios en cero o más bloques de datos.
Los archivos regulares contienen información introducida en ellos por un usuario, un programa de
aplicación o un programa de utilidad del sistema.
El sistema de archivos no impone ninguna estructura interna a un archivo regular, sino que lo trata como un
flujo de bytes.
Directorio: Contiene una lista de nombres de archivo más punteros a i-nodos asociados (nodos de índice)
Los directorios están organizados jerárquicamente
Los archivos de directorio son en realidad archivos ordinarios con privilegios especiales de protección de
escritura, de modo que sólo el sistema de archivos puede escribir en ellos, mientras que el acceso de
lectura está disponible para los programas de usuario.
Especial: No contiene datos, pero proporciona un mecanismo para asignar dispositivos físicos a nombres
de archivo.
Los nombres de archivo se utilizan para acceder a dispositivos periféricos, como terminales e impresoras.
Cada dispositivo de E/S está asociado con un archivo especial.
Pipes (Tubos) con nombre: Una tubería es una herramienta de comunicación y sincronización entre
procesos.
Un archivo de tubería almacena en memoria intermedia (buffer) los datos recibidos en su entrada de
manera que un proceso que lee desde la salida de la tubería recibe los datos en una base de entrada-salida-
salida.
Enlaces simbólicos: Este es un archivo de datos que contiene el nombre del archivo al que está vinculado.
40. ¿Qué son los Links? ¿Cuántos tipos conoce?
Un enlace es un nombre alternativo de archivo para un archivo existente.
41. Defina un Hard link
Es una referencia o puntero a un archivo (al dato físico) en un sistema de archivos.
42. Defina un Simbolic link
Este es un archivo de datos que contiene el nombre del archivo al que está vinculado.
43. ¿Qué es un i-nodo para UNIX? ¿Cuántos tipos de i-nodos hay?
Todos los tipos de archivos UNIX son administrados por el sistema operativo mediante i-nodos.
Un i-nodo (nodo de índice) es una estructura de control que contiene la información clave necesaria para el
sistema operativo de un archivo en particular. Varios nombres de archivo pueden estar asociados con un
solo i-nodo, pero un i-nodo activo se asocia con exactamente un archivo, y cada archivo es controlado por
exactamente un i-nodo.
La estructura exacta del i-nodo varía de Implementación de un UNIX a otro.
44. ¿Cómo asigna UNIX el espacio de disco a sus archivos?
La asignación de archivos se realiza en bloques. La asignación es dinámica, según sea necesario. No se
emplea pre-asignación. Por lo tanto, los bloques de un archivo en disco no son necesariamente contiguos.
Un método indexado especial se utiliza para realizar un seguimiento de cada archivo, con parte del índice
almacenado en el i-nodo del archivo.
En todas las implementaciones de UNIX, el i-nodo incluye un número de punteros, directos y tres punteros
indirectos (simple, doble, triple).
45. ¿Qué información contiene una partición de disco en UNIX?.
Un sistema de archivos UNIX reside en un solo disco lógico o partición de disco y está dispuesto con los
siguientes elementos:
• Super bloque: contiene atributos e información sobre el sistema de archivos, como tamaño de la partición
y tamaño de la tabla de i-nodo.