Sistemas Operacionais de Tempo Real

20
1 Sistemas em Tempo Real Análise de Sistemas Operacionais de Tempo Real Lila Maria Borges Silva - 268047 Líus Fontenelle Carneiro - 268040 Ricardo Bruno Martins Teixeira - 268051

Transcript of Sistemas Operacionais de Tempo Real

Page 1: Sistemas Operacionais de Tempo Real

1

Sistemas em Tempo Real

Análise de Sistemas Operacionais de Tempo Real

Lila Maria Borges Silva - 268047 Líus Fontenelle Carneiro - 268040 Ricardo Bruno Martins Teixeira - 268051

Page 2: Sistemas Operacionais de Tempo Real

2

Sistemas em Tempo Real

■ Roadmap dos sistemas testados para o projeto;

■ Análise prática dos RTOS: RTLinux; XtratuM; PaRTikle; Linux.

■ Aspectos considerados: Teoria do funcionamento; Ambiente de desenvolvimento de aplicações; Estágio de desenvolvimento do sistema. Documentação e Suporte.

Page 3: Sistemas Operacionais de Tempo Real

3

RTLinux

■ Funcionamento

Page 4: Sistemas Operacionais de Tempo Real

4

RTLinux

■ Estágio de desenvolvimento: Parado; Modificação por terceiros não retornam à base; A licença atrapalha (GPL e Copyright); Falta de interesse desde a compra pela WindRiver.

■ Documentação e Suporte: Bastante documentação descentralizada; Procedimentos de instalação, teste e deploy

desatualizados; Suporte dado pela WindRiver e pela comunidade.

Page 5: Sistemas Operacionais de Tempo Real

5

RTLinux

■ Problemas: Última versão (da WindRiver) possui inconsistências; Ambiente de desenvolvimento legado; Versões funcionais baseam-se em Linux antigo; A versão testada apresentou instabilidades.

Page 6: Sistemas Operacionais de Tempo Real

6

XtratuM

■ Razões da mudança: Indicação por desenvolvedores do DSLab; Projeto novo, funcionamento interessante; Desenvolvimento consistente e documentado; Estabilidade; Fornece a base do ambiente real-time.

Page 7: Sistemas Operacionais de Tempo Real

7

XtratuM

■ Funcionamento: Nano-kernel que gerencia tempo e interrupções; Virtualiza sistemas hóspedes (domains); Suporta vários domains; Flexibilidade para diferentes situações.

Page 8: Sistemas Operacionais de Tempo Real

8

XtratuM

Page 9: Sistemas Operacionais de Tempo Real

9

XtratuM

Page 10: Sistemas Operacionais de Tempo Real

10

XtratuM

Teste: Stand-alone:

Page 11: Sistemas Operacionais de Tempo Real

11

XtratuM

■ Estágio de desenvolvimento: Projeto muito novo; Desenvolvimento ativo, regular e limpo; Faltam vários recursos; Promissor.

■ Documentação e Suporte: Pouca documentação: ainda precisa ser escrita! Sem comunidade ainda envolvida com o projeto; Praticamente sem suporte.

Page 12: Sistemas Operacionais de Tempo Real

12

PaRTikle

■ Razões para escolha: Necessidade de um XtratuM domain; Indicado por desenvolvedores da lista do RTLinux; Desenvolvedores do XtratuM estão envolvidos.

Page 13: Sistemas Operacionais de Tempo Real

13

PaRTikle

■ Funcionamento: Baseado no RTLinux-GPL; Junto ao XtratuM, fornece um RTOS SL/CA; Compatível com padrão POSIX; Pode funcionar como:

➔ Módulo do Linux (série 2.6 suportada);➔ Stand-alone;➔ XtratuM domain.

Page 14: Sistemas Operacionais de Tempo Real

14

PaRTikle

■ Estágio de desenvolvimento: Projeto muito novo; Desenvolvimento ativo, regular e limpo; Faltam vários recursos; Promissor.

■ Documentação e Suporte: Pouca documentação: ainda precisa ser escrita! Sem comunidade ainda envolvida com o projeto; Praticamente sem suporte.

Page 15: Sistemas Operacionais de Tempo Real

15

PaRTikle

■ Problemas: Comunicação inter-domain.

Page 16: Sistemas Operacionais de Tempo Real

16

Linux

"Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding

laser, I have no problem with your using PREEMPT_RT."

-- Linus Torvalds

Page 17: Sistemas Operacionais de Tempo Real

17

Linux

■ Razões para escolha: Problemas com suporte e documentação do XM; Sem recurso de comunicação inter-domain; Possibilidade de usar uma solução muito limpa; Não será necessário reescrever as aplicações.

Page 18: Sistemas Operacionais de Tempo Real

18

Linux

■ Funcionamento do Linux padrão: Condições de preempção:

➔ Execução de código no user-space;➔ Retorno de syscalls ou de interrupções para o user-space;➔ Bloqueio no kernel-space via mutex ou yield explícito.

Soluções disponíveis no próprio Linux:➔ CONFIG_PREEMPT_VOLUNTARY;➔ CONFIG_PREEMPT (preempção não voluntária);

■ Funcionamento do “Linux PREEMPT-RT”: Preempção completa do kernel;

➔ Interrupt Handlers;➔ Spinlocks e mutexes;

Camada de eventos de clock de alta resolução;

Page 19: Sistemas Operacionais de Tempo Real

19

Linux

■ Estágio de desenvolvimento: Projeto razoávelmente maduro; Envolve parte dos desenvolvedores do Linux; Boa integração com o kernel base.

■ Documentação e Suporte: Documentação farta e completa; Suportado por uma comunidade ativa; Licença livre.

Page 20: Sistemas Operacionais de Tempo Real

20

Sistemas em Tempo Real

Fim

Disponível para download em: http://hypercast.info/