Publicado el 6 de Diciembre del 2020
1.139 visualizaciones desde el 6 de Diciembre del 2020
5,7 MB
196 paginas
Creado hace 12a (01/11/2012)
CENTRO DE INVESTIGACIÓN Y DE ESTUDIOS AVANZADOS
DEL INSTITUTO POLITÉCNICO NACIONAL
UNIDAD ZACATENCO
DEPARTAMENTO DE COMPUTACIÓN
“Micronúcleo de sistema operativo para
tiempo real sobre la arquitectura Intel de 32 bits”
Tesis que presenta
William Martínez Cortés
Para obtener el grado de
Maestro en Ciencias
en Computación
Directores de la Tesis:
Dr. Pedro Mejía Álvarez
Dr. Luis Eduardo Leyva del Foyo
México, Distrito Federal.
Noviembre, 2012
Dedicatoria
A mis padres,
que a pesar de la distancia me acompañan en este
momento tan importante y tan esperado para ellos.
A mi abuela Batistina,
que siempre se ha preocupado por mí.
A la memoria de mi abuelo Pablo Martínez Jarque,
quien siempre se mostró muy orgulloso de mí.
Con amor a Janet Rodríguez Bufanda.
Agradecimientos
Ante todo agradezco a mis padres, por su preocupación y por el apoyo que siempre me han brindado, sin
el cual hubiese sido imposible la realización de estos estudios.
Quiero realizar un agradecimiento especial a mi tutor Luis E. Leyva del Foyo, quien me ha servido de guía
desde mis años de estudios de licenciatura.
A mi asesor Pedro Mejía, por al apoyo que me brindó durante todo el tiempo que duró la maestría, y no
solo durante el trabajo de tesis.
Al CINVESTAV y en particular al Departamento de Computación, por brindarme la oportunidad de
estudiar en tan prestigioso centro.
Al Consejo Nacional de Ciencia y Tecnología (CONACyT), por el apoyo económico brindado.
A Liliana Puente Maury, por su amistad y sus sugerencias para mejorar el presente documento.
A todos mis compañeros de grupo, y en especial a Pau, Julio Cesar, Daniel, Ana Helena, y Antonio Pico,
que a pesar de las diferencias culturales siempre me hicieron sentir como uno mas de ellos.
A Janet Rodríguez Bufanda, por acompañarme, apoyarme, y por enseñarme facetas de México
desconocidas para mí.
A todos los hombres y mujeres comprometidos con la ciencia, por servirme de inspiración y ejemplo.
A todos lo que de una forma u otra han ayudado a la realización de este trabajo, o me han apoyado
durante mi estancia en este hermoso país llamado México,
Muchas gracias.
Contenido
ÍNDICE DE FIGURAS .............................................................................................................................................. VII
ÍNDICE DE TABLAS .................................................................................................................................................. IX
RESUMEN .............................................................................................................................................................. XI
ABSTRACT ............................................................................................................................................................ XIII
CAPÍTULO 1 INTRODUCCIÓN ................................................................................................................................... 1
1.1 OBJETIVOS ............................................................................................................................................................... 2
1.2 RESULTADOS DEL TRABAJO Y ACTIVIDADES DESARROLLADAS ............................................................................................... 3
1.3 ESTRUCTURA DEL DOCUMENTO DE TESIS ........................................................................................................................ 4
CAPÍTULO 2 PANORÁMICA DE LOS SISTEMAS OPERATIVOS PARA SISTEMAS DE TIEMPO REAL .............................. 7
2.1 SISTEMAS EMBEBIDOS Y DE TIEMPO REAL ....................................................................................................................... 7
2.2 SISTEMAS OPERATIVOS DE TIEMPO REAL ......................................................................................................................... 8
2.3 SISTEMAS OPERATIVOS DE TIEMPO REAL DE AMPLIO USO ................................................................................................... 8
2.3.1 QNX Neutrino............................................................................................................................................ 9
2.3.2 VxWorks .................................................................................................................................................. 10
2.3.3 Windows NT............................................................................................................................................ 11
Linux ....................................................................................................................................................... 12
2.3.4
2.3.5
LynxOS .................................................................................................................................................... 13
2.3.6
eCos ........................................................................................................................................................ 13
2.3.7 Windows CE ............................................................................................................................................ 14
2.4 MANEJO DE INTERRUPCIONES EN SISTEMAS OPERATIVOS DE TIEMPO REAL .......................................................................... 15
2.4.1 Hilos de interrupción ............................................................................................................................... 16
2.4.2 Manejo de interrupciones en dos niveles................................................................................................ 17
2.4.3 Reducción del costo de enmascaramiento de interrupciones ................................................................. 18
2.5 PARTEMOS ......................................................................................................................................................... 18
2.5.1 Arquitectura de PARTEMOS .................................................................................................................... 19
2.5.2 Manejo de interrupciones en PARTEMOS ............................................................................................... 21
CAPÍTULO 3 PANORÁMICA DE LA ARQUITECTURA INTEL DE 32 BITS RELEVANTE A PARTEMOS ............................ 25
3.1 ARQUITECTURA DE LA CPU ....................................................................................................................................... 25
3.1.1 Registros básicos de ejecución ................................................................................................................ 26
3.1.2 Modelo de administración de memoria de IA-32 ................................................................................... 28
3.1.3 Modelo de administración de interrupciones de IA-32 ........................................................................... 31
3.1.4 Protección ............................................................................................................................................... 34
3.1.5
Soporte para depuración de la arquitectura IA-32 ................................................................................. 34
3.1.6 Otras características de la arquitectura IA-32 ........................................................................................ 36
3.2 ARQUITECTURA DEL CONTROLADOR DE INTERRUPCIONES................................................................................................. 37
3.2.1
Formas de activación de interrupciones ................................................................................................. 37
3.2.2 Arquitectura del controlador de interrupciones 8259 ............................................................................ 38
3.2.3 Arquitectura del controlador de interrupciones APIC ............................................................................. 40
3.3 DECISIONES DE DISEÑO PARA PARTEMOS SOBRE LA ARQUITECTURA IA-32....................................................................... 49
vii
Micronúcleo de sistema operativo para tiempo real sobre la arquitectura Intel de 32 bits
CAPÍTULO 4 ENTORNO PARA EL DESARROLLO DE SISTEMAS OPERATIVOS DE 32 BITS .......................................... 53
4.1 REQUERIMIENTOS DE UN ENTORNO PARA EL DESARROLLO DE SISTEMAS OPERATIVOS ............................................................ 53
4.2 ALTERNATIVAS PARA LOS COMPONENTES DEL ENTORNO ................................................................................................. 55
4.2.1 Plataforma de desarrollo ....................................................................................................................... 55
4.2.2 Compilador/Enlazador de C para 32 bits .............................................................................................. 55
4.2.3
Ensambladores para la arquitectura IA-32 ........................................................................................... 57
4.2.4 Cargador ................................................................................................................................................ 57
4.2.5
Simuladores de la plataforma de ejecución ........................................................................................... 58
4.2.6 Otras Herramientas................................................................................................................................ 60
4.2.7 Herramientas para desarrollo en 16 bits ............................................................................................... 61
4.3 USO DE
Comentarios de: Micronúcleo de sistema operativo para tiempo real sobre la arquitectura Intel de 32 bits (0)
No hay comentarios