30
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ Hugo González Hugo González @hugo_glez http://atit.upslp.edu.mx/~hugo/

atit.upslp.edu.mxatit.upslp.edu.mx/~hugo/presentaciones/2008--Linux_en_RTOS--CONSOL.pdfSistema Operativo de Tiempo Real Un sistema operativo de tiempo real (SOTR o RTOS -Real Time

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/

Hugo GonzálezHugo González

@hugo_glez

http://atit.upslp.edu.mx/~hugo/

   

Linux en sistemas de tiempo realLinux en sistemas de tiempo real

Hugo Francisco González [email protected] 

presenta:

   

Sistema Operativo de Tiempo Real

● Un sistema operativo de tiempo real (SOTR o RTOS 

­Real Time Operating System en inglés), ha sido desarrollado para aplicaciones de tiempo real. Se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista). 1

[1] Fuente: Wikipedia. http://es.wikipedia.org/wiki/Sistemas_operativos_de_tiempo_real

   

¿Qué es tiempo real ?

● Tiempo real en los sistemas operativos:

● La habilidad del sistema operativo para proveer un determinado nivel de servicio bajo un tiempo de respuesta definido.2

[2] ­ POSIX Standard 1003.1

   

Catacterísticas

● Usado típicamente para aplicaciones integradas, normalmente tiene las siguientes características:– No utiliza mucha memoria– Cualquier evento en el soporte físico puede hacer 

que se ejecute una tarea– Multi­arquitectura (puertos de código para otro tipo 

de CPU)– Muchos tienen tiempos de respuesta predecibles 

para eventos electrónicos

   

Características deseables 3

● Multi­threaded y pre­emptible● Thread priority has to exist because no 

deadline driven OS exists● Must support predictable thread 

synchronization mechanisms● A system of priority inheritance must exist

[3] Fuente: Bill Latura, Embedded Operating Systems and Linux

   

Puntos Cruciales 4

● Algoritmo de planificación 

● El kernel del sistema

[4] Fuente: José Antonio Gómez Hernández, Sistemas Operativos de Tiempo­Real y empotrados

   

Linux RTOS libres

● ADEOS (Adaptative Domain Environment Operating Systems) http://www.opersys.com/adeos/

● KURT (Kansas University Real Time) http://www.ittc.ku.edu/kurt/

● Linux/RK (Linux/Resource Kernel) http://www­2.cs.cmu.edu/afs/cs/project/art­6/www/

● Linux SRT http://www.srcf.ucam.org/~dmi1000/linux­srt/

   

● Qlinux http://lass.cs.umass.edu/software/qlinux/

● REDICE Linux http://www.redsonic.com/products/redice.htm

● RTAI (Real Time Application Interface) http://www.aero.polimi.it/~rtai/index.html

● RTLinux http://www.rtlinux.org/● TimeSys Linux http://www.timesys.com/

Consultar anexo para más información

   

QNX

● El código fuente del micro­kernel se liberó bajo GPL hace algún tiempo.

   

Lo especial del Open Source

● Multiple choices vs. sole source● Source code freely available● Robust and reliable● Modular, configurable, scalable● Superb support for networking and Internet● No runtime licenses● Large pool of skilled developers

Fuente: Bill Latura, Embedded Operating Systems and Linux

   

Algunas estadísticas, tomadas de:

2007 Embedded Linux Market Survey

http://www.linuxdevices.com/cgi­bin/survey/survey.cgi?

view=archive&id=01302007173158

   

DOS

eCos

Linux (all variants)

Other Unix (e.g. BSD)

VxWorks

MS Windows (all variants)

other off­the­shelf (please email us)

Proprietary, in­house, 'roll­your­own' OS

Question does not apply

0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 50.00%

3.40%

3.60%

47.00%

4.10%

7.70%

12.30%

6.50%

11.30%

3.70%

3. Which OSes have been in your (company's) embedded designs during the past 2 years?

   

DOS

eCos

Linux (all variants)

Other Unix (e.g. BSD)

VxWorks

MS Windows (all variants)

other off­the­shelf (please email us)

Proprietary, in­house, 'roll­your­own' OS

Question does not apply

0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00%

0.60%

3.70%

59.30%

4.10%

4.70%

9.40%

6.50%

8.70%

2.60%

4. Which OSes do you expect to be in your (company's) embedded designs during the next 2 years?

   

Debian

Denx (ELDK)

Fedora

Freescale (formerly Metrowerks/Embedix)

FSMLabs (RTLinux)

Handhelds.org (Familiar, GPE, Opie, Intimate, etc.)

Kernel.org

Koan (KaeilOS, formerly K­Linux)

LinuxPPC

LynuxWorks (BlueCat)

Mandriva

MontaVista

Novell/SuSE

OpenEmbedded

Red Hat

RTAI

Sysgo (ELinOS)

TimeSys

Ubuntu

uClinux

Wind River

Other (please email us)

None (haven't already used embedded Linux)

Question does not apply

0.00% 2.00% 4.00% 6.00% 8.00% 10.00% 12.00% 14.00% 16.00%

13.20%2.80%

6.10%2.20%

0.90%3.30%

14.70%4.10%

1.30%0.80%

1.10%5.50%

2.60%2.80%

4.70%3.20%

2.90%1.10%

5.70%8.50%

1.70%3.20%3.20%

3.00%

7. What sources of Linux have been in your (company's) embedded designs during the past 2 years?

   

DebianDenx (ELDK)

FedoraFreescale (formerly Metroworks/Embedix)

FSMLabs (RTLinux)Handhelds.org (Familiar, GPE, Opie, Intimate, etc.)

Kernel.orgKoan (KaeilOS, formerly K­Linux)

LinuxPPCLynuxWorks (BlueCat)

MandrivaMontaVista

Novell/SuSEOpenEmbedded

Red HatRTAI

Sysgo (ELinOS)TimeSys

UbuntuuClinux

Wind RiverOther (please email us)

Uncertain (haven't decided yet, or not using)Question does not apply

0.00% 2.00% 4.00% 6.00% 8.00% 10.00% 12.00% 14.00% 16.00%

11.60%2.30%

5.10%2.00%

1.20%3.50%

14.00%4.30%

1.80%0.70%0.80%

4.60%2.00%

5.00%2.90%

4.40%4.70%

1.00%7.70%

9.40%2.20%

2.80%3.40%

1.50%

8. What sources of Linux do you expect to be in your (company's) embedded designs during the next 2 years?

   

Cost

Documentation

Technical support

Ease of installation

Completeness of distribution

Development tools

Availability of device drivers

Minimized footprint

Real­time responsiveness

High availability

Availability of free, modifiable source code

Availability of a demo/evaluation version

Reputation of the company/team behind it

Other (please email us)

Question does not apply

0.00% 2.00% 4.00% 6.00% 8.00% 10.00% 12.00% 14.00%

12.60%

9.50%

8.40%

5.10%

6.90%

11.70%

8.70%

5.20%

6.30%

4.20%

12.60%

2.20%

4.80%

0.30%

0.60%

9. Which factor(s) will have the greatest influence on your choice of an embedded Linux source?

   

Purchased from commercial  embedded Linux vendor

Free version from commercial embedded Linux vendor

Bundled with hardware, or as a download  from chip, board, tools, or system supplier

Free download from community  sources (e.g. kernel.org, handhelds.org)

Other (please email us)

Uncertain (haven't decided yet, or not using)

Question does not apply

0.00% 10.00% 20.00% 30.00% 40.00%

21.80%

14.90%

14.70%

36.50%

0.60%

5.60%

5.60%

11. How do you expect to obtain your (company's) embedded Linux software during the next 2 years?

   

Yes

Undecided

No

Question does not apply

0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00%

13. Would you consider paying for Linux development/support services?

   

Existe mercado y desarrollo

Un evento completamente relacionado:● Ninth Real­Time Linux Workshop held in Linz, 

Austria, Nov. 2­3, 2007● El evento fue organizado por: the Real­Time 

Linux Foundation● http://www.linuxdevices.com/articles/AT499108

3271.html ● 28 paper con temas especializados

   

   

Papers: Real­Time Linux Applications

● An Opensource Distributed Platform for the Control of the Puma 560 Manipulator Gianluca Palli and Claudio Melchiorri

● High­gain observers and Kalman filtering in hard real­time Nicolas Boizot, Eric Busvelle, Juergen Sachau

●  Cell/B.E. Based Robot Controller Matthias Fritsch, Ronny Klauck, Marc Tritschler

● Autonomous Robot Running Linux for the Eurobot 2007 Competition Tran Duy Khanh, Zidek Martin, Benda Jan, Kubias Jiri, and Sojka Michal

●  Providing Support for Multimedia­Oriented Applications under Linux Sebastian Schoning

   

● Industrial serial digital PID controller in Rtlinux Juan F. Florez, Jaime O. Diaz

● Simulink Target for Real Time Linux Extension: Hardware Control using a Wrapper for Comedi Klaus Oppermann, Daniel Schleicher and Bernhard G. Zagar

● Simulink Target for Real Time Linux Extension: Remote Control via Command Line and Web Interface Daniel Schleicher, Klaus Oppermann and Bernhard G. Zagar

● A Train Position Monitoring System Based on COTS and Free Software Components Donald Wayne Carr, Ruban Ruelas, Raol Aquino Santos, Apolinar Gonzalez Potes

● COTS and Free Software Components for Safety Critical Systems in Developing Countries Donald Wayne Carr, Ruban Ruelas , Raol Aquino Santos, Apolinar Gonzalez Potes

● Linux as a handheld OS in Lenovo       Zhang Feng and Lin Songtao

● Linux for Safety Critical Systems in IEC 61508 Context       Nicholas Mc Guire

   

Papers : Real­Time Linux Networks● A Client­Server Based Real­Time Control Tool for Complex 

Distributed Systems      Axenie Cristian, Stancu Alexandru, Zanoschi Aurelian, Pascalin Andrei, Perjeru Marius, Maftei Florentina

● UDP for real­time Linux      Platschek Andreas

● Implementation of Model Based Networked Predictive Control System      Ahmet Onat, Emrah Parlakay

● Exploiting the hard realtime features of PROFINET by a realtime capable Linux      Karl­Heinz Krause

● Real­Time CORBA performance on Linux­RT_PREMMPT       Manuel Traut

● The OSADL Fieldbus Framework      Robert Schwebel

   

Papers: Real­Time Linux Concepts● Status overview of real­time      Thomas Gleixner

● LITMUS­RT: A Status Report      James H. Anderson, Bjoern Brandenburg, Aaron Block John Calandrino, Uma Devi, and Hennadiy Leontyev

● RT Patch for Celleb ­ Patch Status and Performance Measurements      Tsutomu OWA

● Realtime capabilities of low­end PowerPC and ARM boards for embedded systems      Alexander Bauer

● Evaluation of Linux rt­preempt for embedded industrial devices for Automation and Power technologies ­ A case study      Morten Mossige, Pradyumna Sampath, Rachana Rao

● Assessment of the Realtime Preemption Patches (RT­Preempt) and their impact on the general purpose performance of the system      Arther Siro, Carsten Emde, Nicholas McGuire

● Is it possible to run a Kernel­based Virtual Machine (kvm) without affecting the real­time capabilities of the host system?      Carsten Emde, Michael Kremer and Jorg Muller

   

Papers: Real­Time Linux Kernel● PaRTiKle OS, a replacement of the core of RTLinux      S. Peiro, M. 

Masmano, I. Ripoll, and A. Crespo

● XM­FIFO: Interdomain Communication for XtratuM      Shuwei Bai, Yiqiao Pu, Kairui She, Qingguo Zhou, Nicholas MC Guire, Lian Li

● XtratuM for PowerPC      Zhou Rui, Wang Baojun, Arthur Siro, Nicholas McGuire, Zhou Qingguo

● Serving non real­time tasks in a reservation environment      Luca Abeni, Claudio Scordino, Giuseppe Lipari, and Luigi Palopoli

● Lightweight RTAI for IA­32      Michael Heimpold and Robert Baumgartl

● The design and implementation of L4FIFO with lock­free      Cheng Guanghui, Nicholas MC Guire, Li Lian, Zhou Qingguo

● Bounding disk I/O response time for real­time systems      V. Brocal, M. Masmano, I. Ripoll, and A. Crespo

● Prototyping User­Oriented Addressing Model in Linux Kernel      Maoke Chen, Taoyu Li, Dong Zhou and Xing Li

   

Ejemplos de productos

● TiVo● Telefonos celulares● GPS's● Televisiones● Dispositivos de red● Y muchos otros ...

http://images.google.com/images?q=embedded+linux+gadgets

   

   

Conclusiones

● Esta fue una breve introducción a los Sistemas de tiempo real con Linux

● Existen cifras que nos invitan a trabajar sobre este campo.

● Existen actividades especializadas y mucha gente involucrada en ellas ( es un sub mundo del software libre)

   

Preguntas ?

● Espero que no tengan muchas, pues yo no se mucho del tema :)

● Apenas voy involucrandome con el, para más referencias o algunas guías, contato en: