Ejercicios de autoevaluacion
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Ejercicios de autoevaluacion
Pregunta 1
Que diferencias hay entre invocar una rutina de un programa e invocar una llamada al sistema?
Clave: una llamada al sistema provoca un cambio de modo de ejecucion, la posicion de memoria de la rutina se determina en tiempo de ejecucion y el codigo no forma parte del fichero ejecutable.
Pregunta 2
En este modulo hemos mencionado algunos escenarios en los que se genera una excepcion. Cuales son?
Clave: division por cero, intento de ejecutar una instruccion privilegiada en modo no privilegiado y acceso a memoria invalido.
Pregunta 3
Cuales son las diferencias mas relevantes entre los modos de ejecucion del procesador?
Clave: en modo privilegiado se puede ejecutar cualquier instruccion; en modo no privilegiado solo instrucciones no privilegiadas, y si se intenta una privilegiada se produce una excepcion.
Pregunta 4
En que modo de ejecucion se encuentra el procesador cuando un usuario ordinario ejecuta codigo de una aplicacion de sistema? Y cuando lo ejecuta un administrador?
Clave: en ambos casos en modo no privilegiado. Las aplicaciones de sistema siempre se ejecutan en modo usuario, independientemente de quien las ejecute.
Pregunta 5
Cuales de estas instrucciones son privilegiadas: leer registro de disco, acceder a memoria, sumar registros, inhibir interrupciones, modo bajo consumo?
Clave: son privilegiadas leer registro de disco, inhibir interrupciones y modo bajo consumo. Son no privilegiadas acceder a memoria y sumar registros.
Pregunta 6
Que diferencia hay entre espera activa y operacion bloqueante desde el planificador?
Clave: en espera activa el proceso consume CPU (transicion run-ready); en operacion bloqueante no consume CPU y permanece en estado Blocked.
Pregunta 7
Que se necesita para convertir un programa en proceso?
Clave: el SO debe asignar recursos, copiar el programa en memoria y hacer que el procesador inicie la ejecucion.
Pregunta 8
Por que motivos MS-DOS era un sistema operativo inestable?
Clave: se diseno para un procesador sin modos de ejecucion, sin instrucciones privilegiadas y sin MMU.
Pregunta 9
Por que es necesaria la existencia de un temporizador que genere interrupciones periodicamente?
Clave: para evitar que un proceso de usuario de calculo intensivo monopolice la CPU. El temporizador da la oportunidad al planificador de entrar en ejecucion y decidir un cambio de contexto.