MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006...

60
MINIX4RT: MINIX4RT: A Real-Time Operating A Real-Time Operating System System Based on MINIX Based on MINIX Ing. Pablo A. Pessolani Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Universidad Nacional de La Plata Facultad de Informática Facultad de Informática

Transcript of MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006...

Page 1: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

MINIX4RT: MINIX4RT: A Real-Time Operating System A Real-Time Operating System

Based on MINIXBased on MINIX

Ing. Pablo A. PessolaniIng. Pablo A. Pessolani

Abril 2006Abril 2006

Universidad Nacional de La PlataUniversidad Nacional de La PlataFacultad de InformáticaFacultad de Informática

Page 2: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

INTRODUCCIONINTRODUCCION

Page 3: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

ObjetivoObjetivo

Desarrollar una herramienta Desarrollar una herramienta educativa para cursos de Diseño e educativa para cursos de Diseño e

Implementación de Sistemas Implementación de Sistemas Operativos en Tiempo Real (TR)Operativos en Tiempo Real (TR)

Page 4: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Porqué basado en MINIX?Porqué basado en MINIX?

Disponibilidad de documentación.

Requerimientos de la plataforma de hardware.

Diseño elegante y modular.

Aplicaciones y herramientas de programación.

Experiencia Académica.

Page 5: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Información Previa sobreInformación Previa sobreMINIX y RT-MINIXMINIX y RT-MINIX

Page 6: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de MINIXCaracterísticas de MINIX

Basado en Microkernel.

Multicapa de Procesos

Modelo Cliente/Servidor

Basado en Transferencia de Mensajes

Ocultamiento de Interrupciones

Page 7: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de RT-MINIXCaracterísticas de RT-MINIX

Diferentes algoritmos de planificación.

Colas de planificación conjuntas.

Abundante recolección de estadísticas.

Gestión de la resolución del Temporizador.

Entonces, por qué MINIX4RT?Entonces, por qué MINIX4RT?

Page 8: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Problemas de RT-MINIXProblemas de RT-MINIX

Es un parche para MINIX, no una Arquitectura.

No prioriza el servicio de las Interrupciones TR.

Acepta llamadas al Sistema MINIX desde procesos TR.

El planificador prioriza al Gestor de Memoria y al Gestor de Archivos.

Usa IPC de MINIX sin evitar Inversión de Prioridades.

Page 9: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de MINIX4RTCaracterísticas de MINIX4RT

Microkernel de TR expulsivo.

Arquitectura modular y por capas.

Gestión de Interrupciones por Tiempo y por Evento.

Procesos Periódicos y Esporádicos.

Priorización en el procesamiento de Interrupciones.

Page 10: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de MINIX4RTCaracterísticas de MINIX4RT

Planificador expulsivo de Prioridades Fijas.

Independencia de MINIX para la resolución del Temporizador.

Transferencia de Mensajes Sincrónica/Asincrónica basada en Cola de Mensajes.

Disciplina de Cola por prioridades en recepción de mensajes.

Page 11: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de MINIX4RTCaracterísticas de MINIX4RT

Soporte de Basic Priority Inheritance Protocol (BPIP) en la transferencia de mensajes.

Soporte de Timeout en primitivas de tipo Send y Receive.

Recolección de Estadísticas y Métricas de TR.

Soporte de Gestión de Interrupciones en dos Niveles utilizando Soft IRQs.

Page 12: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Características de MINIX4RTCaracterísticas de MINIX4RT

Temporizadores de software para la implementación de timeouts, procesamiento periódico, timestamps y alarmas.

Manejo de Vencimiento de Deadlines de Interrupciones y Procesos Periódicos con el uso de procesos tipo Watchdogs.

Compatibilidad con aplicaciones MINIX.

Page 13: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

ARQUITECTURA ARQUITECTURA

Page 14: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Arquitectura de MINIX Arquitectura de MINIX

USER

FS MM

TASK

MINIX Kernel

TASK TASK

USER USER

Page 15: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Método usado por RTLinuxMétodo usado por RTLinux

Sistema Operativo de Tiempo Real Anfitrión

Sistema Operativo de Tiempo Compartido Invitado.

Máquina Virtual limitada a la Emulación de Interrupciones

Page 16: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Arquitectura de MINIX4RTArquitectura de MINIX4RT

USER

FSSERVER

MMSERVER

TASK

TimerDriven

RT-TASK

MINIX4RT Kernel

TASK TASK

USER RTUSER

Event Driven

RT-TASK

MINIXHandlers

RT TimerDriven Handler

SOFTIRQs

MRTTASK

RT EventDriven Handler

MINIXKernel

RTUSER

Page 17: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

De MINIX a MINIX4RTDe MINIX a MINIX4RT

Tres entidades Ejecutables:

Procesos.

Rutinas de Servicio de Interrupción (ISR).

Acciones de Temporizadores.

Nuevo Planificador de TR.

Page 18: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

De MINIX a MINIX4RTDe MINIX a MINIX4RT

Planificador para ISRs y Acciones de Temporizadores.

Tanto el kernel de MINIX como sus procesos pueden ser expulsados por Procesos o Interrupciones de TR.

Los Procesos en TR no pueden invocar llamadas al Sistema de MINIX.

Page 19: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

De MINIX a MINIX4RTDe MINIX a MINIX4RT

Virtualización de Interrupciones para MINIX.

Llamadas al Sistema para procesos de TR.

Minimización del tiempo de desactivación de Interrupciones.

Page 20: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

GESTION DE GESTION DE INTERRUPCIONESINTERRUPCIONES

Page 21: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Tipo de Manejadores de Tipo de Manejadores de InterrupcionesInterrupciones

Manejadores MINIX

Manejadores de TR disparados por Eventos.

Manejadores de TR disparados por Tiempo.

Page 22: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Prioridad de Manejadores de Prioridad de Manejadores de InterrupciónInterrupción Un manejador de Interrupción solo se ejecutará si su

prioridad es mayor que el nivel de prioridad de ejecución del sistema.

Los manejadores de Interrupción pendientes de atención no se ejecutarán si:

Son manejadores MINIX y éste ha deshabilitado INTs.

Son manejadores disparados por Tiempo que no han cumplido su período.

Page 23: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Interrupt Queues Interrupt DescriptorsMRT_si.iQ.bitmap

MRT_si.iQ.irqQ[8]

first=NULLlast=NULL

1

1

0

1

00

1514131211109876543210

Priority

La cola está vacía

MRT_si.iQ.irqQ[12]

first=7last=9

next=9

prev=NULL

MRT_si.irqtab[7]

SERVICEDnext=NULL

prev=7

MRT_si.irqtab[9]

TRIGGERED

MRT_si.iQ.irqQ[3]

first=3last=3

next=NULL

prev=NULL

MRT_si.irqtab[3]

TRIGGERED

Al menos hay un Manejador Pendiente

de Interrupción

Descriptor demás alta prioridad

Page 24: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Software IRQsSoftware IRQs

Como ejecutar acciones prolongadas fuera del tiempo de interrupción?

MINIX usa Tareas

LINUX divide el manejador de Interrupciones:

Top-Half

Botton-Half

MINIX4RT dispone de Software IRQs

Page 25: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

GESTION DE PROCESOSGESTION DE PROCESOS

Page 26: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

MINIX4RT: Modos de EjecuciónMINIX4RT: Modos de Ejecución

Non Real Time Mode: El comportamiento del sistema es idéntico al de MINIX. Todas las llamadas al Sistema de TR están deshabilitadas.

Real Time Mode: Se pueden ejecutar tanto procesos de TR como Standards.

Page 27: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

MINIX4RT: Procesos TR MINIX4RT: Procesos TR

Solo se pueden crear y terminar procesos standards. MINIX4RT no dispone de nuevas llamadas al Sistema para crear o terminar procesos de TR.

Un proceso MINIX Standard se convierte a un proceso de TR

Para finalizar un proceso de TR, antes debe convertirse en proceso MINIX standard.

Page 28: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Estados y Transiciones de Procesos Estados y Transiciones de Procesos en MINIXen MINIX

RUNNING

BLOCKED

BLOCKEDREALTIME

READY

Page 29: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

RT-RUNNING

RT-BLOCKED

NRT-BLOCKED

RT-READY

Estados y Transiciones de Procesos Estados y Transiciones de Procesos en MINIX4RTen MINIX4RT

Page 30: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Estados y Transiciones de Estados y Transiciones de Procesos de TR y StandardProcesos de TR y Standard

RUNNING

BLOCKED READY

RT-RUNNING

RT-BLOCKED RT-READY

ESTADOS DE PROCESOS MINIX4RTESTADOS DE PROCESOS MINIX

Page 31: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Planificación de Procesos Planificación de Procesos en MINIXen MINIX

Page 32: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Planificación de Procesos de TRPlanificación de Procesos de TR

La política planificación de Tiempo Real es simple:

””Un Planificador de Tiempo Real por Un Planificador de Tiempo Real por prioridades debe asegurar que se activará el prioridades debe asegurar que se activará el proceso ejecutable de mas alta prioridad en proceso ejecutable de mas alta prioridad en

un tiempo limitado y ese tiempo debe ser un tiempo limitado y ese tiempo debe ser pequeño.pequeño.""

Victor Yodaiken

Page 33: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Process Descriptors

next=NULLprev=NULL

proc[3]

next=5prev=NULL

proc[7]

next=NULLprev=7

proc[5]

MRT_procL[8];

MRT_procL[3];

first=NULLlast=NULL

first=3last=3

MRT_procL[12];

first=7last=5

0

1

0

1000

1514131211109876543210

Priority

MRT_sp.rdyQ.bitmap

Al menos un proceso de TR en la cola

La cola está vacía

Proceso de TR ACTIVOReady Queues

Page 34: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

GESTION DEL TIEMPOGESTION DEL TIEMPO

Page 35: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Virtualización del Timer de Virtualización del Timer de MINIXMINIX

1/MRT_sv.tickrate

1/HZ

Time

MINIX4RT

RT-ticks

MINIX

ticks

MRT_sv.harmonic = 2

Page 36: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Virtual Timers: AccionesVirtual Timers: Acciones

MRT_ACT_MSGOWN: Envía un mensaje Timeout al proceso dueño del VT.

MRT_ACT_MSGWDOG: Envía un mensaje Timeout al proceso Watchdog del proceso dueño del VT.

MRT_ACT_IRQTRIG: Dispara un Descriptor de Interrupciones (usado por Gestores de Interrupciones disparados por tiempo).

MRT_ACT_DEBUG: Imprime valor del parámetro en la consola.

Page 37: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

MRT_ACT_SNDTO: Un timeout de una primitiva tipo send() ha vencido.

MRT_ACT_RCVFR: Un timeout de una primitiva tipo receive() ha vencido.

MRT_ACT_WAKEUP: Despierta al proceso dueño del VT que ha ejecutado una llamada al kernel mrt_sleep().

MRT_ACT_SCHED: Despierta a otro proceso que se encuentra en estado RT-BLOCKED.

Virtual Timers: AccionesVirtual Timers: Acciones

Page 38: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

first=3last=7

MRT_st.timerQ

inQ = 2firstexp=10

next=7prev=NULL

MRT_st.vtimer[3]

nextexp=4nextexp=4

next=NULLprev=3

MRT_st.vtimer[7]

nextexp=0

10 Ticks

14 Ticks

Virtual Timers: Cola VT ActivosVirtual Timers: Cola VT Activos

Page 39: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Ejecución de Acciones de VTsEjecución de Acciones de VTs

Time

Timer Interrupt Timer Interrupt

Timer ISR

Period

VTActions

MRT_vtimer_flush

Higher

Priority

Process

Latency

Page 40: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Ejecución de Acciones de VTsEjecución de Acciones de VTs

Time

Timer Interrupt Timer Interrupt

Timer ISR

Period

HigherPriority

VTActions

MRT_vtimer_flush

Latency

Higher

Priority

Process

LowerPriority

VTActions

Lower

Priority

Process

MRT_vtimer_flush

Page 41: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Expired Timers Queues Expired Virtual Timers

0

1

0

1000

1514131211109876543210

Priority

MRT_st.exp.bitmap

Al menos un VT vencido en cola

MRT_st.expiredQ[8]

MRT_st.expiredQ[3]

first=NULLlast=NULL

first=9last=9

next=NULLprev=NULL

MRT_st.vtimer[9]

MRT_st.expiredQ[12]

first=7last=5 next=5

prev=NULL

MRT_st.vtimer[7]

next=NULLprev=7

MRT_st.vtimer[5]

La cola está vacía

VT vencido de máxima Prioridad

Page 42: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

COMUNICACIÓN ENTRE COMUNICACIÓN ENTRE PROCESOS (IPC)PROCESOS (IPC)

Page 43: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

mrt_rqst( dest, m_ptr, timeout)

mrt_arqst( dest, m_ptr)

mrt_reply(dest, m_ptr)

mrt_uprqst(dest, m_ptr, priority)

mrt_sign(dest, m_ptr)

mrt_rcv( source, hdr_ptr, m_ptr, timeout)

mrt_rqrcv( dest, rqst, rply, hdr, timeout)

Primitivas de IPCPrimitivas de IPC

Page 44: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

TH TM TL S

OperationServer Priority

Request BASE

LOWTL

RequestRequest

TLRequest

MEDIUM

RequestHIGH

TLRequestReply

THRequestReply

MEDIUM

TMRequestReply

BASE

TIME

BASE

LOW

MEDIUM

HIGH

BPIPBPIP

Page 45: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Message QueueDescriptor Message Queue Entry Descriptors

first=3last=7

next=7prev=NULL

MRT_st.vtimer[3]

priority=12

next=NULLprev=3

MRT_st.vtimer[7]

priority=12

first=5last=5

next=0prev=NULL

MRT_st.vtimer[5]

priority=3

0

1

0

1000

1514131211109876543210

Priority

MRT_sm.msqQ[i].mQ.bitmap

Al menos un descriptor de

mensajes en cola

La cola está vacía

Mensaje de más alta prioridad

Page 46: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

LLAMADAS AL SISTEMA LLAMADAS AL SISTEMA Y Y

LLAMADAS AL KERNELLLAMADAS AL KERNEL

Page 47: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

User Level Process

libc (System Calls)

File System Server

libc (Task Calls)

SYSTASK

KERNEL

Llamadas al Llamadas al Sistema de Sistema de

MINIXMINIX

Page 48: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Llamadas al Llamadas al Sistema de Sistema de MINIX4RTMINIX4RT

User Level Process

libc (System Calls)

Memory Manager

libc (Task Calls)

MRTTASK

RT-KERNEL

Page 49: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Llamadas al Llamadas al Kernel de Kernel de

MINIX4RTMINIX4RTUser Level RT-Process

libc (RT-Kernel Calls)

RT-KERNEL

Page 50: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

TESTS DE TESTS DE PERFORMANCEPERFORMANCE

Page 51: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

En Vacío

Carga de CPU

Carga de E/S utilizando operaciones de Disco Rígido

Carga de E/S utilizando Diskette con driver en TR

Tipos de CargaTipos de Carga

Page 52: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Tests de PerformanceTests de Performance

Parallel Port Cable

Parallel Port Loop

RTLinuxMINIX4RT

Intel Pentium III 800MHz, 256 MB

RTLinux

Intel 80486-DX4 75MHz 8 MB

Page 53: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Tests de Latencia de Tests de Latencia de InterrupcionesInterrupciones

20

30

40

50

60

70

80

90

10

0

110

12

0

13

0

0,00

10,00

20,00

30,00

40,00

50,00

60,00

%

Interrupt Service Time [microsec]

ED-Interrupts [10000 Hz]

DKT Load

HD Load

CPU Load

No Load

Page 54: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Test de PuntualidadTest de Puntualidad

0,00

5,00

10,00

15,00

20,00

25,00

30,00

35,00

40,00

45,00

%

PERIOD [microsec]

TIMELINESS [10000 Hz]

DKT Load

HD Load

CPU Load

No Load

Page 55: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Test de Transferencia de MensajesTest de Transferencia de Mensajes

MESSAGE TIME

0

20

40

60

80

100

120

TEST 1

TEST2

TEST3

TEST4

TEST5

TEST6

TEST7

TEST8

Me

ss

ag

e T

ime

[m

icro

se

cs

]

Page 56: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Flujo Máximo de MensajesFlujo Máximo de Mensajes

THROUGHPUT

0

2000

4000

6000

8000

10000

12000

14000

TEST 1

TEST2

TEST3

TEST4

TEST5

TEST6

TEST7

TEST8

Th

rou

gh

pu

t [m

es

sa

ge

s/s

ec

]

Page 57: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

ContribucionesContribuciones

Arquitectura: Subkernel de Tiempo Real.

Gestión de Interrupciones: Priorización y Soft IRQs.

Gestión de Procesos: Visión de 2 Dominios.

Gestión de Tiempo: Priorización de Temporizadores.

Llamadas al Sistema: Kernel Calls.

Page 58: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

ConclusionesConclusiones

El microkernel de MINIX4RT dispone de las facilidades básicas para la gestión de

Interrupciones, Procesos, Temporizadores, Mensajes y recolección de estadísticas de

Tiempo Real convirtiéndolo en una excelente elección para realizar prácticas de codificación

en cursos de Diseño e Implementación de Sistemas Operativos de Tiempo Real

Page 59: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

Trabajos a FuturoTrabajos a Futuro

Deshabilitación de Interrupciones por Prioridades

Implementación de Semáforos

Gestión de Tiempo No Periódica

Compatibilidad POSIX 1003.1b

Actualización a MINIX 3.0

Page 60: MINIX4RT: A Real-Time Operating System Based on MINIX Ing. Pablo A. Pessolani Abril 2006 Abril 2006 Universidad Nacional de La Plata Facultad de Informática.

GRACIAS!!GRACIAS!!

Ing. Pablo A. PessolaniIng. Pablo A. [email protected]@hotmail.com

http://www.geocities.com/minix4rt/minix4rt_main.htmlhttp://www.geocities.com/minix4rt/minix4rt_main.html