You are on page 1of 13

Preguntas orientadoras Capítulo 11:

1. ¿Qué son los archivos?


Es una estructura de datos, así como las listas, pilas, colas, arreglos, matrices. Pero, con la diferencia, de que
estas estructuras de datos solamente residen o viven en los dispositivos de almacenamientos permanentes
(Discos, cd, dvd). En cambio, las otras estructuras antes nombradas viven en memoria principal.
El concepto de archivo es muy amplio, el único requisito es que el usuario le haya puesto un nombre y
permisos a dicha estructura de datos (archivo). Los procesos son los únicos que pueden acceder a los
archivos.
2. ¿Cuáles son las propiedades o características deseables de los archivos?
• Existencia a largo plazo: Los archivos se almacenan en disco u otro almacenamiento, no desaparecen
cuando un usuario cierra la sesión.
• Intercambiable entre procesos: Los archivos tienen nombres y pueden tener acceso asociado a permisos
que permiten el intercambio controlado.
• Estructura: Dependiendo del sistema de archivos, un archivo puede tener una estructura interna que es
conveniente para aplicaciones particulares.
3. ¿A qué se denomina sistemas de archivos?
Es una estructura de organización que pervive en los dispositivos de almacenamiento permanente. Los
archivos están organizados en esos soportes, en esos discos lógicos, de una manera determinada. Los
sistemas de archivos establecen como están organizados y vinculados los archivos y las normas o
protocolos de acceso de esos archivos.
Los sistemas de archivos no son parte de los S.O., sino, viven en los discos físicos y lógicos. Un S.O. entiende
algunos sistemas de archivos.
4. ¿Qué son los gestores o administradores de archivos?
Son módulos llamados gestión o administración del sistema de archivos que entienden determinados
sistemas de archivos. Es un programa informático que proporciona una interfaz de usuario para administrar
archivos y directorios. Estos gestores o administradores de archivos si son parte del S.O.
5. ¿Cuáles son algunas de las operaciones típicas con los archivos?

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.

Las operaciones típicas incluyen:

• Crear: un nuevo archivo se define y se coloca dentro de la estructura de los archivos.

• Borrar: Se elimina un archivo de la estructura de archivos y se destruye.

• 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.

• Leer: Un proceso lee la totalidad o una parte de los datos de un archivo.

• 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.

Normalmente, un sistema de archivos mantiene un conjunto de atributos asociados con 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.

Un campo es el elemento básico de los datos.


Un campo individual contiene un solo valor, como el apellido de un empleado, una fecha o el valor de una
lectura de sensor.
Se caracteriza por su longitud y tipo de datos (por ejemplo, cadena ASCII, decimal).
Dependiendo del diseño del archivo, los campos pueden ser de longitud fija o de longitud variable.
En este último caso, el campo consta a menudo de dos o tres subcampos: el valor real que se va a
almacenar, el nombre del campo y, en algunos casos, la longitud del campo.
En otros casos el campo de longitud variable: la longitud del campo se indica mediante el uso con
demarcación con símbolos especiales entre campos.
Un registro es una colección de campos relacionados que pueden ser tratados como una unidad por algunos
programas de aplicación.
De nuevo, dependiendo del diseño, los registros pueden ser de longitud fija o de longitud variable.
Un registro será de longitud variable si algunos de sus campos son de longitud variable o si el número de los
campos puede variar.
En este último caso, cada campo suele ir acompañado de un campo nombre.
En cualquier caso, todo el registro normalmente incluye un campo de longitud.
Un archivo es una colección de registros similares.
El archivo es tratado como una sola entidad por usuarios y aplicaciones y puede ser referenciado por su
nombre.
Los archivos tienen nombres de archivo y pueden ser creados y eliminados.
Las restricciones de control de acceso suelen aplicarse en el nivel archivo.
Es decir, en un sistema compartido, se concede o se deniega acceso a usuarios y programas a archivos
enteros.
En algunos sistemas más sofisticados, estos controles se aplican incluso al nivel de campo.
Algunos sistemas de archivos están estructurados sólo en términos de campos, no de registros.
En ese caso, un archivo es una colección de campos.
Una base de datos es una colección de datos relacionados.
Los aspectos esenciales de una base de datos, son que las relaciones que existen entre los elementos de
datos son explícitas y que la base de datos está diseñada para su uso por una serie de aplicaciones
diferentes.
La base de datos consta de uno o más tipos de archivos.
Generalmente, existe un sistema de gestión de bases de datos, que es independiente del sistema, aunque
ese sistema puede hacer uso de algunos programas de gestión de archivos.
7. Recuerde algunos objetivos del administrador de archivos
• Satisfacer las necesidades y requerimientos de manejo de datos del usuario, que incluyen
almacenamiento de datos y la capacidad para realizar las operaciones antes mencionadas (Creación,
apertura, lectura, escritura y eliminación de los datos).
• Garantizar, en la medida de lo posible, que los datos del archivo son válidos
• Optimizar el rendimiento, tanto desde el punto de vista del sistema en términos del rendimiento global
como desde el punto de vista del usuario en términos de tiempo de respuesta.
• Proporcionar soporte de E/S para una variedad de tipos de dispositivos de almacenamiento.
• Minimizar o eliminar el potencial de pérdida o destrucción de datos.
• Proporcionar un conjunto estandarizado de rutinas de interfaz de E/S a los procesos del usuario.
• Proporcionar soporte de E / S para múltiples usuarios, en el caso de sistemas de múltiples usuarios.
8. Recuerde algunos requerimientos mínimos que el administrador de archivos debe brindar al usuario.
1. Cada usuario debe ser capaz de crear, eliminar, leer, escribir y modificar archivos.
2. Cada usuario puede tener acceso controlado a los archivos de otros usuarios.
3. Cada usuario puede controlar qué tipos de accesos se permiten a sus archivos.
4. Cada usuario debe poder reestructurar sus archivos en una forma apropiada para el problema.
5. Cada usuario debe ser capaz de mover datos entre los archivos.
6. Cada usuario debe ser capaz de hacer copias de seguridad y recuperar sus archivos en caso de daños.
7. Cada usuario debe poder tener acceso a sus archivos por nombre simbólico, en lugar de por identificador
numérico.
9. ¿Por qué es conveniente estructurar el administrador y el sistema de archivos?
Para mostrar la organización lógica del archivo, permitiendo realizar las operaciones solicitadas por
llamadas al sistema.
10. ¿Qué son los drivers de dispositivos? ¿Qué funciones cumplen en general?
En el nivel más bajo, los controladores de dispositivos (drivers) se comunican directamente con dispositivos
periféricos o sus controladores o canales.
Cada controlador de dispositivo es responsable de iniciar operaciones de E/S en un dispositivo y procesar la
finalización de una solicitud de E/S.
Para operaciones de archivo, los dispositivos típicos son discos y unidades de cinta.
Los controladores de dispositivos suelen considerarse parte del sistema operativo.
11. ¿Cuáles son las funciones de un sistema básico de archivos?
Se ocupa de bloques de datos que se intercambian con sistemas de discos o cintas. Por lo tanto, se encarga
de ubicar dichos bloques en el dispositivo de almacenamiento secundario y en la memoria intermedia
(buffer) de esos bloques en la memoria principal. Este nivel no entiende el contenido de los datos o la
estructura de los archivos implicados. El sistema de archivos básico suele ser parte del sistema operativo.
12. ¿Cuáles son las funciones del supervisor básico de I/O?
El supervisor de las operaciones entrada/salida básicas es el responsable de todas las transferencias de
entrada/salida, de iniciarlas y terminarlas. Él recibe la llamada al sistema y la traduce de lo lógico a lo físico.
El supervisor básico de E/S es responsable de toda la iniciación y terminación de E/S con archivos.
A este nivel, se mantienen estructuras de control que se ocupan de E/S del dispositivo, planificación y estado
de los archivos.
El supervisor básico de E/S selecciona el dispositivo en el que I / O se debe realizar, basado en el archivo
particular seleccionado.
También se ocupa de la planificación de accesos a disco y cinta para optimizar el rendimiento.
En este nivel, se asignan los buffers de E/S y se reserva memoria secundaria.
El supervisor básico de E / S es parte del sistema operativo.
13. ¿Cuáles son las funciones de la capa Lógica de I/O?
Se encarga de recibir las peticiones de registros y convertirlas en bloques o sectores dependiendo de lo que
use el S.O.
La E/S lógica permite a los usuarios y aplicaciones acceder a los registros.
Por lo tanto, mientras que el sistema básico de archivos se ocupa de los bloques de datos, el módulo de E/S
lógica se ocupa de los registros.
La E/S lógica proporciona una capacidad de E/S por registros de propósito general y mantiene datos básicos
sobre los archivos.
14. ¿A qué se refieren los métodos de acceso? ¿A quién les sirve?
El nivel del sistema de archivos más cercano al usuario se denomina a menudo método de acceso.
Proporciona una interfaz estándar entre:
• las aplicaciones
• los sistemas de archivos
• los dispositivos que contienen los datos
Diferentes métodos de acceso reflejan diferentes estructuras de archivo y diferentes formas de acceder y
procesar los datos.
15. Razone los pasos que ocurren desde que un usuario emite un comando o desde que se hace una llamada
al sistema desde una aplicación.
Los usuarios y los programas de aplicación interactúan con el sistema de archivos por medio de comandos
para crear y eliminar archivos y para realizar operaciones en archivos.
Antes de realizar cualquier operación, el sistema de archivos debe identificar y localizar el archivo
seleccionado.
Esto requiere el uso de algún tipo de directorio que sirve para describir la ubicación de todos los archivos,
además de sus atributos.
Además, la mayoría de los sistemas compartidos aplican el control de acceso del usuario:
Sólo los usuarios autorizados pueden acceder a determinados archivos de formas particulares.
Las operaciones básicas que un usuario o aplicación pueden realizar en un archivo se realizan a nivel de
registro.
El usuario o la aplicación ve el archivo como una estructura que organiza los registros, tales como una
estructura secuencial (por ejemplo, los registros de personal son almacenados alfabéticamente por apellido).
Así, para traducir comandos de usuario en órdenes específicas de manipulación de archivos, debe
emplearse el método de acceso apropiado para esta estructura de archivos.
Mientras que los usuarios y aplicaciones se ocupan de registros o campos, la E/S se lleva a cabo por
bloques.
Así, los registros o campos de un archivo deben organizarse en secuencia de bloques para la salida y los
bloques, traducirse a registros después de la entrada.
Para soportar la E/S por bloques de archivos, se necesitan varias funciones:
Debe gestionarse el almacenamiento secundario.
Esta implica asignar archivos a bloques libres en almacenamiento secundario y administrar
almacenamientos libres para saber qué bloques están disponibles para los nuevos archivos y el crecimiento
en los archivos existentes.
Además, las solicitudes de E/S de bloques individuales deben planificarse.
Tanto la planificación de disco como la asignación de archivos se ocupan de optimizar el rendimiento.
Como es de esperar, estas funciones deben ser consideradas en conjunto.
Además, la optimización dependerá de la estructura de los archivos y los tipos de acceso.
En consecuencia, el desarrollo de un sistema de gestión de archivos óptimo desde el punto de vista del
rendimiento es una tarea sumamente complicada.
16. ¿A qué se denomina Organización de Archivo?
El servicio principal que brinda la organización de un archivo es el acceso.
Organización lógica: la estructuración lógica de los registros según lo determinado por la forma en que se
accede.
La organización física del archivo en el almacenamiento secundario depende de la:
 Estrategia de agrupación de bloques
 Estrategia de asignación de archivos.
17. ¿Cómo se puede ayudar o apoyar a los métodos de acceso con esta organización?
Al elegir una organización de archivos, son importantes varios criterios:
• Tiempo de acceso corto: Cuando alguien solicite un registro, el sistema tiene que demorarse lo menos
posible.
• Facilidad de actualización: Cuando agrego/saco datos, lo tiene que hacer sin mucha sobrecarga.
• Economía de almacenamiento: Que ocupe espacios del disco sin muchos desperdicios.
• Mantenimiento sencillo: Cuando este modificando datos que el mantenimiento sea simple, que tenga
poca fragmentación externa.
• Confiabilidad: Que sea tolerante a las fallas.
18. Defina y comprenda las distintas organizaciones de archivos: Pila, Secuencial, Index Secuencial, Indexado,
Directa o Hash y B-Tree.
 Pila: Los datos son recogidos en el orden en que llegan. Cada registro consta de una ráfaga de
datos. El propósito de la pila es simplemente acumular la masa de datos y guardarla. Los registros
pueden tener diferentes campos o campos similares en órdenes diferentes. Así, cada campo debe
ser auto-descriptivo, incluyendo un nombre de campo, así como un valor. La longitud de cada campo
debe estar implícitamente indicada por delimitadores, explícitamente incluido como un subcampo, o
conocido como predeterminado para ese tipo de campo.
Debido a que no hay estructura para el archivo de pila, el acceso a registros se hace por búsqueda
exhaustiva.
Es decir, si deseamos encontrar un registro que contenga un campo particular con un valor
particular, es necesario examinar cada registro en la pila hasta que se haya encontrado el registro
o se haya recorrido todo el archivo. Si queremos encontrar todos los registros que contienen un
campo en particular o contienen ese campo con un valor determinado, debe buscarse en todo el
archivo.
Los archivos de pila se aplican cuando los datos se recopilan y almacenan antes de procesarlos o
cuando los datos no son fáciles de organizar.
Este tipo de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y
estructura.
Son perfectamente adecuados para búsquedas exhaustivas y son fáciles de actualizar.
Sin embargo, más allá de estos usos limitados, este tipo de archivo es inadecuado para la mayoría
de las aplicaciones.
 Secuencial: En este tipo de archivo, se utiliza un formato fijo para los registros.
Todos los registros son de la misma longitud y tienen el mismo número de campos de longitud fija
en un orden particular.
Debido a que la longitud y posición de cada campo son conocidas, sólo los valores de los campos
deben ser almacenados; el campo, el nombre y la longitud de cada campo son atributos de la
estructura del archivo.
Un campo particular, usualmente el primer campo en cada registro, se conoce como el campo clave.
El campo clave identifica unívocamente al registro; así los valores clave para los diferentes registros
son siempre diferentes.
Además, los registros se almacenan en secuencia por la clave: orden alfabético para una clave de
texto y orden numérico para una clave numérica.
Los archivos secuenciales se usan típicamente en aplicaciones por lotes y generalmente son
óptimos para tales aplicaciones si se procesan todos los registros (por ejemplo, una aplicación de
facturación o de nómina). La organización secuencial de archivos es la única que se almacena
fácilmente tanto en cinta, como en disco.
Para aplicaciones interactivas que impliquen consultas y/o actualizaciones de registros individuales,
el archivo secuencial proporciona un rendimiento deficiente.
El acceso requiere la búsqueda secuencial en el archivo con una coincidencia de clave.
 Secuencial indexado: El archivo secuencial indexado mantiene la característica clave del archivo
secuencial: Los registros se organizan en secuencia sobre la base de un campo clave, pero se añaden
dos características nuevas:
Un índice del archivo para admitir el acceso aleatorio y un archivo de desbordamiento (overflow).
El índice proporciona una capacidad de búsqueda para llegar rápidamente a las proximidades del
registro deseado. El archivo de desbordamiento es similar al archivo de registro utilizado con un
archivo secuencial, pero está integrado de forma que los registros del archivo de desbordamiento se
ubiquen siguiendo un puntero desde su registro predecesor.
En la estructura secuencial indexada más simple, se usa un único nivel de indexación. El índice en
este caso es un archivo secuencial simple. Cada registro en el archivo de índice consta de dos
campos: un campo clave, que es el mismo que el campo de clave en el archivo principal, y un
puntero en el archivo principal.
Para encontrar un campo específico, se busca en el índice hasta encontrar el valor de clave más alto
que es igual o precede al valor de clave deseado.
La búsqueda continúa en el archivo principal en la ubicación indicada por el puntero.
Para ver la efectividad de este enfoque, considere un archivo secuencial con 1 millón de registros.
Para buscar un valor de clave en particular se requerirá en promedio 500,000 accesos a registro.
Supongamos ahora que se construye un índice que contiene 1.000 entradas, con las claves del índice
más o menos uniformemente distribuidas sobre el archivo principal.
Ahora se necesitará un promedio de 500 accesos al archivo de índice seguido por 500 accesos al
archivo principal para encontrar el registro.
La longitud promedio de búsqueda se reduce de 500.000 a 1.000 accesos.
Las adiciones al archivo se manejan de la siguiente manera: Cada registro en el archivo principal
contiene un campo adicional no visible para la aplicación, que es un puntero al archivo de
desbordamiento.
Cuando se inserta un nuevo registro al archivo, se añade al archivo de desbordamiento.
El registro del archivo principal que precede inmediatamente el nuevo registro en secuencia lógica
se actualiza con un puntero al nuevo registro en el archivo de desbordamiento.
Si el registro inmediatamente anterior está en el archivo de desbordamiento, entonces el puntero en
ese registro se actualiza.
Al igual que con el archivo secuencial, el archivo secuencial indexado se fusiona ocasionalmente con
el archivo de desbordamiento en un tratamiento por lotes.
Los archivos secuenciales indexados reducen considerablemente el tiempo requerido para registro,
sin sacrificar la naturaleza secuencial del archivo.
Para procesar todo el archivo secuencialmente, los registros del archivo principal se procesan en
secuencia hasta encontrar un puntero al archivo de desbordamiento. A continuación, el acceso
continúa en el archivo de desbordamiento hasta que se encuentre un puntero nulo, momento en el
que se reanuda el acceso donde se abandonó en el archivo principal.
Para proporcionar una eficacia aún mayor en el acceso, pueden usarse múltiples niveles de
indexación.
Así, el nivel más bajo de archivo índice se trata como un archivo secuencial, creándose un archivo
índice de un nivel superior para ese archivo.
Considere nuevamente un archivo con 1 millón de registros.
Se construye un índice de menor nivel con 10.000 entradas.
Un índice de nivel superior entonces se puede construir con 100 entradas, definido sobre el de nivel
inferior.
La búsqueda comienza en el índice de nivel superior (longitud media = 50 accesos) para encontrar un
punto de entrada en el índice de nivel inferior.
A continuación, se busca este índice (longitud media = 50) para encontrar un punto de entrada en el
archivo principal, de donde se sigue buscando (longitud media = 50).
Así, el promedio la duración de la búsqueda se ha reducido de 500.000 a 1.000 y después a 150.
Indexado: El archivo secuencial indexado conserva una limitación del archivo secuencial: el
procesamiento está limitado a aquél que se basa en un único campo del archivo.
Por ejemplo, cuando es necesario buscar un registro sobre la base de algún otro atributo que no sea
el campo clave, ambas formas de archivo secuencial son inadecuadas.
En algunas aplicaciones, la flexibilidad de buscar eficientemente por varios atributos es deseable.
Para lograr esta flexibilidad, se necesita una estructura que emplee múltiples índices, uno para cada
tipo de campo que puede ser objeto de una búsqueda.
En los archivos generales indexados, se abandona el concepto de secuencial y clave única.
A los registros sólo se accede a través de sus índices.
El resultado es que ahora no hay restricción en la ubicación de registros, en tanto que al menos un
índice contiene un puntero a cada registro. Además, se pueden emplear registros de longitud
variable.
Se pueden utilizar dos tipos de índices.
Un índice exhaustivo contiene una entrada para cada registro del archivo principal.
El propio índice se organiza como un archivo secuencial para facilitar la búsqueda.
Otro índice parcial contendrá entradas a los registros donde esté el campo de interés.
Con registros de longitud variable, algunos registros no contendrán todos los campos. Cuando se
agrega un nuevo registro al archivo principal, todos los archivos de índice deben actualizarse.
Los archivos indexados se utilizan principalmente en aplicaciones donde el tiempo de obtención de
la información es crítico y donde los datos rara vez se procesan exhaustivamente.
Ejemplos de ello son sistemas de reserva de líneas aéreas y sistemas de control de inventario.

Directo o de dispersión (Hash): El archivo directo, o de dispersión (hash), explotan la capacidad de


los discos para acceder directamente a cualquier bloque de dirección conocida.
Al igual que con los archivos secuenciales e indexados, un campo clave se requiere en cada registro.
Sin embargo, no hay concepto de orden secuencial aquí.
El archivo directo hace uso de las técnicas de hash sobre el valor de la clave.
Los archivos directos se utilizan a menudo cuando se requiere un acceso muy rápido, donde se usan
registros de longitud fija, y donde siempre se accede a los registros de uno en uno.
Ejemplos son guías de teléfono, tablas de precios, horarios y listas de nombres.

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.

• Eliminación: El usuario puede eliminar el archivo del sistema de archivos.

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:

• Usuario específico: Usuarios individuales designados por su ID de usuario

• 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?

Los bloques son la unidad de E/S con almacenamiento secundario.

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:

• Bloque de arranque: contiene el código necesario para arrancar el sistema operativo.

• 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.

• Tabla de i-nodos: La colección de i-nodos para cada archivo.

• Bloques de datos: Espacio de almacenamiento disponible para archivos de datos y subdirectorios.

You might also like