Práctica Administración de la Información (Sistemas Operativos)

De Cuba-Wiki
Revisión del 12:53 8 nov 2006 de 201.213.23.199 (discusión) (Montones de cambios basados en las consultas realizadas ayer. Por favor verifiquen consistencia y si hay problemas lo discutimos en el talk.)

Ejercicio 1

NOTA - CREAR nombre, numero_de_paquete, numero_de_pistas, codigos_de_acceso.

NOTA - ARCHIVO codigo_a_asignar_al_archivo, numero_de_paquete, (codigo_de_usario)/nombre_del_archivo, [l/g].

NOTA - BORRAR nombre_del_archivo, numero_de_paquete.

a.

  1. CREAR "ARCH1", "PAQ1", 50, NINGUNO.
  2. CREAR "ARCH2", "ABCD", 100, TODOS / L.
  3. CREAR "ARCH3", "ABCD", 100, TODOS / L, INSPEC / {L | G}.

b. No entiendo. Preguntar el Jueves

Ejercicio 2*

Con 'por paquete' se refiere a 'por paquete de discos'(unidades de disco rígido). La respuesta es que sí, sería necesario un catálogo ordenado por disco, ya que es necesario para poder afrontar una falla física en un disco (saber qué se perdió para poder recurperarlo).

Ejercicio 3*

Este programa FORTRAN (corrido por el usuario LPR) va a requerir lectura de archivos al tomar el código fuente, al ejecutar el vinculador, al ejecutar el cargador, y recién una vez que se corre el programa, los READ(11,3) serán los que lean el archivo ARCH del paquete PAQUETE (notar que en la línea de parámetro lo indica al decir ARCHIVO 11, PAQUETE, ARCH).

Ejercicio 4

El nombre del directorio del trabajo actual. En sistemas LCU, el LCU del usuario (Que sabemos tiene punteros directos a los archivos que el usuario tiene 'prestados')

Ejercicio 5

La ventaja que ofrece LCU sobre LCA es que se puede tener referenciado un mismo archivo con varios nombres en uno o mas usuarios (proveyendo mayor privacidad y seguridad). La desventaja sería que para darle un permiso generico a un archivo, habría que recorrer uno por uno todos los usuarios y darles el permiso. Lo mismo sucedería al querer borrar, ya que habría que recorrer las LCU de cada usuario, ver si el archivo está referenciado y borrar la referencia.

Ejercicio 6*

Habría que agregar un flag nuevo que identifique a estos archivos como ejecutables ('binarios'), y un nuevo permiso a agregar a los de lectura/escritura que sea el de ejecución.

Ejercicio 7

a. Habría que agregar a los pedidos de apertura un nuevo flag que podría ser X (exclusivo) o C (concurrente).

b. Hay que hacer constantes controles de cnsistencia del archivo (ya que estaría siendo escrito concurrentemente)

c. El sistema operatívo sabrá en cada momendo qué procesos están editando qué partes, por lo que hace falta saber cómo está distribuído el archivo en el disco (es decir, su estructura). El grado de conocimiento dependerá de la granularidad del control de consistencia.

d. De este control se encarga la rutina VCA.

Ejercicio 8

a. Se pone el catálogo (o un puntero a él) en una parte prefijada del disco, usualmente el sector 0 o pista 0.

b. Si es posible guardarlo (por ejemplo, si se lo va a agregar en un path distinto) lo hace. Si no, avisa al usuario del problema para que éste tome una decisión al respecto (pisar/cambiar el nombre).

c. La informacion que contiene el DAB de los archivos activos. Además tiene un contador de concurrencia y una lista de los procesos que lo están utilizando en ese momento.

d.

  1. Es la lectura de la LCA o LCU para verificar si la acción pedida puede ser realizada por el usuario.
  2. Es el recorrido por los niveles, SAS, SAB, VCA...
  3. Verificación de si el archivo fue modificado, en ese caso se baja lo que se tiene en memoria al disco y luego se cambia el directorio básico con la información nueva de la TAA. Si no sólo se baja a disco la TAA en caso de que haya cambiado algo. SI hay otros programas utlizando el archivo concurrentemente, no se borra de la TAA, pero se decrementa su concurrencia.

Ejercicio 9

a. El SAF se encargará de administrar la E/S física, y hará una por cada bloque físico. Así que a pesar de que realizaré 12330 pedidos de E/S lógicos, tendré 1233 lecturas físicas de disco.

b. En este caso al decir 'acceso directo' me refiero al hecho de que voy a leer sectores aleatorios del archivo, así que en el peor casos todos corresponderán a bloques físicos distintos. En tal caso, requeriré de 650 operaciones de E/S física.

Ejercicio 10*

a.
A: Flag 'Es un Directorio?'.
B: Aquí iría toda la metainformación (nombre, tamaños de bloques físicos/lógicos...)
C: --
D: Puntero al contenido.
E: Permisos de los usuarios. LCA.

b. LCA (Los permisos están establecidos por archivo).

c. Allí estaría la información (o puntero a la información) de los archivos características del direcorio básico (tamaño, longitud de registros físicos/lógicos, fechas de modificación...)

d. Tiene que verificar ownership o permiso de borrado.

e. PERMISO USUARIO ARCHIVO [PERMISOS]

f. En primer lugar, verifica que el usuario corriendo el comando tenga el propio permiso de asignar permisos (algo que usualmente sólo puede hacer el dueño). Si está permitido, entonces va a la tabla de permisos del archivo ARCHIVO (pues es LCA) y agrega/modifica el permiso [PERMISOS] para el usuario USUARIO.

Ejercicio 11

a. Si bien LCU puede brindar una mayor seguridad haciendo que los usuarios vean el archivo con distintos nombres, la solución más eficiente es LCA (pues requiere manejar sólo una lista).

b. Se borra la LCA del archivo, que se encuentra junto al mismo y luego se borra el archivo.

Ejercicio 12

Sin hacer (No entra para el parcial)

Ejercicio 13*

a. Dibujar la tabla del DAB con las tablas de usuarios y lcu según aparece en la práctica.

b. Se puede utilizar exactamente el mismo comando que el creado en el punto 10.e.

c. BORRAR ARCHIVO. Lo que hace el comando es verificar primero que se tengan permisos como para borrar el archivo, y luego recorre las LCU de todos los usuarios para quitarlo de ellas. Finalmente, se libera el espacio correspondiente al archivo y se borra su entrada en el DAS.

d. La explicación que dio Graciela en la clase de consulta parece ser FORTRAN. Cómo no sé FORTRAN, pongo la sintaxis más o menos.

  • TRABAJO PERM,OWN
  • PERMISO JOSE PROC L|G NOMBRE=XYZ
  • END
  • TRABAJO DEL,JOSE
  • BORRAR XYZ
  • END

Ejercicio 14*

a. Verdadero.

b. Verdadero.

c. Verdadero. El SAS ya no es requerido porque se tiene un puntero al archivo en el BCP. Ver 10.h.

d. Verdadero. Notar que estoy preguntando por datos del archivo (no considera información de la TAA).

e. Verdadero.

f. Verdadero.

g. Verdadero.

h. Verdadero.

i. Verdadero.

Ejercicio 15*

a. Verdadero.

b. Falso. Sólo se encuentra en su tabla de archivos propios.

c. Verdadero. Puede tener nombres distintos para usuarios distintos.

d. Verdadero. La posibilidad de rentringir qué archivos vé cada usuario y con qué nombre da a LCU un mayor grado de seguridad que LCA.

e. Falso. Por el contrario, hay que modificar la lista de permisos de todos los usuarios.

Ejercicio 16*

uid, gid, fecha de ultima modificación, contador de hard links, tipo de archivo

Ejercicio 17*

Es exactamente igual al 13.

Ejercicio 18*

Tiene 15 punteros. Los primeros 12 apuntan a Bloques de 4k. Los otros 3 apuntan Indirecto, Doble Indirecto, y Triple Indirecto (o sea, apuntan a otras tablas de bloques).