Los Sistemas Operativos actuales disponen de llamadas al sistema para bloquear el acceso a un archivo. Si un proceso bloquea un archivo que puede estar en modo lectura, escritura o ejecución, por ejemplo, lock (fichero XXX), cualquier otro proceso que pretenda acceder al archivo bloqueado (rwx); este bloqueo ocurre con cualquier llamada al sistema que implique un acceso al archivo (incluida el lock). El bloqueo se mantiene hasta que el proceso que retiene el archivo invoca una operación de desbloqueo (por ejemplo unlock (fichero)).
a) Ilustre con un ejemplo real la conveniencia de estos servicios de bloqueo y desbloqueo.
b) ¿Estos servicios tienen utilidad en un Sistema no Multiprogramado?
c) ¿Estas operaciones se podrían implementar satisfactoriamente como rutinas de biblioteca, empleando semáforos u otros recursos clásicos de sincronización? Dicho de otro modo, ¿es necesario que este servicio de bloqueo de archivos, tal y como se ha descrito, esté resuelto en el núcleo o resolverlo en la microprogramación, o en donde lo implementaría usted?
Comentarios
wow, esto me recuerda a mis
wow, esto me recuerda a mis examenes de Bases de datos y de Sistemas operativos.
Bien voy a intentar resolver tus dudas con lo que recuerdo (no tengo los libros a mano) pero te recomendaría que leyerás algún libro sobre sistemas operativos (Tanembaumm o Fundamentos de Bases de datos, Silbeerschatz, Korzh, Sudarshan para tener una visión parecida de un problema igual) para poder tener una idea más concisa de la solución del problema con todas las posibles alternativas.
a) la utilidad de usar bloqueos y desbloqueos es relativa, si hablamos de transacciones con opciones de escritura durante el desarrollo si es necesario incluirlos por la sencilla razón de que vas a necesitar tener la seguridad de que el valor no va a cambiar. ah! y ten mucho cuidado con los interbloqueos que pueden hacer que el bloqueo no termine nunca y te pete el sistema.
b) No tiene porque no tener un sistema no multiprogramado.
c) Hombre, es una función importante los bloqueos de los archivos, yo lo pondría en el núcleo para evitar posibles conflictos con la microprogramación (direcciones de memoria iguales,...) y para que las demás aplicaciones puedan usar la misma rutina aunque el núcleo tenga un peso mayor.
suerte
--
saludos
cyfuss
llamadas al sistema para bloquear el acceso a un archivo.
O sea que estos servios son utiles en un sistema de multiprogramacioncierto ?
Enviar un comentario nuevo