jueves, 11 de marzo de 2010

Protección del Hardware

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