11 de Marzo del 2010
PROTECCIÓN DE HARDWARE
Operación en modo dual:
· El compartir los recursos del sistema requiere que el SO se asegure que un programa incorrecto no pueda propiciar que otros programas se ejecuten de forma incorrecta.
· Proporciona soporte al hardware para diferenciar entre al menos dos modos de operación.
1. Modo Usuario: Ejecución de parte del usuario
2. Modo Monitor (también modo supervisor o modo del sistema): Ejecución realizada pro parte del sistema operativo. “tiene todo el control sobre el sistema
· Se adiciona al hardware un bit de moso para indicar el modo actual: monitor(0) o usuario (1).
· Cuando sucede una interrupción o falle el hardware se cambia a modo monitor.
· Las instrucciones priviligiadas solo pueden ser ejecutadas en el modo supervisor.
Protección de E/S
· Todas las instrucciones de E/S son privilegiadas.
· Debe asegurarse que el programa del usuario no pueda tener el control del computador en el modo supervisor (Ej: un programa de usuario que, como parte de su ejecución, almacena una nueva en el vector de interrupciones)
Protección de memoria
· Debe proveer protección de memoria al menos para el vector de interrupciones y el vector de las rutinas de servicios de interrupción.
· Con el fin de tener la protección de memoria, se agregan dos registros que determinan el rango de las direcciones validas que un programa puede acceder:
o Registro base: Contiene la dirección legal física más pequeña.
o Registro límite: Contiene el tamaño del rango
o La memoria fuera del rango es protegida.
Cuando se esta ejecutando en modo supervisor, el SO tiene acceso irrestricto tanto a la memoria del usuario como la del supervisor.
Las instrucciones de carga para el registro base y el límite son privilegiadas.
PROTECCIÓN DE CPU
Se hace a través del concepto de temporizador.
· Temporizador: Interrumpe al computador después de un período especifico para garantizar que el SO mantenga el control.
o El temporizador se decrementa por cada pulsación del reloj.
o Cuando el temporizador alcanza el valor de 0, ocurre una interrupción
· El temporizador se utiliza comunmente para implementar tiempo compartido
· El temporizador tambien se utiliza para calcular el tiempo actual
· La carga del temporizador es una instrucción privilegiada.
No hay comentarios:
Publicar un comentario