Unidad_VIIclase.rta

Anuncio
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
Respuestas Orientadoras e incompletas (en algunos casos) a las preguntas de revisión. Favor
tomarlas como orientadoras.
Revisión – Unidad VII – Sistema de Archivos
1. ¿Por qué se dice que los archivos son una abstracción asociada al almacenamiento
secundario?
La abstracción es un recurso valioso para manejar la complejidad. Detrás de una abstracción puede
ocultarse cierto grado de complejidad. La mayoría de los usuarios manejan el concepto abstracto
"archivo o fichero", en la mayoría de las aplicaciones el concepto central es el "archivo" como una
colección de datos, persistente, compartible entre procesos y con una estructura propia. Esta es la
abstracción presentada al usuario que oculta la complejidad de implementación de esta colección de
datos grabada en n bloques de un dispositivo de almacenamiento secundario.
2. Responda V o F: Todo SO debe organizar sus archivos bajo una estructura jerárquica.
Falso. Existen muchos SO's (CP/M, VMS, MVS, etc.) que presentan una abstracción de su sistema
de archivos -que, si bien esta organizada bajo la abstracción "archivo"- en forma no jerárquica.
3. Responda V o F: El concepto de archivo esta asociado con la persistencia de datos.
Verdadero.
4. ¿Cuál es la función principal de un Sistema Gestor de Ficheros?
Proporcionar servicios a usuarios y aplicaciones para el uso de ficheros.
5. ¿Cuáles son las operaciones típicas que se aplican sobre ficheros?
crear() ..., borrar() ..., abrir() ..., cerrar() ..., leer() ..., escribir() ....
6. Defina los siguientes conceptos: Campo, Registro, Fichero, Base de Datos.
Campo: elemento básico, valor único, de longitud fija o variable, de un tipo de dato determinado.
Registro: conjunto de campos relacionados que se pueden tratar como la representación de una
unidad, de longitud fija o variable.
Fichero: Colección de registros, de campos similares, con restricciones en cuanto al control de
acceso (permisos), entidad única desde el punto de vista del usuario y las aplicaciones, referenciada
por nombre.
Base de Datos: Colección de datos relacionados, formada por uno o más ficheros, diseñada para ser
usada por una o más aplicaciones, se requiere de un software adicional para su manipulación:
SGBD (sistema gestor de base de datos) separado del SO.
7. ¿Qué ventajas le provee al desarrollador de aplicaciones el trabajar con un SO que posea un
Sistema de Gestión de Ficheros?
Le permite concentrarse en el problema a resolver en vez de ponerse a escribir código para lidiar
con los dispositivos, el espacio ocupado y libre en disco, la planificación de los dispositivos, etc. El
SGF provee una interfase uniforme (E-S lógica) que le permite al usuario y a las aplicaciones
acceder a los registros de los archivos en forma lógica, ocultando los detalles de implementación.
8. Responda V o F: El Sistema Gestor de Ficheros no se ocupa de la administración de
permisos sobre los ficheros.
Falso. Dentro del soporte para la compartición de archivos (entre distintos usuarios) que debe
proporcionar el SGF se encuentran los derechos de acceso.
9. Responda V o F: Los drivers tienen un nivel de abstracción mayor que la I/O lógica.
Falso. Los drivers son los de menor nivel de abstracción, puesto que interactúan con el hardware (en
términos de señales, registros de cpu, canales, etc.); mientras que la E-S lógica interactúa con los
usuarios y las aplicaciones (en términos de archivos, registros lógicos).
10. Responda V o F: Los programas del usuario interactúan directamente con los drivers.
Falso. Los programas interactúan con la E-S lógica.
11. Responda V o F: El sistema básico de I/O trabaja a nivel de bloques.
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 1 de 6
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
Verdadero. Realiza la E-S física, manejo de buffers, etc.
12. Responda V o F: El supervisor de I/O básico trabaja con las políticas de planificación de
I/O.
Verdadero. Inicia y termina las peticiones de E-S, planificación de E-S, colas, estados de ficheros,
asignación de buffers.
13. Responda V o F: Los datos básicos de un fichero son mantenidos por el sistema de I/O
lógica.
Verdadero. El sistema de E-S lógica trabaja con los usuarios y aplicaciones permitiendo el acceso a
archivos y registros lógicos; así como también mantiene los datos básicos de los ficheros. Pag.552.
14. ¿Qué es un método de acceso? ¿Para qué sirve?
Es el nivel de la arquitectura del sistema de ficheros más cercano al usuario. Sirve para
proporcionar una interfaz estándar entre las aplicaciones, sistemas de ficheros y dispositivos de
almacenamiento. Es la forma de manipular la estructura física del archivo, cómo leer, cómo grabar
un registro lógico; existen distintas formas de hacerlo según el método de acceso utilizado. Esta
vinculado con las distintas estructuras de los archivos.
15. ¿A qué nos referimos con la "organización de un fichero"?
Idem anterior. Estructura lógica de los registros determinados por su forma de acceso.
16. ¿Qué relación hay entre la "organización de un fichero" y los "métodos de acceso"?
La organización de un fichero se refiere a su estructura física mientras que el método de acceso se
refiere al algoritmo que debe aplicarse -acorde con la estructura física del archivo- para manipular
los registros del archivo. Por ejemplo, si un archivo tiene una organización de tipo Hash, el método
de acceso debe ser a través de un valor clave el cual será traducido a una dirección de registro
lógico utilizando para ello una función de dispersión. ...
17. Responda V o F: En cuanto a la administración de ficheros, el SO trabaja a nivel de bloques
físicos (registros físicos) mientras que las aplicaciones de usuario trabajan a nivel de
registros lógicos.
Verdadero.
18. ¿Qué diferencia hay entre registro físico y registro lógico?
Registro físico: son la unidad de transferencia entre el dispositivo de almacenamiento y la memoria
principal. Un dispositivo de almacenamiento secundario lee y graba "de a registros físicos" o
bloques físicos.
Registro lógico: es el registro de un archivo desde el punto de vista del programador, formado por n
campos que describen a una entidad determinada (artículo, proveedor, cliente, etc.). Un registro
físico -según su tamaño- podrá contener 0, 1 o n registros lógicos más algunos bytes de desperdicio
(fragmentación interna).
19. Describa la organización de archivo de tipo pila (stack). ¿Qué características tiene?
Es la organización más sencilla, el orden de los registros equivale al orden de llegada, los registros
pueden ser de longitud variable, con igual cantidad de campos o distinta cantidad, lo cual implica el
uso de delimitadores de registros/campos y/o campos autodescriptivos. Acceder a un registro
determinado implica una búsqueda exhaustiva, organización inadecuada para la mayoria de las
aplicaciones, generalmente se usa como una forma de almacenamiento previo a su proceso.
20. Responda V o F: En una organización de tipo pila puedo procesar registros en forma directa.
Falso. El acceso requiere de una búsqueda exhaustiva, secuencial.
21. Describa la organización de archivo de tipo secuencial. ¿Qué características tiene?
Registros de longitud fija, igual cantidad de campos, no autodescriptivos, posicionales, conjunto de
1 o más campos que forman clave primaria, almacenamiento según clave primaria, procesamiento
batch, ideal para almacenamiento en cinta o disco, el orden físico de los registros coincide con el
orden lógico. Generalmente se actualizan mezclándose con otro fichero de tipo pila, obteniéndose
un nuevo archivo secuencial actualizado.
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 2 de 6
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
22. Responda V o F: En una organización de tipo secuencial el o los campos clave no tienen
ninguna importancia.
Falso. Ya que los registros se guardan físicamente según la clave.
23. Responda V o F: Un archivo secuencial indexado, al igual que un archivo secuencial se
encuentra ordenado por uno o más campos clave.
Verdadero. Ambas organizaciones mantienen la misma estructura, pero el secuencial indexado
agrega dos estrcturas adicionales: un archivo índice que permite acceso aleatorio por clave y un
archivo de desbordamiento.
24. ¿Qué ventajas adicionales provee la organización secuencial indexada por sobre la
organización secuencial?
Permite acceso aleatorio por clave.
25. Responda V o F: Una archivo secuencial indexado ocupa menos espacio en disco que un
archivo secuencial.
Falso. Puesto que requiere dos archivos adicionales.
26. ¿Qué es un índice?
Es una archivo adicional al archivo de datos. Tiene la estructura de un archivo secuencial, con -al
menos- dos campos: el campo clave y un puntero a una dirección de registro dentro del archivo de
datos (también este puntero puede utilizarse como indirección a otro nivel dentro del mismo índice).
27. ¿Qué es un índice exhaustivo?
Es un índice que tiene una entrada por cada valor de clave.
28. ¿Qué es un índice no exhaustivo?
Es un índice que tiene una entrada por cada grupo de valores de clave (permite apuntar hacia la
"vecindad" de la clave buscada). Pueden incluirse sólo algunas claves en el índice (para reducir su
tamaño) y luego apuntar hacia otro nivel o bien hacia la vecindad de la clave buscada en el archivo
de datos y continuar con una búsqueda secuencial a partir de allí.
29. Responda V o F: Para mejorar el rendimiento de un archivo secuencial indexado voy a crear
una clave por cada atributo.
Falso. Porque a medida que se agregan índices se penalizan las grabaciones, puesto que, además de
actualizar los datos del registro también se deben actualizar los índices.
30. Responda V o F: Un archivo secuencial indexado puede contener registros de longitud
variable.
Falso. Todos los registros deben ser de longitud fija.
31. ¿Por qué hay necesidad de un "archivo de desborde" (overflow file) en un archivo secuencial
indexado?
Para enlazar (y mantener en forma ordenada por el campo clave) los nuevos registros que se
agregan en el archivo.
32. ¿Cómo funciona un archivo de acceso directo?
Tiene una estructura similar a un archivo secuencial, pero sin mantener un orden por clave primaria.
Este tipo de archivos es accesible en forma aleatoria, a través del número de registro lógico (0 .. N1). Generalmente se utiliza combinado con una tecnica de hashing, utilizando una funcion de
dispersión para lograr un acceso a través de clave primaria.
33. ¿Cómo funciona un archivo hash (hashed file)?
Idem anterior. Stallings asume que un archivo de acceso directo es sinónimo de un archivo hash. En
este caso se implementa una función hash (o función de dispersión) que transforma una clave
primaria en dirección de registro lógico. Son archivos muy rápidos para acceder por clave primaria,
no requieren de ninguna estructura de datos adicional al archivo de datos. El problema habitual es
que debe implementarse una forma de dar soporte a las claves sinónimas (dadas dos claves
primarias distintas resulta que ambas, luego de aplicarles la función hash, apuntan al mismo registro
lógico).
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 3 de 6
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
34. ¿Cuáles son las posibles implementaciones de un archivo hash?
Siguiendo con el punto anterior. Existen dos implementaciones posibles: hashing lineal y
desbordamiento encadenado. En el primer caso, ante una colisión, se continúa dentro del archivo de
datos secuencialmente hasta encontrar un lugar libre donde almacenar el registro (esto tiene el
efecto adverso de poder generar más colisiones en forma indirecta). En el segundo caso, se agrega
al archivo de datos un campo adicional que sera un puntero hacia el primer registro colisionado. En
todos los registros que no tengan colisiones, este campo estará vacío. Entonces, cuando ocurre una
colisión, los registros colisionados se mantienen -a partir de un area de desborde (en un archivo
separado o a partir del registro n + 1)- como una lista simplemente enlazada.
35. ¿Qué es un directorio? ¿Qué contiene?
Es una proyección entre los usuarios, las aplicaciones y los ficheros. Mantiene información sobre
cada archivo del sistema, incluye información básica (nombre,tipo,organización), información de
direccionamiento (volumen/disco,direccion física inicial,tamaño,tamaño asignado), información de
control de acceso (dueño,claves de acceso,permisos), información de uso (fecha creación,usuario
creador,fecha ultima lectura,usuario ultimo lector,fecha ultima actualizacion,usuario ultimo
actualizador,fecha ultima copia de seguridad,uso actual (info.sobre el uso actual, que proceso tiene
este archivo abierto, si esta bloqueado, si esta actualizado en memoria y aun no en disco,etc.)).
36. ¿Qué operaciones pueden aplicarse sobre un directorio?
buscar(), crear fichero(), borrar fichero(), listar directorio(),actualizar directorio().
37. ¿Cuál es la información de control asociada a un directorio?
Información de control de acceso (dueño,claves de acceso,permisos).
38. ¿Quién es el dueño (owner) de un archivo y qué operaciones puede hacer sobre un archivo
de su propiedad?
El dueño del fichero es su propietario, su creador y puede hacer cualquier tipo de operación sobre
un archivo de su propiedad.
39. ¿Cómo se identifican unívocamente los archivos dentro de un sistema de ficheros
jerárquico?
A través del nombre de camino (path, conjunto de directorios hasta el directorio que contiene al
archivo) + nombre del fichero. Ejemplo, el archivo myfile se encuentra en el directorio
/home/grchere por lo tanto, unívocamente el archivo se identifica como /home/grchere/myfile.
40. ¿Qué es el directorio actual (current directory) o directorio de trabajo (working directory)?
Permite hacer referencia en forma relativa a un archivo o directorio. El directorio actual o directorio
de trabajo es un nombre de camino (path) asociado con el usuario interactivo actual o con un
proceso actualmente en ejecucion. En forma interactiva, en una consola unix/linux, el usuario puede
conocer su directorio actual utilizando el comando "pwd" quien muestra en pantalla el directorio
actual.
41. ¿Que implicancias tiene el hecho de que un archivo sea compartido por n procesos
ejecutados por n usuarios?
El SO debe aplicar algun tipo de disciplina sobre el fichero utilizando algún tipo bloqueo (a nivel
del fichero completo o a nivel de registros individuales) para implementar una exclusión mutua
entre distintos procesos que pretenden acceder al mismo fichero.
42. ¿Qué clases de permisos sobre ficheros Ud. conoce?
ninguno ..., conocimiento ..., ejecucion ..., lectura ..., adición ..., actualización ..., cambio de
protección ..., borrado ... .
43. ¿Qué clases de usuarios Ud. conoce sobre los cuales se pueden aplicar distintos accesos?
Usuario específico, Grupo de usuarios y Todos los usuarios.
44. ¿Qué tipo de bloqueos (locks) pueden aplicarse sobre un archivo para garantizar exclusión
mutua?
Bloqueo a nivel de archivo o bloqueo de registros individuales.
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 4 de 6
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
45. El Sistema de Ficheros debe gestionar el espacio de almacenamiento secundario. Un bloque
físico es una unidad de I/O de almacenamiento secundario, existen 3 enfoques en cuanto al
tipo de bloques físicos. Indique cuáles son estos 3 enfoques y cuáles de ellos son
incompatibles con las implementaciones tradicionales de memoria virtual.
1.Bloques fijos: ...
2.Bloques expandidos de longitud variable: ...
3.Bloques no expandidos de longitud variable: ...
2 y 3 son incompatibles con las implementaciones tradicionales de memoria virtual.
46. Al asignar bloques a un fichero, hay 2 enfoques: el estático y el dinámico. Describa
brevemente cada uno de ellos y qué relación guardan en cuanto a la cantidad de bloques a
asignar a un nuevo archivo.
La asignación estática de bloques implica pre-asignación, es decir, que los usuarios, las aplicaciones
deberían indicar de antemano cuánto espacio ocupará un fichero, lo cual podría llevar a un malgasto
de espacio por sobre-estimación.
La asignación dinámica asigna bloques a medida que lo necesita el fichero.
En ambos casos, el dilema común se encuentra en estimar el tamaño de porción apropiado, ¿qué
cantidad de bloques asigno a un fichero?, es una tensión entre la eficiencia del fichero Vs eficiencia
del sistema. Tener espacio contiguo incrementa el rendimiento del fichero (pero puede ocasionar
que el SO agote los espacios contiguos requeridos para otras asignaciones), muchas porciones
pequeñas incrementa el tamaño de las tablas necesarias para gestionar la asignación, porciones de
tamaño fijo simplifica la re-asignación de espacio, porciones variables o pequeñas de tamaño fijo
minimiza el espacio malgastado.
47. Existen 3 métodos de asignación de ficheros (file allocation): Asignación Contigua,
Encadenada o Enlazada e Indexada. Describa brevemente cada uno de ellos.
1.Asignación Contigua: Pre-asignación.Se asigna un conjunto contiguo de bloques y existe una
tabla de asignación de ficheros que contiene el nombre del fichero, el bloque inicial y la longitud.
Se producirá fragmentación externa. ....
2. Asignación Encadenada: Con o sin pre-asignación. Se asignan bloques individuales, donde cada
uno contiene un puntero al siguiente elemento (fichero=lista simplemente enlazada de bloques), es
decir, no están contiguos. Tabla de asignación de ficheros contiene nombre de fichero y puntero al
bloque inicial de la lista. No hay fragmentación externa. Asignación sencilla. ....
3. Asignación Indexada: La tabla de asignación de ficheros contiene nombre de fichero y puntero al
bloque indice, el cual a su vez, contiene los bloques donde se encuentra el fichero. Elimina la
fragmentación externa y aprovecha el principio de proximidad. Permite usar porciones de tamaño
fijo o variable....
48. ¿Qué es "la tabla de asignación de ficheros" (file allocation table)?
La tabla de asignación de ficheros es una estructura de datos (tabla) que guarda la “traza” de las
porciones de memoria secundaria asignadas a cada fichero.
49. ¿Por qué razón se produce "fragmentación externa" al utilizar asignación contigua?
Porque cuando se borra un archivo quedará un "hueco" de bloques libres, si dicho hueco se
encuentra entre dos archivos, ese espacio no puede ser reutilizado eficientemente a menos que se
vuelva a asignar un nuevo archivo de exactamente la misma cantidad de bloques que el archivo
borrado. Esto puede llegar al extremo de que un sistema tenga miles de bloques libres en "huecos"
pequeños generados entre archivos y no pueda asignar espacio contiguo de un nuevo archivo
aunque éste no supere el espacio libre. En tal caso, el disco necesitará de un proceso de
defragmentación para "reacomodar" todos los archivos a partir del comienzo del disco, dejando los
bloques libre al final.
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 5 de 6
Sistemas Operativos
Preguntas de Revisión
UTN FRD
Ingeniería en Sistemas de Información
Dpto. Ingeniería en Sistemas de Información
Area: Computación
50. ¿Por qué razón la asignación encadenada o enlazada no tendría buen rendimiento sobre un
archivo de acceso directo?
Porque ir al i-esimo bloque implica recorrer la lista enlazada hacia adelante a partir de un bloque
inicial y así sucesivamente para cada petición. Obtener el i-esimo bloque puede implicar la lectura
de muchos bloques.
51. ¿Por qué razón se necesita hacer una compactación o una consolidación del disco luego de
cierto tiempo de uso?
Para transformar el espacio libre en espacio libre contiguo y al añadir nuevos ficheros a éstos se les
podría otorgar bloques contiguos favoreciendo el principio de proximidad.
52. ¿Existe alguna diferencia dentro de la tabla de asignación archivos cuando usamos una
asignación indexada utilizando porciones fijas que cuando usamos porciones variables?
No, en ambos casos la FAT solo guarda el puntero al bloque indice. Si cambia la estructura del
bloque indice que en el caso de las porciones variables se debe agregar además del número de
bloque, su longitud.
53. Gestionar el espacio en disco implica gestionar el espacio libre y ocupado. La tabla de bits
es un método posible para gestionar espacio libre. Indique cuál es su principal desventaja.
La principal desventaja es que el tamaño de la tabla de bits crece proporcionalmente al tamaño del
disco, ocupando mucho espacio y haciendo las búsquedas muy lentas, incluso aunque la misma se
cargue en memoria principal. La mayoría de los SO que usan esta técnica utilizan estructuras de
datos auxiliares en memoria (a modo de resumen de la tabla de bits) para acelerar la ubicación de
espacio libre.
54. En UNIX/Linux, una estructura de tipo inode esta asociado a un único archivo, entonces
¿Por qué se dice que puede haber muchos nombres de archivos asociados a un mismo
inode?
Debido a que en Unix (al igual que en Windows) se puede enlazar una o más entradas del directorio
a un archivo físico determinado. Cada i-node representa un único archivo físico, pero sobre un
archivo físico puede haber n enlaces. Cada enlace tendrá una entrada el directorio que estará
apuntando a un mismo i-nodo. Fig. 12.14 Pag. 579 (podría haber alguna entrada del directorio
apuntando al mismo i-nodo).
55. Responda V o F: En UNIX/Linux los directorios son estructuras especiales, distintas a un
archivo normal.
Falso. Un directorio es un archivo normal cuyo contenido es una lista de nombres (que representan
archivos u otros directorios) más un número que indica un desplazamiento dentro de la tabla de
nodos-i.
Mgr. Guillermo R. Cherencio
- Sistemas Operativos -
Página 6 de 6
Descargar