Campo iopl ensamblador

Solo disponible en BuenasTareas
  • Páginas : 2 (271 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de noviembre de 2010
Leer documento completo
Vista previa del texto
 Protección a través de IOPL
Las instrucciones que manejan salidas y entradas de datos necesitan ser restringidas, pero también necesitan serejecutadas por procedimientos con un nivel de prioridades distinto de cero. Por esta razón, el procesador utiliza el campo IOPL de EFLAGS para dar el nivelde prioridad a cada procedimiento o tarea que se ejecuta. El IOPL está compuesto por dos bits, cuyo valor determina el nivel de prioridad necesariopara ejecutar instrucciones de E/S. El contenido de estos dos bits no puede ser cambiado por ningún procedimiento que no posea el nivel de privilegioscero. Un intento de alterar IOPL por un procedimiento de nivel de prioridad distinto de cero, no produce una excepción, sino que simplemente el IOPL quedainalterado.
Vamos a ver como funciona este mecanismo con un ejemplo. Supongamos que tenemos una tarea, tarea A, y ésta se ejecuta en un segmento decódigo con nivel de privilegios 2, con lo que la tarea A tiene una prioridad 2. También tenemos otra tarea, tarea B, que se ejecuta en un segmento decódigo de prioridad 1, la prioridad de B es 1. Como cada tarea posee un registro EFLAGS, sus campos IOPL pueden ser distintos. Si tanto la tarea A como latarea B poseen un IOPL de 1, sólo la tarea B podrá realizar cualquier instrucción de E/S, en cambio, la tarea A tendrá que comprobar el mapa de bit depermiso de E/S de su TSS para realizar cualquier instrucción de E/S. A continuación se describe este otro chequeo de acceso a un puerto de E/S.
tracking img