10.1.- Aspectos generales ............................................................................. ............... 1 10.1.1.- Necesidad de la proteccin .................................................................................... 1 10.1.2.- Activacin y desactivacin de la proteccin de segmentos y de pginas ........ 3 10.1.3.- Campos y flags utilizados para la proteccin entre segmentos y entre pginas .......................................................................................... ............................ 10.2.- Niveles de proteccin ............................................................................ ........... 6 10.2.1.- !roteccin entre tareas ........................................................................................... " 10.2.2.- !roteccin de los segmentos ................................................................................. " 10.2.2.1.- !roteccin del l#mite ....................................................................................... " 10.2.2.2.- !roteccin del tipo .......................................................................................... $ 10.2.2.3.- !roteccin seg%n el nivel de privilegio ...................................................... 10 10.2.2. .- Acceso a segmentos con el &it a'usta&le a cero ........................................ 13
Captulo 10 - 1
10.2.2.(.- Acceso a segmentos con el &it a'usta&le a uno ........................................ 1 10.2.3.- !roteccin de las pginas ..................................................................................... 1 10.2. .- !roteccin de las instrucciones ........................................................................... 1" 10.2. .1.- )nstrucciones protegidas .............................................................................. 1"... 10.2. .2.- )nstrucciones privilegiadas ........................................................................... 1$
Captulo 10 - 2
/n el caso de la paginacin, solamente se distinguen dos niveles de privilegio> el del supervisor, 2ue es el 2ue proporciona la m1ima seguridad, y el del usuario, en el 2ue el grado de seguridad es m#nimo.
Captulo 10 - 4
Captulo 10: Mecanismos de proteccin /n la siguiente ta&la se refle'a la relacin entre los niveles de proteccin en la segmentacin y en la paginacin> SEGMENTACI N !" # 0 9egmentos y programas del n%cleo del 9.;. > 9eguridad alta !" # 1 !rogramas 2ue necesitan seguridad media !" # 2 !rogramas 2ue necsitan seguriadad media !" # % !rogramas de usuario > 9eguridad &a'a. !AGINACI N
5a :nidad de 9egmentacin eval%a el cumplimiento de las reglas de acceso y mane'o de los segmentos en primer lugar, y si est 0a&ilitada la paginacin, son e1aminadas las reglas 2ue afectan a las pginas en la :nidad de !aginacin seguidamente. /n la figura 10.2, se incluye un e'emplo de un sistema 2ue utiliza los cuatro niveles de privilegio. *ane'a dos tareas, un espacio glo&al compartido, e1istiendo segmentos de datos y de cdigo en todos los niveles de privilegio. <ay 2ue tener en cuenta 2ue, siempre 2ue e1ista un segmento de cdigo de&e 0a&er uno de pila.
Captulo 10 - 5
?igura 10.2 @ /s2uema de distri&ucin de los segmentos 2ue conforman un sistema lgico, 2ue utiliza los cuatro niveles de privilegio.
Captulo 10 - 6
Captulo 10: Mecanismos de proteccin /n la figura 10.3, puede o&servarse 2ue todos los segmentos de las tareas tienen asignado un nivel de privilegio. /l campo A!5 del descriptor 2ue referencia al segmento, es el 2ue indica dic0o nivel de privilegio.
?igura 10.3 -- Cada segmento de tarea tiene asignado un nivel de privilegio, indicado en el campo A!5 del descriptor 2ue referencia.
/l mecanismo ideal de proteccin es el proporcionado con'untamente por la segmentacin y la paginacin> segmentacin para la proteccin y paginacin para mane'ar la memoria. Como resultado de esta com&inacin ciertas pginas pueden ser escritas 4las pginas son una parte del segmento6 y otras le#das. /l mecanismo de proteccin del !entium cu&re los siguientes niveles> 1. !roteccin de tareas 2. !roteccin de los segmentos 3. !roteccin de las pginas . !roteccin de las instrucciones
Captulo 10 - 7
Captulo 10: Mecanismos de proteccin activas las reglas de proteccin del l#mite y del acceso permitido a lecturaBescritura.
Captulo 10 - 8
Captulo 10: Mecanismos de proteccin Al activar la paginacin, poniendo el flag !C del registro C+0 a 1, se activa automticamente la proteccin en la paginacin. 9i se 2uiere desactivar el mecanismo de proteccin en la paginacin, se de&e poner el flag D! del registro C+0 a 0. !osteriormente, se ponen a 1 los flags +BD 4readB.rite6 y :B9 4usuarioBsupervisor6 en el Airectorio de !ginas y en la 7a&la de !ginas. As# las pginas pasan a ser escri&i&les y pertenecientes al nivel 9upervisor, 2uedando desactivado el mecanismo de proteccin en la paginacin.
10.1.#. Ca!pos y $la s %sados para la proteccin entre se !entos y p" inas
/l mecanismo de proteccin de&e tener en cuenta ciertos campos y se-alizadores para controlar el acceso a las pginas y segmentos. A continuacin, se descri&en los campos necesarios para realizar dic0o control. 1. 'lag tipo de seg(ento )S* > &it 12 en la segunda do&le pala&ra de un descriptor de segmento. Aetermina si el descriptor de segmento descri&e un segmento del sistema o un segmento normal de cdigo o datos. 2. Ca(po TI!+> &its del E al 11 en la segunda do&le pala&ra de un descriptor de segmento. Aetermina si el segmento es de cdigo, de datos o del sistema. %. Ca(po del l,(ite> &its del 0 al 1( de la primera do&le pala&ra y &its del 1" al 1F de la segunda do&le pala&ra del descriptor de segmento. Aetermina el tama-o del segmento, estando relacionado con el flag C y el flag / 4para segmentos de datos6. -. 'lag G> &it 32 en la segunda do&le pala&ra del descriptor de segmento. Aefine el tama-o del segmento, estando relacionado con el l#mite del segmento y el flag / 4para segmentos de datos6. .. 'lag E> &it 10 en la segunda do&le pala&ra del descriptor de segmento. Aefine el tama-o del segmento, estando relacionado con el l#mite del segmento y el flag C. 9i est a 1 ser un segmento de cdigo 4e'ecuta&le o de slo lectura6, sin em&argo si est a 0 se trata de un segmento de datos. Gunto con el &it C se puede sa&er de 2ue tama-o se trata si de *H IH y con el campo l#mite se o&serva cual es el l#mite de dic0o segmento. 6. Ca(po descriptor del nivel de privilegio )/!"* > &its 13 y 1 en la segunda do&le pala&ra del descriptor de segmento. Aetermina el nivel de privilegio del segmento. 0. Ca(po del nivel de privilegio del peticionario )1!"* > &its 0 y 1 de cual2uier selector de segmento. 2. Ca(po del nivel de privilegio de la tarea en c$rso )C!"* > &its 0 y 1 del registro de segmento C9. 9e refiere al procedimiento o programa 2ue se est e'ecutando en ese momento.
Captulo 10 - 9
Captulo 10: Mecanismos de proteccin 3. 4it de Ta(a5o )SI6*> Hit $ de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. )ndica si se trata de pginas de IH si es 0 sin em&argo si se tarta de pginas de *H si es 1. No se de&e olvidar 2ue el !entium acepta pginas de *H. 10. 4it S$cio )/*7 Hit " de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. 9i A=1 se 0a escrito a la pgina. 9irve para avisar al 9istema ;perativo 2ue antes de mac0acar la pgina 0ay 2ue actualizarla en la *emoria Jirtual.
Captulo 10 - 10
11. 4it A )Accedido*7 Hit ( de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. /l 9istema ;perativo pone un contador para cada pgina. Cada vez 2ue se accede a esa pgina el &it A se pone automticamente a 1. /l 9istema ;perativo cada cierto tiempo mira los &its A incrementando los respectivos contadores. Al final cuando se llena la memoria con pginas el 9.; sustituye el 2ue menos tiene en su contador. 12. 4it !C/7 Hit de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. )ndica si est a 1 2ue se trata e una pgina cac0ea&le 4se puede meter en la cac086. 1%. 4it !8T7 Hit 3 de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. )ndica si est a 1 2ue la pgina es de escritura o&ligada y cac0ea&le. 1-. &s$ario9S$pervisor )&9S*> &it 2 de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. )ndica el tipo de pgina> :suario o 9upervisor. 1.. "ect$ra9escrit$ra )198*> &it 1 de una entrada del Airectorio de !ginas o de la 7a&la de !ginas. )ndica el tipo de acceso permitido a esta pgina> slo lectura o lectura y escritura. 16. 4it de !resencia )!*> Hit 0 de una entrada directa del Airectorio de !ginas o de la 7a&la de !ginas. )ndica si est a 1 2ue la pgina est presente en la memoria principal y si est a 0 2ue no lo est. /n las figuras 10. y 10.( se muestran los campos de un Aescriptor de 9egmento y de una entrada de la 7a&la de !ginas, respectivamente.
31 23 22 20 13 16 1( E 5)*. $ 0
4ASE 31 @ 2
AT1I4 . 4ASE 0 - 1(
1F @ 1"
/!"
TI!+
/94
31
12
11
HA9/
A/?) 0 9 A A ! ! : + N) ) C D B B ! Captulo 10 - 11
Captulo 10 - 12
Captulo 10: Mecanismos de proteccin 2ue se intente acceder a las siguientes direcciones en un segmento, el procesador genera una e1cepcin de proteccin general> 1. :n &yte ms arri&a del l#mite efectivo 2. :na pala&ra ms arri&a del l#mite efectivo 4-16 3. :na do&le pala&ra ms arri&a del l#mite efectivo 4-36
Captulo 10 - 14
Captulo 10: Mecanismos de proteccin . :na cudruple pala&ra ms arri&a del l#mite efectivo 4-$6 !ara segmentos de !ila 4segmentos de datos de e1pansin decreciente6, el l#mite depende del valor de H. 9i H=0, el rango va de 4l#mite efectivo M 16 a IH. 9i H=1, el rango vlido va de 4l#mite efectivo M 16 a CH. Cuando el l#mite es 0, un segmento de e1pansin decreciente tiene el m1imo tama-o. /sta compro&acin genera errores, 2ue sino se detectan se puede llegar a so&rescri&ir el cdigo o datos de otro segmento. /l procesador tam&i8n de&e compro&ar los l#mites de las ta&las de descriptores. !ara evitar 2ue los programas seleccionen un descriptor de segmento de fuera de sus ta&las de descriptores, se usan los valores de los registros CA7+ e )A7+ 41" &its6. !ara evitar 2ue se acceda fuera de las actuales 5A7 y 799, se utilizan los valores del l#mite de segmento 432 &its6 de los registros 5A7+ y los de tareas 7+.
9i 9 = 1, se trata de un segmento normal de cdigo, datos o pila creado por el programa. 9i 9 = 0, es un segmento especial creado por el programador de sistemas. 9i el &it / = 1, el segmento es e'ecuta&le o de cdigo. /n este caso los &its restantes 2ue componen el campo tipo son C, 2ue indica si es a'usta&le 416 o no 406, y el &it +, 2ue indica si el segmento es le#&le 416 o no 406. /n caso de 2ue / = 0, se trata de un segmento de datos no e'ecuta&le, siendo los &its /A y D los 2ue forman el campo tipo. /A indica si el segmento tiene o no e1pansin de direcciones decreciente. 9i /A = 1 se trata de un segmento de pila, en caso contrario es un segmento de datos. /l flan D indica si el segmento es escri&i&le. /n cada acceso, se comprue&an todas las caracter#sticas del segmento relativas al campo 7ipo. 5as diferentes e1cepciones generadas por el mecanismo de proteccin, son las siguientes>
Captulo 10 - 15
Captulo 10: Mecanismos de proteccin 1. 9i se intenta escri&ir en un segmento de cdigo 4/=16 2. 9i se intenta leer un segmento de cdigo con +=0 4pro0i&icin de lectura6 3. 9i se intenta cargar C9 4registro de segmento de cdigo6 con el valor de un selector 2ue corresponda a un descriptor con /=0. 9e estar#a intentando e'ecutar un segmento de datos . 9i se intenta escri&ir un segmento de datos con D=0 4pro0i&icin de escritura6 (. 9i se intenta cargar 99 4registro del segmento de pila6 con el valor de un selector, cuyo descriptor asociado est8 definido como no escri&i&le 4D=06. 5a informacin es e1aminada por el procesador en varias ocasiones seg%n se opere con segmentos selectores o segmentos descriptores. A continuacin se muestran algunos e'emplos de operaciones t#picas en las 2ue se comprue&a el campo 7)!;> 1. Cuando un segmento selector es cargado en un registro de segmento> ciertos registros de segmento slo pueden contener ciertos tipos de descriptores, por e'emplo> /l registro C9 solo se puede cargar con el selector de un segmento de cdigo. 9electores de segmento de segmentos de cdigo 2ue no son le#&les o de segmentos del sistema no pueden ser cargados en registros de segmentos de datos 4A9, /9, ?9, C96. 9lo selectores de segmentos de datos escri&i&les pueden ser cargados en registros de pila 4996.
2. Cuando un selector de segmento es cargado en 5A7+ o un registro de tareas> /n 5A7+ slo se puede cargar el selector de una 5A7. /n el registro de tareas 7+ slo se puede cargar un selector de segmento de un 799.
3. Cuando instrucciones acceden a segmentos cuyos descriptores ya 0an sido cargados en registros de segmento. Ciertos segmentos pueden ser utilizados por instrucciones slo en ciertas predefinidas formas, por e'emplo> Ninguna instruccin de&er#a escri&ir en un segmento e'ecuta&le Ninguna instruccin de&er#a escri&ir en un segmento de datos si 8ste no es escri&i&le. Ninguna instruccin de&er#a leer un segmento e'ecuta&le a menos 2ue el flag de permiso de lectura est8 a 1.
. Cuando un operando de una instruccin contiene un selector de segmento> ciertas instrucciones pueden acceder a segmentos o puertas de tan solo un tipo en particular. !or e'emplo>
Captulo 10 - 16
Captulo 10: Mecanismos de proteccin :na instruccin G*! o CA55 slo puede acceder a un descriptor de segmento de un segmento de cdigo conforming , no conforming, puerta de llamada, puerta de tareas o 799. 5a instruccin 55A7 de&e referenciar a un descriptor de segmento de una 5A7 5a instruccin 57+ de&e referenciar a un descriptor de segmento de una 799 5a instruccin 5A+ de&e referenciar a un descriptor de segmento o puerta de una 5A7, 799, puerta de llamada, C9 o segmento de datos. 5a instruccin 597 de&e referenciar a un descriptor de segmento de una 5A7, 799, segmento de cdigo o segmento de datos. 5as entradas )A7 de&en ser interrupciones, e1cepciones o puertas de llamada.
Captulo 10 - 17
Captulo 10: Mecanismos de proteccin (. Aurante una determinada operacin interna. !or e'emplo> /n una llamada 4CA556 o salto 4G*!6 le'ano, el procesador determina el tipo de transferencia de control 2ue de&e llevarse a ca&o 4call o 'ump a otro segmento de cdigo, a trav8s de una puerta o un cam&io de tareas6 compro&ando el campo 7)!; en el descriptor de segmento 4o puerta6 apuntado por el selector de segmento 4o puerta6 dado como operando en la CA55 o G*!. 9i el descriptor es para un C9 o puerta de llamada, la llamada o salto a otro C9 est indicado. 9i el descriptor es para una 799 o puerta de tarea, es indicado un cam&io de tareas. /n una llamada o salto a trav8s de una puerta de llamada , el procesador comprue&a automticamente 2ue el descriptor de segmento al 2ue apunta por medio de la puerta es un segmento de cdigo. /n una llamada o salto a una nueva tarea a trav8s de la puerta de tareas, el procesador comprue&a automticamente 2ue el descriptor de segmento apuntado por la puerta de rateas es una 799. /n una llamada o salto a una nueva tarea mediante una referencia directa a una 799, el procesador comprue&a automticamente 2ue el descriptor de segmento al 2ue se apunta por medio de la instruccin CA55 o G:*! es una 799. Jolviendo de una tarea anidada 4iniciada por una instruccin )+/76,el procesador comprue&a 2ue el campo de unin de la tarea precedente en la actual 799 apunta a una 799.
!ara los segmentos del sistema en los 2ue el &it 9 = 0, los otros cuatro &its del campo tipo definen la clase de segmento de 2ue se trata, de acuerdo con la siguiente relacin de cdigos>
C /IG+ 0 1 2 3 ( " $ E F A H C A / ?
TI!+ No definido 799 disponi&le del E02E" 5A7 799 ocupado del E02E" !uerta de llamada del E02E" !uerta de tarea !uerta de interrupcin del E02E" !uerta de e1cepcin del E02E" No definido 799 disponi&le del 3E" No definido 799 ocupado del 3E" !uerta de llamada del 3E" No definido !uerta de interrupcin del 3E" !uerta de e1cepcin del 3E"
Captulo 10 - 18
Compro&acin del selector del segmento nulo> 9i se intenta cargar un selector de segmento nulo en C9 o 99 se provoca una e1cepcin.
Captulo 10 - 19
Captulo 10: Mecanismos de proteccin /ste selector slo puede cargarse en los registros A9, /9, ?9 o C9, pero su acceso, una vez cargados con valor cero, genera una e1cepcin. Nste es un m8todo para detectar accesos a registros de segmentos 2ue no se usan y evitar accesos no deseados a segmentos de informacin.
Captulo 10: Mecanismos de proteccin cdigo en curso, por lo 2ue siempre de&e 0a&er un segmento de pila en el mismo !5 2ue 0aya un segmento de cdigo. /n el caso de !entium, siempre 2ue 0aya un acceso a un segmento, se comprue&a la relacin entre el C!5 y el A!5 del segmento 2ue ser accedido. !ara controlar el acceso a los distintos tipos de segmentos e1isten unas reglas &sicas 2ue se descri&en a continuacin>
Captulo 10 - 21
Captulo 10: Mecanismos de proteccin 1: 1EG"A7 ACCES+ A SEGMENT+S /E C /IG+ 9lo se puede acceder a segmentos de cdigo 2ue tengan el mismo !5 2ue el segmento de curso peticionario. 9i se 2uisiera acceder a otro de mayor !5, no est permitido por2ue 8ste se Pre&a'ar#aQ a nuestro nivel, 2ue es menos seguro. 9i por el contrario, se desease acceder a uno de menor !5, el segmento peticionario ser#a el 2ue se Pre&a'araQ a dic0o nivel inferior. 5as instrucciones 2ue permiten estas llamadas o saltos directos son G*!, CA55 y +/7. /l C!5 del segmento de cdigo peticionario de&e ser igual al A!5 del segmento a acceder directamente con la instruccin G*!,CA55 o +/7. /n la figura 10.E. se muestran los accesos permitidos entre segmentos de cdigo y accesos no permitidos entre estos. !ara 2ue se puedan realizar dic0os accesos los segmentos de cdigo tienen 2ue tener igual nivel de
privilegio.
?igura 10.E. /l acceso entre segmentos de cdigo
/l selector de segmento del destinatario de&e ser cargado en el C9 para realizar la transferencia del control del programa de un segmento de cdigo a otro. 5as compro&aciones en cuanto al l#mite, tipo y privilegio son e1aminadas por parte del procesador como parte de este proceso de carga. 9i son satisfactorias, lo 2ue implica 2ue el registro C9 es cargado, el control del programa es transferido al nuevo segmento de cdigo y empiezan a e'ecutarse las instrucciones apuntadas por el registro /)!. 5as transferencia del control del programa las llevan a ca&o las instrucciones G*!, CA55, +/7, )N7n, )+/7, 9L9/N7/+ y 9L9/O)7, al igual 2ue lo 0acen los mecanismos de e1cepcin e interrupcin. 5as dos %ltimas instrucciones son especiales y se usan para e'ecutar procedimientos para realizar llamadas rpidas o para regresar del 9.;.
Captulo 10 - 22
Captulo 10: Mecanismos de proteccin /l !entium dispone de un recurso llamado !uerta de 5lamada creada por el programador de sistema ya 2ue es normal 2ue desde un segmento de cdigo de &a'o !5 se 2uiera acceder a rutinas del 9.;. 4!5 superior6.
Captulo 10 - 23
Captulo 10: Mecanismos de proteccin 2: 1EG"A /E ACCES+ A SEGMENT+S /E /AT+S 9lo est permitido el acceso desde segmentos de cdigo con un !5 a otros de datos de igual o menor !5. !ara ello se usan instrucciones tipo *;J o similares. :n segmento de datos se puede leer y escri&ir. !ara evitar corromper la seguridad de los segmentos de datos se usa esta regla, ya 2ue o&liga a ser igual o mayor el nivel de privilegio del segmento de cdigo 2ue les intenta acceder. 5a escritura se realiza con la seguridad correspondiente al segmento de cdigo. 9e producir#a una degradacin del nivel de privilegio del segmento de datos si se accediese desde un segmento de cdigo con menor !5 4?igura 10.F6.
A trav8s de una puerta de llamada se puede aumentar el !5 de un segmento de cdigo, pudiendo as#, pasar a la pila un parmetro 2ue ser#a usado como selector al ser cargado en un registro de segmento. /sto ocurre si se comparan los valores, solamente, de C!5 y A!53 para solucionarlo se compara el A!5 del segmento al 2ue se 2uiere acceder con el /!5 4Nivel de !rivilegio /fectivo6. %: 1EG"A /E ACCES+ A SEGMENT+S /E !I"A 9lo se permite acceder a segmentos de pila con el mismo !5 2ue el del segmento de cdigo 2ue los solicita. /l C!5, el +!5 del selector de segmento y el A!5 del selector del segmento de pila de&en ser iguales. /n caso de restriccin se genera una e1cepcin de proteccin general 4C!6.
Captulo 10 - 24
Captulo 10: Mecanismos de proteccin /l procesador de&e tener en cuenta los siguientes tipos de niveles de privilegio para llevar a ca&o todas las compro&aciones>
Captulo 10 - 25
Captulo 10: Mecanismos de proteccin 1. Nivel de privilegio actual 4C!56> !5 del programa o tarea en curso, es el mismo 2ue del segmento de cdigo del 2ue se realizan actualmente las instrucciones.
Al realizar una transferencia de control internivel, el procesador cam&ia el C!5. /l C!5 puede encontrarse en los dos &its de menos peso de los registros C9 y 99. 2. Nivel de privilegio del descriptor 4A!56> !5 de un segmento o puerta. 9e almacena en el campo A!5 del descriptor del segmento de la puerta.
Aependiendo del tipo de puerta o segmento al 2ue se 2uiere acceder, se puede interpretar el A!5 de diferentes maneras> 9egmento de datos> el A!5 indica el menor nivel de privilegio 2ue un programa o tarea puede tener para 2ue pueda acceder al segmento. 9egmento de cdigo, 2ue no puede ser accedido a trav8s de una puerta de llamada> indica el !5 2ue se de&e tener para poder acceder al segmento. 9egmento de cdigo accedido a trav8s de una puerta de llamada> indica el mayor !5 2ue se de&e tener para acceder al segmento. !uerta de llamada> el A!5 es el menor !5 2ue se le permite tener a u segmento para acceder a la puerta. /sta norma es igual 2ue la de los segmentos de datos. 799> indica el menor !5 2ue el programa o tarea, en estado de e'ecucin, puede tener para realizar el acceso. /sta norma es igual 2ue la de los segmentos de datos.
3.
Nivel de privilegio del peticionario 4+!56> es el !5 ms importante y es almacenado en los &its 0 y 1 del selector de segmento. /l C!5 y el +!5 son compro&ados por el procesador para ver si se permite el acceso , por el contrario, es un acceso no permitido. !ara asegurarse 2ue las instrucciones privilegiadas no son accedidas por segmentos de un programador de aplicaciones a menos 2ue el programa en s# tenga privilegios de acceso a este segmento se usa el +!5 .
Al cargar un selector de segmento de un segmento de cdigo en un registro C9, el campo del nivel de privilegio no var#a a%n cuando el +!5 del segmento selector sea diferente del C!5.
Captulo 10 - 27
Captulo 10: Mecanismos de proteccin /l +!5 de&e ser 'err2uicamente mayor o igual 2ue el C!5 de la rutina, por lo 2ue se dice 2ue el +!5 tiene un efecto limitado en la compro&acin de privilegio.
Captulo 10 - 28
Captulo 10 - 29
Captulo 10: Mecanismos de proteccin !ara definir el acceso el %nico &it 2ue se usa el DB+, el cual se encuentra en las entradas de las 7a&las de !ginas y en las del Airectorio de !ginas. /n caso 2ue 8ste sea 0, puede leerse, si es 1 puede tanto leerse como escri&irse. !uede esta&lecerse una relacin entre estos niveles y los de la segmentacin> en lo referente al nivel supervisor, 8ste e2uivale al los niveles 0, 1 o 2 en los 2ue se realizan la e'ecucin de instrucciones y programador del sistema. /n cuanto al nivel usuario, 2ue e2uivale al nivel 3 se realizan las aplicaciones de usuario y del programador de aplicaciones. /n este tipo de proteccin se tienen en cuenta dos reglas> 1. Aesde una pgina u&icada en nivel :suario slo se puede acceder a pginas de dic0o nivel. 2. Aesde una pgina del nivel de 9upervisor se puede acceder a todas. /ste mecanismo de proteccin se usa al nivel de Airectorio de !ginas y al nivel de 7a&la de !ginas, es decir en la traduccin de direcciones lineales a f#sicas. !uede darse 2ue 0aya diferencias en am&as entradas respecto a la especificacin de pgina, por lo 2ue se coge como nivel de privilegio y tipo de acceso el ms restrictivo. 5as distintas com&inaciones 2uedan refle'adas en la ta&la de la figura 10.11>
Captulo 10 - 30
E=ecto Co(<inado
!rivilegio :suario :suario :suario :suario :suario :suario :suario :suario 9upervisor 9upervisor 9upervisor 9upervisor 9upervisor 9upervisor 9upervisor 9upervisor
7ipo acceso
de
7ipo acceso
de
!rivilegio :suario :suario :suario :suario 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or 9upervis or
7ipo acceso
de
9olo lectura 9olo lectura lecturaescritura lecturaescritura 9olo lectura 9olo lectura lecturaescritura lecturaescritura 9olo lectura 9olo lectura lecturaescritura lecturaescritura 9olo lectura 9olo lectura lecturaescritura lecturaescritura
9olo lectura 9olo lectura 9olo lectura lecturaBescrit ura lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit ura lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit ura lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit uraR lecturaBescrit ura
9uperviso 9olo lectura r 9uperviso lecturar escritura 9uperviso 9olo lectura r 9uperviso lecturar escritura :suario :suario :suario :suario 9olo lectura lecturaescritura 9olo lectura lecturaescritura
9uperviso 9olo lectura r 9uperviso lecturar escritura 9uperviso 9olo lectura r 9uperviso lecturar escritura
Captulo 10 - 31
Captulo 10: Mecanismos de proteccin 4R6 si el flag D! de C+0 est a 1, el tipo de acceso lo determina +BD de las entradas del Airectorio de !ginas y de la 7a&la de pginas 9e de&e tener en cuenta 2ue no todas las instrucciones pueden e'ecutarse desde cual2uier nivel de privilegio, el sistema de proteccin el !entium resuelve este pro&lema. Ca&e destacar la e1istencia de dos grupos de instrucciones especiales 2ue e1igen ser e'ecutadas con un C!5 m#nimo> el de instrucciones protegidas y el de instrucciones privilegiadas
?igura 10.12. 9i );!5 = 1, el grupo de instrucciones protegidas slo se puede e'ecutar desde segmentos de cdigo con nivel de privilegio 0 y 1
9e incluyen las siguientes instrucciones para mane'ar las operaciones del espacio de /B9 perif8ricos> 1. )N> puerta por la 2ue toma un valor para cargar el acumulador 2. ;:7> puerta en la 2ue se deposita el valor del acumulador 4/AO6 Captulo 10 - 32
Captulo 10: Mecanismos de proteccin 3. )N9, ;:79> como las anteriores, pero mane'an una cadena de caracteres . C5)> pone el flan de interrupcin )? del registro de se-alizadotes a 0, no permitiendo instrucciones mascara&les (. 97)> pone el flan de interrupcin )? del registro de se-alizadotes a 1, permitiendo instrucciones mascara&les.
Captulo 10 - 33
Captulo 10: Mecanismos de proteccin +A!*C> +ead !reformase-*onitoring Counter> leer contadores de monitoreo de desempe-o. +A79C> +ead 7ime-9tamp Counter> leer contador de tiempo estampado
Captulo 10 - 35