SO C T RelacionProblemasTema4
SO C T RelacionProblemasTema4
SO C T RelacionProblemasTema4
Relacin de problemas
FAT
Nombre
DATOS
10
11
15
12
13
14
15
16
17
18
Pg. 1
Sistemas Operativos
Relacin de problemas
Pg. 2
Sistemas Operativos
Relacin de problemas
en uso: 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0
libres: 0 0 0 1 1 1 0 0 0 1 0 1 1 0 1
Existen errores? Son serios estos errores? por qu? qu acciones correctivas sera
necesario realizar sobre la informacin del sistema de archivos?
13. Cuando se abre el archivo /usr/ast/work/f, se necesitan varios accesos a disco. Calcule el
nmero de accesos a disco requeridos (como mximo) bajo la suposicin de que el i-nodo
raz ya se encuentra en memoria y que todos los directorios necesitan como mximo 1
bloque para almacenar los datos de sus archivos.
14. El planificador de Unix favorece a los procesos limitados por E/S (cortos) frente a los
procesos limitados por CPU (largos)? Explique cmo lo hace. Y el planificador de
Windows 2000 o NT?
15. Supongamos que un proceso, P1, abre el archivo "datos" en modo lectura/escritura y
otro proceso, P2, abre el mismo archivo y con el mismo modo, y a continuacin crea un
proceso hijo que abre el archivo "/usr/pepe/doc" en modo lectura/escritura. Represente
toda la informacin relevante sobre el estado de las tablas de descriptores de archivos,
tabla de archivos y tabla de i-nodos despus de dichas operaciones.
16. Suponiendo una ejecucin correcta de las siguientes rdenes en el sistema operativo
Unix:
/home/jgarcia/prog > ls -i
18020
18071
18001
Pg. 3
Sistemas Operativos
Relacin de problemas
20. Tenemos un archivo de 4 MBytes, calcule el espacio en disco necesario para almacenar
el archivo (incluidos sus metadatos) en un Sistema de Archivos FAT32 y en otro s5fs.
Suponga que el tamao del cluster en FAT32 y el de bloque lgico en s5fs es de
4KBytes.
21. En la mayora de los sistemas operativos, el modelo para manejar un archivo es el
siguiente:
o Abrir el archivo, que nos devuelve un descriptor de archivo asociado a l.
o Acceder al archivo a travs de ese descriptor devuelto por el sistema.
Cules son las razones de hacerlo as? Por qu no, por ejemplo, se especifica el
archivo a manipular en cada operacin que se realice sobre l?
22. Cmo consigue optimizar FFS operaciones del tipo ls l sobre un directorio?
Explquelo y ponga un ejemplo.
23. Sea un directorio cualquiera en un sistema de archivos de Unix, por ejemplo, DirB. De
l cuelgan algunos archivos que estn en uso por uno o ms procesos. Es posible usar
este directorio como punto de montaje? Justifquelo.
24. Es correcto el siguiente programa en UNIX, en el sentido de que no genera
inconsistencias en las estructuras de datos que representan el estado de los archivos en el
sistema? Represente con un esquema grfico la informacin almacenada en las estructuras
(tablas de descriptores de archivos, tabla de archivos y tabla de i-nodos) que representan el
estado real referente a los archivos utilizados por los siguientes procesos en el instante de
tiempo en que: el PROCESO HIJO DE A ha ejecutado la instruccin marcada con (1), el
PADRE (PROCESO A) ha ejecutado la (2), y el PROCESO B ha ejecutado la (3). Para ello
suponga que son los nicos procesos ejecutndose en el sistema en ese momento.
/* PROCESO A */
main(){
int archivos[2], pid;
archivos[0]=open("/users/prog.c",O_RDONLY);
archivos[1]=open("/users/prog.c",O_RDWR);
if ((pid=fork())==-1)
perror("Ha ocurrido un error en la creacin del proceso);
else if (pid==0)
execlp ("ls", "ls", NULL); /*(1)*/
else
close(archivos[0]); /*(2)*/
}
/* PROCESO B */
main(){
int archivos[2];
archivos[0]=open("/users/prog.c",O_RDONLY);
archivos[1]=open("/users/texto.txt",O_RDWR);
dup (archivos[0]); /* (3) */
}
Pg. 4