SlideShare una empresa de Scribd logo
1 de 17
Programación de IA-32
   Modo Protegido

      Introducción


    Erwin Meza Vega
IA-32 Modo Protegido
   Permite tener acceso a todas las características
    del procesador
       Se introdujo en la arquitectura Intel en los
        procesadores 286 y se mejoró notablemente con el
        386
       En su aspecto básico, en los procesadores actuales
        funciona de la misma forma que en un 386
       A partir de este modo se puede pasar al modo
        extendido de 32 bits (para procesadores de 64 bits)
IA-32 Modo Protegido
   Características más importantes que se pueden
    usar en modo protegido:
       Protección (niveles de privilegios)
       Modo segmentado *
       Espacio de direcciones lineal de 32 bits (registros de
        propósito general)
       Multitarea
       Acceso a otros modos de operación (modo virtual 8086,
        modo extendido, modo real)
       Paginación de memoria
Paso de Modo Real a Modo
              Protegido
Para pasar de modo real a modo protegido se debe
  realizar por lo menos los siguientes pasos:
• Definir la organización de la memoria, por medio de
  la Tabla Global de Descriptores (GDT)
• Habilitar la línea de direcciones A20, para poder
  especificar direcciones de memoria de más de 20
  bits.
• Modificar el registro CR0 para habilitar el flag PE.
• Saltar a una instrucción que se encuentre dentro
  de un segmento de código válido.
Organización de la memoria
   La memoria se maneja en un esquema segmentado.
   Cada segmento puede tener cualquier un tamaño de: 1
    a 232 bytes
   La memoria se controla mediante descriptores de
    segmento, que se almacenan en una estructura de
    datos denominada GDT.
   Los registros de segmento se denominan “selectores” y
    funcionan de forma diferente al modo real.
   El valor almacenado en los registros de segmento se
    usa como subíndice en la GDT.
Organización de la memoria
 Dirección Lógica
                                  Dirección Lineal
Selector Offset
(16 bits) (32 bits)
                                                              Segmento



           Descriptor de Segmento
                                                     Offset
           Base
           Límite (tamaño)
           Nivel de privilegios



                                                                GDT
Tabla Global de Descriptores (GDT)
Tabla (arreglo) que contiene una serie de estructuras de
  datos llamadas Descriptores.
La GDT puede contener hasta 213 descriptores. Cada
  descriptor tiene un tamaño de 8 bytes (64 bits).
Entre los diferentes tipos de descriptores que se puede
  almacenar en la GDT se encuentran los Descriptores
  de Segmento. Estos almacenan la información de un
  segmento en la memoria:
• Dirección base
• Tamaño
• Privilegios
• Estado
Tabla Global de Descriptores (GDT)
                                       El GDT es una estructura de
                                       datos que se almacena en
                                       memoria. Debe estar alineada
                                       a un límite de 8 bytes.
                                       Su ubicación y tamaño se
                                       describen en el registro GDTR.




Tabla Global de
Descriptores      Descriptor

                  Descriptor
                                       Registro GDTR
                  Descriptor NULO
                                    Base      Límite
Descriptores de Segmento
Dentro de la GDT se almacenan (entre otros)
  descriptores de segmento. En modo protegido, se
  requiere que la GDT contenga al menos tres
  descriptores:
• El primer descriptor de la GDT siempre es nulo
• Un descriptor para el segmento de código
• Un descriptor para el segmento de datos
Por simplicidad, la mayoría de sistemas operativos
  configuran sólo estos tres segmentos.
Los segmentos de código y datos se configuran con
  base = 0 y con límite (tamaño) = 4 GB, lo que
  significa que se utiliza el modo Flat (plano).
Formato de un Descriptor de
        Segmento




            Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
Registros de Segmento
             (Selectores)
En modo protegido el valor almacenado en un
 registro de segmento (selector) tiene el
 siguiente formato:




          Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
Línea de Direcciones A20
              (A20 Gate)
• Por razones históricas, cuando el procesador se
  encuentra en modo real, su línea de direcciones
  20 (A20 Gate) se encuentra deshabilitada.
• Cualquier dirección de memoria mayor a 220
  (1MB), se “trunca” al limite de 1 MB.
• Anteriormente la línea A20 se podía habilitar
  mediante un pin en el teclado.
• En la actualidad este pin no existe, pero se
  puede programar el controlador 8042 (teclado)
  para habilitar la línea A20.
Línea de Direcciones A20
                  (A20 Gate)
Para habilitar la línea de direcciones A20 se debe realizar el siguiente
  proceso:
1. Leer el bit de estado del controlador 8042, disponible en el puerto de
    E/S 0x64.
2.   Si el controlador del teclado se encuentra listo, el segundo bit de su
     estado debe ser cero. En caso contrario, ir al paso 1.
3.   Escribir el valor 0xd1 en el puerto de E/S 0x64. El valor 0xd1 le
     indica al controlador que posteriormente se enviará otro byte que
     contiene la configuración a establecer.
4.   Repetir los pasos 1 y 2 para verificar que el controlador de teclado
     haya recibido el comando.
5.   Escribir el valor 0xdf en el puerto de E/S 0x60. Este valor habilita el
     bit A20 dentro del controlador del teclado.
6.   Repetir los pasos 1 y 2 para verificar que el controlador ha aceptado
     el comando.
Registro CR0
Este registro controla la ejecución del procesador.
 Su formato se muestra en la siguiente figura:



              Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1




El bit 0 de CR0 (Protection Enable) permite
  habilitar el modo protegido. No obstante antes
  de habilitar este bit se debe configurar la GDT y
  habilitar la línea de direcciones A20.
Secuencia para paso a modo
                protegido
1. Deshabilitar las interrupciones
  a.   Habilitar la línea de direcciones A20
2. Cargar el registro GDTR con la dirección base y el tamaño
   del GDT configurado con anterioridad.
3. Habilitar el bit 0 (PE) del registro CR0
4. Saltar mediante ljmp o lcall a una instrucción que se
   encuentre dentro de un segmento de código válido en modo
   protegido.
5. Si es necesario, cargar el registro LDTR con un LDT válido.
6. Si se pretende usar multi-tarea, cargar un registro de tareas
   válido en el registro TR.
7. Actualizar los registros de segmento DS, ES, FS, GS y SS
   para que contengan un selector válido.
Pasos adicionales
Al pasar a modo protegido, no se pueden usar los
  servicios de la BIOS.
Se debe configurar una estructura llamada IDT
  (Interrupt Descriptor Table), la cual define las
  rutinas de manejo de interrupción.
Sólo después de configurar una IDT válida se pueden
  habilitar las interrupciones. Si accidentalmente se
  habilitan, el procesador se reiniciará
  automáticamente en la próxima ejecución de reloj
  debido a que no se ha definido una rutina de
  manejo de interrupción.
Referencias

              Manuales de Intel
    http://www.intel.com/products/processor/manuals/
 Intel® 64 and IA-32 Architectures Software Developer's
ManualSystem Programming Guide, Part 1, Order Number
                        253668

Más contenido relacionado

La actualidad más candente

Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamientoAlex Yungan
 
Enrutamiento Estático y Dinamicos (RIP v2 y OSPF)
Enrutamiento Estático y  Dinamicos (RIP v2 y OSPF)Enrutamiento Estático y  Dinamicos (RIP v2 y OSPF)
Enrutamiento Estático y Dinamicos (RIP v2 y OSPF)narcisa Crespo
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...wilber147
 
Linea del tiempo Microprocesadores 242M
Linea del tiempo Microprocesadores 242MLinea del tiempo Microprocesadores 242M
Linea del tiempo Microprocesadores 242MFernando Fernandez
 
Generaciones de procesadores de computadoras.
Generaciones de procesadores de computadoras.Generaciones de procesadores de computadoras.
Generaciones de procesadores de computadoras.Marlen Guerra
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Conceptos de arquitectura de computadoras
Conceptos de arquitectura de computadorasConceptos de arquitectura de computadoras
Conceptos de arquitectura de computadorasADRIAN CASTAÑEDA
 
Puertos o interfaces externas
Puertos o interfaces externasPuertos o interfaces externas
Puertos o interfaces externasvivianitharomero
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de erroresRonie Martínez
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 

La actualidad más candente (20)

Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
 
Enrutamiento Estático y Dinamicos (RIP v2 y OSPF)
Enrutamiento Estático y  Dinamicos (RIP v2 y OSPF)Enrutamiento Estático y  Dinamicos (RIP v2 y OSPF)
Enrutamiento Estático y Dinamicos (RIP v2 y OSPF)
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
 
Linea del tiempo Microprocesadores 242M
Linea del tiempo Microprocesadores 242MLinea del tiempo Microprocesadores 242M
Linea del tiempo Microprocesadores 242M
 
Generaciones de procesadores de computadoras.
Generaciones de procesadores de computadoras.Generaciones de procesadores de computadoras.
Generaciones de procesadores de computadoras.
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Memoria ram rom
Memoria ram romMemoria ram rom
Memoria ram rom
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Conceptos de arquitectura de computadoras
Conceptos de arquitectura de computadorasConceptos de arquitectura de computadoras
Conceptos de arquitectura de computadoras
 
Sistema de numeración
Sistema de numeraciónSistema de numeración
Sistema de numeración
 
Puertos o interfaces externas
Puertos o interfaces externasPuertos o interfaces externas
Puertos o interfaces externas
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Stp
StpStp
Stp
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Protocolo de capa 6
Protocolo de capa 6Protocolo de capa 6
Protocolo de capa 6
 
La bios
La biosLa bios
La bios
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 
Lenguaje de Maquinas
Lenguaje de Maquinas Lenguaje de Maquinas
Lenguaje de Maquinas
 
Pruebas y diseño de redes
Pruebas y diseño de redesPruebas y diseño de redes
Pruebas y diseño de redes
 

Destacado

Presentacion beneficios cirena tv saber vivir
Presentacion beneficios cirena  tv saber vivirPresentacion beneficios cirena  tv saber vivir
Presentacion beneficios cirena tv saber vivirperez-rull
 
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )Octavio Ochoa
 
689 371-respiracion bucal present
689 371-respiracion bucal present689 371-respiracion bucal present
689 371-respiracion bucal presentfonoemprof
 
Clase 6 respirador bucal
Clase 6 respirador bucalClase 6 respirador bucal
Clase 6 respirador bucalKarel Bernt
 
Chela stress test
Chela stress testChela stress test
Chela stress testsuperserch
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationFernando Lopez Aguilar
 
Cwin16 - Paris - ux design
Cwin16 - Paris - ux designCwin16 - Paris - ux design
Cwin16 - Paris - ux designCapgemini
 
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Jakob Schneider
 
Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Justin Ryan
 
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudMMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudXavier Amatriain
 
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCapgemini
 
Disciplined agile business analysis
Disciplined agile business analysisDisciplined agile business analysis
Disciplined agile business analysisScott W. Ambler
 
How Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceHow Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceTuri, Inc.
 
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...500 Startups
 

Destacado (18)

Presentacion beneficios cirena tv saber vivir
Presentacion beneficios cirena  tv saber vivirPresentacion beneficios cirena  tv saber vivir
Presentacion beneficios cirena tv saber vivir
 
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
 
689 371-respiracion bucal present
689 371-respiracion bucal present689 371-respiracion bucal present
689 371-respiracion bucal present
 
Clase 6 respirador bucal
Clase 6 respirador bucalClase 6 respirador bucal
Clase 6 respirador bucal
 
Chela stress test
Chela stress testChela stress test
Chela stress test
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your Application
 
May: If I Were 22
May: If I Were 22May: If I Were 22
May: If I Were 22
 
Cwin16 - Paris - ux design
Cwin16 - Paris - ux designCwin16 - Paris - ux design
Cwin16 - Paris - ux design
 
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
 
Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014
 
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudMMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
 
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
 
Disciplined agile business analysis
Disciplined agile business analysisDisciplined agile business analysis
Disciplined agile business analysis
 
How Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceHow Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer Experience
 
How to Start a Startup at NYU
How to Start a Startup at NYUHow to Start a Startup at NYU
How to Start a Startup at NYU
 
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
 
Introduction to the Innovation Corps (NSF I-Corps)
Introduction to the Innovation Corps (NSF I-Corps)Introduction to the Innovation Corps (NSF I-Corps)
Introduction to the Innovation Corps (NSF I-Corps)
 
April: My Best Mistake
April: My Best MistakeApril: My Best Mistake
April: My Best Mistake
 

Similar a Ia32 Modo Protegido

Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIMari Cruz
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasMari Cruz
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladorGloria Azúa
 
Los procesadores
Los procesadoresLos procesadores
Los procesadoresoscar859
 
Los procesadores
Los procesadoresLos procesadores
Los procesadoreszohhy Arias
 
Cuáles son las mainboard y los procesadores más recientes en el mercado
Cuáles son las mainboard y los procesadores  más recientes en el mercadoCuáles son las mainboard y los procesadores  más recientes en el mercado
Cuáles son las mainboard y los procesadores más recientes en el mercadoKarina Coba
 
Fase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaFase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaVictor_Ardila
 
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Victor_Ardila
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya070810pipe
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya070810pipe
 
Fase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADFase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADSEMANA CIENTÍFICA
 
Fase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFrank Alarza Moreno
 
Gobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmGobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmBiblioman Aquihayapuntes
 

Similar a Ia32 Modo Protegido (20)

Modo protegido
Modo protegidoModo protegido
Modo protegido
 
Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras II
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y Respuestas
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensamblador
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
computadoras
computadoras computadoras
computadoras
 
informati
informatiinformati
informati
 
Cuáles son las mainboard y los procesadores más recientes en el mercado
Cuáles son las mainboard y los procesadores  más recientes en el mercadoCuáles son las mainboard y los procesadores  más recientes en el mercado
Cuáles son las mainboard y los procesadores más recientes en el mercado
 
Tfase1_103380_55
Tfase1_103380_55 Tfase1_103380_55
Tfase1_103380_55
 
Fase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaFase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardila
 
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
 
Control hd conmicrocontrolador
Control hd conmicrocontroladorControl hd conmicrocontrolador
Control hd conmicrocontrolador
 
Trabajo 1
Trabajo 1Trabajo 1
Trabajo 1
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya
 
Fase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADFase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNAD
 
Manual c18
Manual c18Manual c18
Manual c18
 
Fase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y Mantenimiento
 
Gobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmGobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xm
 

Último

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Ia32 Modo Protegido

  • 1. Programación de IA-32 Modo Protegido Introducción Erwin Meza Vega
  • 2. IA-32 Modo Protegido  Permite tener acceso a todas las características del procesador  Se introdujo en la arquitectura Intel en los procesadores 286 y se mejoró notablemente con el 386  En su aspecto básico, en los procesadores actuales funciona de la misma forma que en un 386  A partir de este modo se puede pasar al modo extendido de 32 bits (para procesadores de 64 bits)
  • 3. IA-32 Modo Protegido  Características más importantes que se pueden usar en modo protegido:  Protección (niveles de privilegios)  Modo segmentado *  Espacio de direcciones lineal de 32 bits (registros de propósito general)  Multitarea  Acceso a otros modos de operación (modo virtual 8086, modo extendido, modo real)  Paginación de memoria
  • 4. Paso de Modo Real a Modo Protegido Para pasar de modo real a modo protegido se debe realizar por lo menos los siguientes pasos: • Definir la organización de la memoria, por medio de la Tabla Global de Descriptores (GDT) • Habilitar la línea de direcciones A20, para poder especificar direcciones de memoria de más de 20 bits. • Modificar el registro CR0 para habilitar el flag PE. • Saltar a una instrucción que se encuentre dentro de un segmento de código válido.
  • 5. Organización de la memoria  La memoria se maneja en un esquema segmentado.  Cada segmento puede tener cualquier un tamaño de: 1 a 232 bytes  La memoria se controla mediante descriptores de segmento, que se almacenan en una estructura de datos denominada GDT.  Los registros de segmento se denominan “selectores” y funcionan de forma diferente al modo real.  El valor almacenado en los registros de segmento se usa como subíndice en la GDT.
  • 6. Organización de la memoria Dirección Lógica Dirección Lineal Selector Offset (16 bits) (32 bits) Segmento Descriptor de Segmento Offset Base Límite (tamaño) Nivel de privilegios GDT
  • 7. Tabla Global de Descriptores (GDT) Tabla (arreglo) que contiene una serie de estructuras de datos llamadas Descriptores. La GDT puede contener hasta 213 descriptores. Cada descriptor tiene un tamaño de 8 bytes (64 bits). Entre los diferentes tipos de descriptores que se puede almacenar en la GDT se encuentran los Descriptores de Segmento. Estos almacenan la información de un segmento en la memoria: • Dirección base • Tamaño • Privilegios • Estado
  • 8. Tabla Global de Descriptores (GDT) El GDT es una estructura de datos que se almacena en memoria. Debe estar alineada a un límite de 8 bytes. Su ubicación y tamaño se describen en el registro GDTR. Tabla Global de Descriptores Descriptor Descriptor Registro GDTR Descriptor NULO Base Límite
  • 9. Descriptores de Segmento Dentro de la GDT se almacenan (entre otros) descriptores de segmento. En modo protegido, se requiere que la GDT contenga al menos tres descriptores: • El primer descriptor de la GDT siempre es nulo • Un descriptor para el segmento de código • Un descriptor para el segmento de datos Por simplicidad, la mayoría de sistemas operativos configuran sólo estos tres segmentos. Los segmentos de código y datos se configuran con base = 0 y con límite (tamaño) = 4 GB, lo que significa que se utiliza el modo Flat (plano).
  • 10. Formato de un Descriptor de Segmento Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
  • 11. Registros de Segmento (Selectores) En modo protegido el valor almacenado en un registro de segmento (selector) tiene el siguiente formato: Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
  • 12. Línea de Direcciones A20 (A20 Gate) • Por razones históricas, cuando el procesador se encuentra en modo real, su línea de direcciones 20 (A20 Gate) se encuentra deshabilitada. • Cualquier dirección de memoria mayor a 220 (1MB), se “trunca” al limite de 1 MB. • Anteriormente la línea A20 se podía habilitar mediante un pin en el teclado. • En la actualidad este pin no existe, pero se puede programar el controlador 8042 (teclado) para habilitar la línea A20.
  • 13. Línea de Direcciones A20 (A20 Gate) Para habilitar la línea de direcciones A20 se debe realizar el siguiente proceso: 1. Leer el bit de estado del controlador 8042, disponible en el puerto de E/S 0x64. 2. Si el controlador del teclado se encuentra listo, el segundo bit de su estado debe ser cero. En caso contrario, ir al paso 1. 3. Escribir el valor 0xd1 en el puerto de E/S 0x64. El valor 0xd1 le indica al controlador que posteriormente se enviará otro byte que contiene la configuración a establecer. 4. Repetir los pasos 1 y 2 para verificar que el controlador de teclado haya recibido el comando. 5. Escribir el valor 0xdf en el puerto de E/S 0x60. Este valor habilita el bit A20 dentro del controlador del teclado. 6. Repetir los pasos 1 y 2 para verificar que el controlador ha aceptado el comando.
  • 14. Registro CR0 Este registro controla la ejecución del procesador. Su formato se muestra en la siguiente figura: Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1 El bit 0 de CR0 (Protection Enable) permite habilitar el modo protegido. No obstante antes de habilitar este bit se debe configurar la GDT y habilitar la línea de direcciones A20.
  • 15. Secuencia para paso a modo protegido 1. Deshabilitar las interrupciones a. Habilitar la línea de direcciones A20 2. Cargar el registro GDTR con la dirección base y el tamaño del GDT configurado con anterioridad. 3. Habilitar el bit 0 (PE) del registro CR0 4. Saltar mediante ljmp o lcall a una instrucción que se encuentre dentro de un segmento de código válido en modo protegido. 5. Si es necesario, cargar el registro LDTR con un LDT válido. 6. Si se pretende usar multi-tarea, cargar un registro de tareas válido en el registro TR. 7. Actualizar los registros de segmento DS, ES, FS, GS y SS para que contengan un selector válido.
  • 16. Pasos adicionales Al pasar a modo protegido, no se pueden usar los servicios de la BIOS. Se debe configurar una estructura llamada IDT (Interrupt Descriptor Table), la cual define las rutinas de manejo de interrupción. Sólo después de configurar una IDT válida se pueden habilitar las interrupciones. Si accidentalmente se habilitan, el procesador se reiniciará automáticamente en la próxima ejecución de reloj debido a que no se ha definido una rutina de manejo de interrupción.
  • 17. Referencias Manuales de Intel http://www.intel.com/products/processor/manuals/ Intel® 64 and IA-32 Architectures Software Developer's ManualSystem Programming Guide, Part 1, Order Number 253668