Está en la página 1de 9

10/05/2021

SISTEMAS OPERATIVOS RESUMEN 4

CAPÍTULO 4-SISTEMAS DE ARCHIVOS

El sistema de archivos es un conjunto de ficheros y directorios aparte que se puede hacer


manejo de ellos. Los archivos se leen y se escriben, los directorios se pueden crear y des-
truir, y los archivos se pueden mover de un directorio a otro.

Un fichero esta formado por una colección de registros.La forma en la que estos registros
se acceden determina su organización lógica y hasta cierto punto su organización física
en disco.

Si un fichero se procesa primariamente como una entidad,la organización secuencial es


la mas sensilla y la mas apropiada.Si se necesita acceso secuencial,pero tambien se desea
acceso aleatorio al fichero individual,un fichero secuencial indexado puede proporcionar
el mejor rendimiento.Si los accesos al fichero son principalmente aleatorios un fichero
indexado puede ser el mas apropiado.

Sea cual sea la estructura del fichero escogido se necesita un servicio de directorios.Esto
permite que los ficheros se organicen de forma jerárquica.Esta organización es útil para
que el usuario guarde traza de los ficheros y es útil para que los sistemas de gestión de
ficheros proporcionen control de acceso y otros servicios.

Una función clave de cualquier esquema de gestión de ficheros es la gestión del espaciado
de disco.Parte de esta función es la estrategia para asignar bloques de disco a un fi-
chero,varios métodos pueden utilizarse y una gran variedad de estructuras de datos se
utilizan para guardar traza de la asignación para cada fichero,ademas se debe gestionar
el espacio en disco que no se ha asignado.Esta última función consiste en mantener una
tabla de asignación de asignación de disco que indica que bloques estan libres.

1
SISTEMAS OPERATIVOS RESUMEN 4

PROBLEMAS
1. En los primeros sistemas UNIX, los archivos ejecutables (archivos a.out) empezaban con un nú-
mero mágico muy específico, no uno elegido al azar. Estos archivos empezaban con un encabezado,
seguido de los segmentos de texto y de datos. ¿Por qué cree usted que se eligió un número muy
específico para los archivos ejecutables, mientras que otros tipos de archivos tenían un número má-
gico más o menos aleatorio como la primera palabra?

-Porque así se puede diferenciar un ejecutable de cualquier otro archivo y el software que lo abre sease-
gura de que no está intentando ejecutar un archivo que no está diseñado para esto.

2. En la figura 4-4, uno de los atributos es la longitud del registro. ¿Por qué se preocupa el sistema
operativo por esto?

-Porque de esta forma puede buscar más rápidamente entre los registros, de forma que, si el registroque
buscamos es de 5 bits, nos podemos saltar todos los de más o menos bits, ahorrando muchotiempo

3. ¿Es absolutamente esencial la llamada al sistema open en UNIX? ¿Cuáles serían las consecuencias
de no tenerla?

-Si, porque es el primer paso que debe ejecutar todo proceso que quiera acceder a los datos de un ar-
chivo .Al no tener esta esencial llamada no podrían cargar las posteriores llamadas al
sistema, elalmacenamiento y la recuperación de archivos no sería permitido.

4. Los sistemas que soportan archivos secuenciales siempre tienen una operación para rebobinar
los archivos. ¿Los sistemas que soportan archivos de acceso aleatorio la necesitan también?

-No lo necesitan porque accesan por medio de registro por llave en lugar de posición, existen dos méto-
dos para empezar especificar donde puede empezar a leer uno que se llama read y otro Seek que es el
que usa Windows y Unix (mac).

5. Algunos sistemas operativos proporcionan una llamada al sistema rename para dar a un archivo
un nuevo nombre. ¿Hay acaso alguna diferencia entre utilizar esta llamada para cambiar el nombre
de un archivo y sólo copiar el archivo a uno nuevo con el nuevo nombre, eliminando después el
archivo anterior?

- Si existe una diferencia mas que todo en el uso, ya que con el rename estamos cambiando nombre al
archivo original Vs Sacar una copia del original con el nuevo nombre y después eliminarlo. La diferen-
cia es en el uso, pero el resultado es básicamente lo mismo.

6. En algunos sistemas es posible asociar parte de un archivo a la memoria. ¿Qué restricciones deben
imponer dichos sistemas? ¿Cómo se implementa esta asociación parcial?

-Un archivo existe para almacenar información y permitir que se recupere posteriormente.Un sistema
debe ser capaz de proveer diferentes operaciones y restricciones para el buen manejo de archivos. Esta

2
SISTEMAS OPERATIVOS RESUMEN 4

implementación se asocia de acuerdo a las diferentes operaciones que permiten el almacenamiento y la


recuperación de un archivo

7. Un sistema operativo simple sólo soporta un directorio, pero permite que ese directorio tenga
arbitrariamente muchos archivos con nombres de archivos arbitrariamente largos. ¿Puede simu-
larse algo aproximado a un sistema de archivos jerárquico? ¿Cómo?

-Usando nombres de archivo como / usr / ast / file. Si bien parece una ruta jerárquica con nombres, en
realidad es solo un nombre que contiene barras inclinadas.

8. En UNIX y Windows, el acceso aleatorio se realiza al tener una llamada especial al sistema que
mueve el apuntador de la “posición actual” asociado con un archivo a un byte específico en el ar-
chivo.Proponga una manera alternativa de realizar un acceso aleatorio sin tener esta llamada al
sistema.

- Una forma es agregar un parámetro adicional al leer llamada al sistema que dice qué dirección para leer.
En efecto, cada leer luego tiene el potencial de realizar una búsqueda dentro del archivo. Las desventajas
de este esquema son (1) un parámetro extra en cada leer call, y (2) exigir al usuario que lleve un registro
de dónde está el puntero del archivo.

9. Considere el árbol de directorios de la figura 4-8. Si /usr/jim es el directorio de trabajo, ¿cuál es


el nombre de ruta absoluto para el archivo cuyo nombre de ruta relativo es ../ast/x?

-El componente dotdot mueve la búsqueda a / usr, entonces ../ ast lo pone en / usr / ast. Por lo tanto ../
ast / x es lo mismo que / usr / ast / x.

10. La asignación contigua de archivos produce la fragmentación del disco, como se menciona en el
texto, debido a que cierto espacio en el último bloque del disco se desperdiciará en los archivos cuya
longitud no sea un número entero de bloques. ¿Es esta fragmentación interna o externa? Haga una
analogía con algo que se haya descrito en el capítulo anterior.

-Dado que el almacenamiento desperdiciado es “entre” las unidades de asignación (archivos), no dentro
ellos, esto es fragmentación externa. Es precisamente análogo a la fragmentación externa de la memoria
principal que ocurre con un sistema de intercambio o un sistema que utiliza segmentación pura.

11. Una manera de utilizar la asignación contigua del disco y no sufrir de huecos es compactar el
disco cada vez que se elimina un archivo. Como todos los archivos son contiguos, para copiar un
archivo se requiere una búsqueda y un retraso rotacional para leerlo, seguidos de la transferencia
a toda velocidad.Para escribir de vuelta el archivo se requiere el mismo trabajo. Suponiendo un
tiempo de búsqueda de 5 mseg, un retraso rotacional de 4 mseg, una velocidad de transferencia de
8 MB/seg y un tamaño de archivo promedio de 8 KB, ¿cuánto tiempo se requiere para leer un ar-
chivo en la memoria principal y después escribirlo de vuelta al disco en una nueva ubicación? Uti-
lizando estos números, ¿cuánto tiempo se requeriría para compactar la mitad de un disco de 16 GB?

-Se necesitan 9 ms para iniciar la transferencia. Leer 2^13 bytes a una tasa de transferencia de 2^23 by-
tes / seg requiere 2^-10 seg (977 mseg), para un total de 9,977 mseg. Volver a escribirlo lleva otros

3
SISTEMAS OPERATIVOS RESUMEN 4

9,977 ms. Por tanto, copiar un archivo tarda 19,954 ms. Compactar la mitad de un disco de 16 GB impli-
caría copiar 8 GB de almacenamiento, que son 2^20 archivos. A 19,954 milisegundos por archivo, esto
lleva 20,923 segundos, que son 5,8 horas. Claramente, compactar el disco después de cada eliminación
de archivos no es una gran idea.

12. A luz de la respuesta de la pregunta anterior, ¿tiene algún sentido compactar el disco?

-Si se hace bien, sí. Durante la compactación, cada archivo debe organizarse de modo que todos de sus
bloques son consecutivos, para un acceso rápido. Windows tiene un programa que desfragmenta y reor-
ganiza el disco. Se anima a los usuarios a ejecutarlo periódicamente para mejorar el rendimiento del sis-
tema. Pero dado el tiempo que lleva, ejecutar una vez al mes podría ser una buena frecuencia.

13. Algunos dispositivos digitales para el consumidor necesitan almacenar datos, por ejemplo como
archivos.Nombre un dispositivo moderno que requiera almacenamiento de archivos y para el que
la asignación contigua sería una excelente idea.

-Una cámara fotográfica digital graba varias fotografías en secuencia en un medio de almacenamiento no
volátil (por ejemplo, memoria flash). Cuando se reinicia la cámara, el medio se vacía. A partir de entonces,
las imágenes se graban una por una en secuencia hasta que el medio está lleno, momento en el que se
cargan en un disco duro. Para esta aplicación, es ideal un sistema de archivos contiguos dentro de la
cámara (por ejemplo, en el medio de almacenamiento de imágenes).

14. ¿Cómo implementa MS-DOS el acceso aleatorio a los archivos?

-Encuentra la dirección del primer bloque en la entrada del directorio. Luego sigue el cadena de punteros
de bloque en el FAT hasta que haya localizado el bloque que necesita. Luego recuerda este número de
bloque para el siguiente leer llamada al sistema.

15. Considere el nodo-i que se muestra en la figura 4-13. Si contiene 10 direcciones directas de 4
bytes cada una y todos los bloques de disco son de 1024 KB, ¿cuál es el archivo más grande posible?

-El bloque indirecto puede contener 256 direcciones de disco. Junto con los 10 directos direcciones de
disco, el archivo máximo tiene 266 bloques. Dado que cada bloque es de 1 KB, el archivo más grande es
de 266 KB

16. Se ha sugerido que la eficiencia se podría mejorar y el espacio en disco se podría ahorrar al
almacenar los datos de un archivo corto dentro del nodo-i. Para el nodo-i de la figura 4-13, ¿cuántos
bytes de datos podrían almacenarse dentro del nodo-i?

-Debe haber una forma de indicar que los punteros del bloque de direcciones contienen datos, en lugar de
que punteros. Si queda un poco en algún lugar entre los atributos, se puede usar. Esto deja los nueve
indicadores para los datos. Si los punteros son k bytes cada uno, el archivo almacenado puede tener hasta
9 k bytes de longitud. Si no queda ningún bit entre los atributos, la primera dirección del disco puede
contener una dirección no válida para marcar los siguientes bytes como datos en lugar de punteros. En ese
caso, el archivo máximo es 8 k bytes.

4
SISTEMAS OPERATIVOS RESUMEN 4

17. Dos estudiantes de ciencias computacionales, Carolyn y Elinor, están hablando acerca de los
nodosi.Carolyn sostiene que el tamaño de las memorias ha aumentado tanto y se han vuelto tan
económicas que cuando se abre un archivo, es más simple y rápido obtener una nueva copia del
nodo-i y colocarla en la tabla de nodos-i, en lugar de buscar en toda la tabla para ver si ya está ahí.
Elinor está en desacuerdo. ¿Quién tiene la razón?

-Elinor tiene razón. Tener dos copias del i-nodo en la tabla al mismo tiempo es un desastre, a menos que
ambos sean de solo lectura. El peor de los casos es cuando ambos se actualizan simultáneamente. Cuando
los i-nodos se vuelven a escribir en el disco, el que se escriba en último lugar borrará los cambios realiza-
dos por el otro y se perderán los bloques de disco.

18. Nombre una ventaja que tienen los vínculos duros (las ligas duras) sobre los vínculos simbólicos
(las ligas simbólicas) y una ventaja que tienen los vínculos simbólicos sobre los vínculos duros.

-Los enlaces duros no requieren ningún espacio adicional en el disco, solo un contador en el i-nodo para
Mantenga un registro de cuántos hay. Los enlaces simbólicos necesitan espacio para almacenar el nom-
bre del archivo al que se apunta. Los enlaces simbólicos pueden apuntar a archivos en otras máquinas,
incluso a través de Internet. Los enlaces físicos están restringidos a apuntar a archivos dentro de su pro-
pia partición.

19. El espacio libre en el disco se puede contabilizar mediante el uso de una lista de bloques libres o
un mapa de bits. Las direcciones de disco requieren D bits. Para un disco con B bloques, F de los
cuales son libres, indique la condición bajo la cual la lista de bloques libres utiliza menos espacio
que el mapa de bits. Si D tiene el valor de 16 bits, exprese su respuesta como un porcentaje del
espacio en el disco que debe estar libre.

-El mapa de bits requiere B bits. La lista gratuita requiere DF bits. La lista libre re requiere menos bits si
DF < 1 / D, dónde PENSIÓN COMPLETA es la fracción de bloques libre. Para direcciones de disco de
16 bits, la lista libre es más corta si el 6% o menos del disco está libre.

20. El inicio de un mapa de bits de espacio libre tiene la siguiente apariencia después de que se da
formato por primera vez a la partición de disco: 1000 0000 0000 0000 (el primer bloque es utilizado
por el directorio raíz). El sistema siempre busca bloques libres empezando en el bloque de menor
numeración, por lo que después de escribir el archivo A, que utiliza seis bloques, el mapa de bits se
ve así: 1111 1110 0000 0000. Muestre el mapa de bits después de cada una de las siguientes acciones
adicionales:
(a) Se escribe el archivo B, utilizando cinco bloques
(b) Se elimina el archivo A
(c) Se escribe el archivo C, utilizando ocho bloques
(d) Se elimina el archivo B.

-El comienzo del mapa de bits se ve así:


(a) Después de escribir el archivo B: 1111 1111 1111 0000
(b) Después de eliminar el archivo A: 1000 0001 1111 0000

5
SISTEMAS OPERATIVOS RESUMEN 4

(c) Después de escribir el archivo C: 1111 1111 1111 1100


(d) Después de eliminar el archivo B: 1111 1110 0000 1100

21. ¿Qué ocurriría si el mapa de bits o la lista de bloques libres que contiene la información acerca
de los bloques de disco libres se perdiera por completo debido a una falla? ¿Hay alguna forma de
recuperarse de este desastre o definitivamente hay que decir adiós al disco duro? Analice sus res-
puestas para los sistemas de archivos UNIX y FAT-16 por separado.

-No es un problema grave en absoluto. La reparación es sencilla; solo toma tiempo. El algoritmo de re-
cuperación es hacer una lista de todos los bloques en todos los archivos y tomar el complemento como la
nueva lista libre. En UNIX, esto se puede hacer escaneando todos los i-nodos. En el sistema de archivos
FAT, el problema no puede ocurrir porque no hay una lista libre. Pero incluso si lo hubiera, todo lo que
se tendría que hacer para recuperarlo es escanear el FAT en busca de entradas gratuitas.

22. El trabajo nocturno de Oliver Owl en el centro de cómputo de la universidad es cambiar las
cintas que se utilizan para los respaldos de datos nocturnos. Mientras espera a que se complete cada
cinta, trabaja en la escritura de su tesis que demuestra que las obras de Shakespeare fueron escritas
por visitantes extraterrestres. Su procesador de texto se ejecuta en el sistema que se está respal-
dando, ya que es el único que tienen. ¿Hay algún problema con este arreglo?

-Es posible que la tesis de Ollie no tenga una copia de seguridad tan confiable como él quisiera. Una co-
pia de seguridad El programa puede pasar sobre un archivo que está actualmente abierto para escritura,
ya que el estado de los datos en dicho archivo puede ser indeterminado.

23. En el texto analizamos con cierto detalle la forma de realizar vaciados incrementales. En Win-
dows es fácil saber cuándo vaciar un archivo, debido a que cada archivo tiene un bit para archivar.
Este bit no está en UNIX. ¿Cómo saben los programas de respaldo de UNIX qué archivos vaciar?

-Deben realizar un seguimiento de la hora del último volcado en un archivo en disco. En cada dump, se
adjunta una entrada a este archivo. En el momento del volcado, se lee el archivo y se anota la hora de la
última entrada. Cualquier archivo modificado desde ese momento se descarta.

24. Suponga que el archivo 21 en la figura 4-25 no se modificó desde la última vez que hubo un
vaciado.¿En qué forma deberían ser distintos los cuatro mapas de bits de la figura 4-26?

-En (a) y (b), 21 no estaría marcado. En (c), no habría ningún cambio. En (d), 21 no se marcaría.

25. Se ha sugerido que la primera parte de cada archivo de UNIX debe mantenerse en el mismo
bloque de disco que su nodo-i. ¿Qué beneficio traería esto?

-Muchos archivos UNIX son cortos. Si todo el archivo encaja en el mismo bloque que el inodo, sólo se
necesitaría un acceso al disco para leer el archivo, en lugar de dos, como es el caso actualmente. Incluso
para archivos más largos habría una ganancia, ya que se necesitarían un acceso menos al disco.

26. Considere la figura 4-27. ¿Es posible que para cierto número de bloque específico los contadores
en ambas listas tengan el valor de 2? ¿Cómo debería corregirse este problema?

6
SISTEMAS OPERATIVOS RESUMEN 4

No debería suceder, pero podría suceder debido a un error en algún lugar. Significa que algún bloqu e
ocurre en dos archivos y también dos veces en la lista libre. El primer paso para reparar el error es eliminar
ambas copias de la lista libre. A continuación, se debe adquirir un bloque libre y copiar allí el contenido
del bloque enfermo. Finalmente, la ocurrencia del bloque en uno de los archivos debe cambiarse para
referirse a la copia recién adquirida del bloque. En este punto, el sistema vuelve a ser coherente.

27. El rendimiento de un sistema de archivos depende de la proporción de aciertos de la caché (frac-


ción de bloques encontrados en la caché). Si se requiere 1 mseg para satisfacer una solicitud de la
caché, pero 40 mseg para satisfacer una solicitud si se necesita una lectura de disco, proporcione
una fórmula para el tiempo promedio requerido para satisfacer una solicitud si la proporción de
aciertos es h. Grafique esta función para los valores de h que varían de 0 hasta 1.0.

-El tiempo necesario es h + 40 × ( 1 - h). La trama es solo una línea recta.

28. Considere la idea detrás de la figura 4-21, pero ahora para un disco con un tiempo de búsqueda
promedio de 8 mseg, una velocidad rotacional de 15,000 rpm y 262,144 bytes por pista. ¿Cuáles son
las velocidades de datos para los tamaños de bloque de 1 KB, 2 KB y 4 KB, respectivamente?

-A 15.000 rpm, el disco tarda 4 ms en girar una vez. El acceso medio tiempo (en mseg) para leer k bytes
es entonces 8 + 2 + ( k / 262144) × 4. Para bloques de 1 KB, 2 KB y 4 KB, los tiempos de acceso son
10.015625 mseg, 10.03125 mseg y 10.0625 mseg, respectivamente (apenas diferente). Estos dan veloci-
dades de aproximadamente 102,240 KB / seg, 204,162 KB / seg y 407,056 KB / seg, respectivamente.

29. Cierto sistema de archivos utiliza bloques de disco de 2 KB. El tamaño de archivo promedio es
de 1 KB. Si todos los archivos fueran exactamente de 1 KB, ¿qué fracción del espacio en el disco se
desperdiciaría? ¿Piensa usted que el desperdicio de un sistema de archivos real será mayor que este
número o menor? Explique su respuesta.

-Si todos los archivos fueran de 1 KB, cada bloque de 2 KB contendría un archivo y 1 KB de espacio
desperdiciado. No se permite intentar poner dos archivos en un bloque porque la unidad utilizada para
realizar un seguimiento de los datos es el bloque, no el semibloque. Esto conduce a un 50% de espacio
desperdiciado. En la práctica, cada sistema de archivos tiene archivos grandes y muchos pequeños, y estos
archivos usan el disco de manera mucho más eficiente. Por ejemplo, un archivo de 32 769 bytes usaría 17
bloques de disco para almacenamiento, dada una eficiencia de espacio de 32768/34816, que es aproxima-
damente el 94%.

30. La tabla FAT-16 de MS-DOS contiene 64K entradas. Suponga que uno de los bits se necesita
para algún otro propósito, y que la tabla contiene exactamente 32,768 entradas en vez de 64 K. Sin
ningún otro cambio, ¿cuál sería el archivo de MS-DOS más grande bajo esta condición?

-El bloque más grande es 32,768. Con 32.768 de estos bloques, el archivo más grande sería 1 GB.

31. Los archivos en MS-DOS tienen que competir por el espacio en la tabla FAT-16 en memoria. Si
un archivo utiliza k entradas, es decir, k entradas que no están disponibles para ningún otro archivo,
¿qué restricción impone esto sobre la longitud total de todos los archivos combinados?

7
SISTEMAS OPERATIVOS RESUMEN 4

-Restringe la suma de todas las longitudes de archivo para que no sea mayor que el disco. Esta no es una
limitación muy seria. Si los archivos fueran colectivamente más grandes que el disco, no habría lugar para
almacenarlos todos en el disco.

32. Un sistema de archivos UNIX tiene bloques de 1 KB y direcciones de disco de 4 bytes. ¿Cuál es
el tamaño de archivo máximo si los nodos-i contienen 10 entradas directas y una entrada indirecta
sencilla, una doble y una triple?

-El i-nodo tiene 10 punteros. El bloque indirecto único contiene 256 punteros. El bloque indirecto doble
es bueno para 256^2 punteros. El triple bloque indirecto es bueno para 256^3 punteros. Sumando estos,
obtenemos un tamaño de archivo máximo de 16.843.018 bloques, que son aproximadamente 16,06 GB.

33. ¿Cuántas operaciones de disco se necesitan para obtener el nodo-i para el archivo /usr/ast/cur-
sos/so-/folleto.t? Suponga que el nodo-i para el directorio raíz está en la memoria, pero no hay nada
más a lo largo de la ruta en memoria. Suponga también que todos los directorios caben en un bloque
de disco.

-Se necesitan las siguientes lecturas de disco:


directorio para/i-nodo para/ usr
directorio para/usr
i- nodo para /usr/ast
directorio para / usr/ast
i- nodo para /usr/ast/cursos
directorio para /usr/ast/cursos
i- nodo para / usr / ast / cursos / so-
directorio para / usr / ast / cursos / so-
i- nodo para / usr / ast / cursos / so- / folleto.t
En total, se requieren 10 lecturas de disco.

34. En muchos sistemas UNIX, los nodos-i se mantienen al inicio del disco. Un diseño alternativo es
asignar un nodo-i cuando se crea un archivo y colocar el nodo-i al inicio del primer bloque del
archivo. Hable sobre las ventajas y desventajas de esta alternativa.

- Algunos pros son los siguientes. Primero, no se desperdicia espacio en disco en i-nodos no utilizados.
En segundo lugar, no es posible quedarse sin i-nodos. En tercer lugar, se necesita menos movimiento del
disco ya que el i-nodo y los datos iniciales se pueden leer en una sola operación. Algunas desventajas son
las siguientes. Primero, las entradas de directorio ahora necesitarán una dirección de disco de 32 bits en
lugar de un número de i-nodo de 16 bits. En segundo lugar, se utilizará un disco completo incluso para
archivos que no contengan datos (archivos vacíos, archivos de dispositivo). En tercer lugar, las compro-
baciones de integridad del sistema de archivos serán más lentas debido a la necesidad de leer un bloque
completo para cada i-nodo y porque los i-nodos estarán dispersos por todo el disco. En cuarto lugar, los
archivos cuyo tamaño ha sido cuidadosamente diseñado para ajustarse al tamaño del bloque ya no enca-
jarán en el tamaño del bloque debido al i-nodo, lo que estropeará el rendimiento.

También podría gustarte