Fundamentos dos Sistemas de Tempo Real: 2a Edição

Rômulo Silva de Oliveira

    Segunda edição, com 425 páginas, setembro de 2020.

www.amazon.com.br

Livro digital (eBook Kindle)         R$ 20,00 (Reais)

Pode ser lido em celular, tablet, notebook, desktop, etc. usando o software de leitura gratuíto do Kindle.

Não precisa o leitor físico Kindle.

 Existe opção do livro em papel (Capa Comum, ISBN: 9798681424635)


(Os slides da Primeira Edição ainda estão aqui)


Canal no YOUTUBE com várias playlists



Fundamentos dos Sistemas de Tempo Real descreve aspectos teóricos e práticos da área, tratando de tópicos normalmente incluídos em cursos de Engenharia de Computação, Engenharia de Controle e Automação, Ciência da Computação e vários cursos de Tecnologia em Automação. Também é interessante para profissionais que trabalham com o desenvolvimento de software para Sistemas Embutidos/Embarcados (Embedded Systems) e Internet das Coisas onde aparecem questões de tempo real. Dispositivos de controle e automação em geral estão nesta categoria. Além dos sistemas de tempo real, o livro também inclui material sobre sistemas operacionais e programação concorrente (multitarefa).

O livro esclarece aspectos dos sistemas de tempo real, conceitos, o que pode e o que não pode ser feito, fornecendo uma base conceitual sólida e ponteiros sobre onde buscar aprofundamento em questões específicas. A ideia é fornecer ao leitor uma estrutura conceitual sólida e um entendimento do tema, incluindo as limitações da área, de tal forma que ele possa lidar com projetos reais sabendo o que pode e o que não pode ser feito.


Sobre o autor

Graduado em Engenharia Elétrica pela PUCRS (1984), mestre em Ciências da Computação pela UFRGS (1987) e doutor em Engenharia Elétrica pela UFSC (1997). Professor titular do Departamento de Automação e Sistemas da UFSC. Orienta mestrado e doutorado na Pós-Graduação em Engenharia de Automação e Sistemas da UFSC (conceito 6 da CAPES). Possui bolsa de produtividade em pesquisa do CNPq desde 2003. Desenvolve pesquisas e projetos na área de sistemas de tempo real desde 1993, sendo co-autor de mais de 100 artigos científicos na área, incluindo artigos publicados no IEEE Real-Time Systems Symposium e no Real-Time Systems Journal.


 

Canal no YOUTUBE com várias playlists

Prefácio

Sumário

Índice Remissivo

Respostas para algumas questões do livro

Sugestões de trabalhos



Slides e Vídeos por capítulo do livro


1. Caracterização dos Sistemas de Tempo Real

O que é um sistema de tempo real ?

    PDF        PPT        VÍDEO: Caracterização dos Sistemas de Tempo Real


2. Conceitos Básicos dos Sistemas de Tempo Real

Quais são os principais conceitos dos sistemas de tempo real ?

    PDF        PPT        VÍDEO: Conceitos Básicos dos Sistemas de Tempo Real


3. O Tempo Real

O que é o tempo real ?

    PDF       PPT       VÍDEO-1: O que é o Tempo Real ?  

                                 VÍDEO-2: UTC - Universal Time Coordinated

                                 VÍDEO-3: Relógios em Computadores   


4. Variabilidade dos Tempos de Execução

Por que o tempo de execução de uma tarefa varia ?

    PDF       PPT       VÍDEO-1: Variabilidade Causada pelo Software 

                                 VÍDEO-2: Variabilidade Causada pelo Hardware


5. Estimação do WCET usando Análise Estática

Quais são as técnicas para estimar analiticamente o tempo de execução no pior caso ?

    PDF        VÍDEO


6. Estimação do WCET usando Medições

Quais são as técnicas para estimar com medições o tempo de execução no pior caso ?

    PDF        VÍDEO


7. Implementação de Tarefas em Sistemas Pequenos

Como tarefas de tempo real podem ser implementadas em um sistema simples?

    PDF       PPT       VÍDEO-1: Executivo Cíclico  

                                 VÍDEO-2: Laço Principal com Tratadores de Interrupções  

                                 VÍDEO-3: Microkernel

                    EXTRA-1-Entrada e saída síncrona e assíncrona

                    QUESTÕES-1-2-3        QUESTÕES-4-a-7        QUESTÕES-14-15-16-17-18-19-20-21

       


8. Implementação de Tarefas em Kernel Completo

Como tarefas são implementadas em sistemas operacionais tradicionais ?

    PDF       PPT       VÍDEO-1: O Sistema Operacional Tradicional  

                                 VÍDEO-2: Threads e Gerência de Memória   

                                 VÍDEO-3: Paginação

                    QUESTÕES-1-2-3               QUESTÕES-4-5-6

                    QUESTÕES-16-17-18         QUESTÕES-19-20

      


9. Escalonamento em Sistemas de Propósito Geral

Como escalonar as tarefas em um sistema de propósito geral ?

    PDF       PPT       VÍDEO: Escalonamento em Sistemas de Propósito Geral

                    QUESTÕES-1-2        QUESTÕES-4-5        QUESTÕES-11-12

      

 

10. Escalonamento em Sistemas de Tempo Real

Como escalonar as tarefas em um sistema de tempo real ?

    PDF       PPT       VÍDEO-1: Prioridades Fixas e Variáveis 

                                 VÍDEO-2: Algumas Questões Práticas

                    QUESTÃO-3 


11. Sincronização e Comunicação entre Tarefas

Como coordenar a ação das tarefas da aplicação para que colaborem entre si ?

    PDF       PPT       VÍDEO-1: Programação Concorrente  

                                 VÍDEO-2: Comunicação usando Mensagens  

                                 VÍDEO-3: Variáveis Compartilhadas  

                                 VÍDEO-4: Mecanismos de Sincronização de Baixo Nível   

                                 VÍDEO-5: Mutex

                    EXTRA-1-Pthreads       EXTRA-2-Mutex

                    QUESTÕES-1-2-3-4-5-6-7        QUESTÃO-11      


12. Seções Críticas em Sistemas de Tempo Real

É possível melhorar o mutex para uso em sistemas de tempo real ?

    PDF     PPT      VÍDEO-1: Descrição do Problema  

                              VÍDEO-2: Desliga Preempção e Herança de Prioridade   

                              VÍDEO-3: Priority Ceiling (Prioridade Teto)   

                              VÍDEO-4: Immediate Priority Ceiling e Stack-Based Protocol (EDF)       

                    QUESTÃO-7        QUESTÃO-8      

       

13. Mecanismos de Sincronização com Variáveis Compartilhadas

Que outros problemas de sincronização existem com variáveis compartilhadas ?

    PDF     PPT      VÍDEO-1: Problemas Clássicos de Sincronização   

                              VÍDEO-2: Semáforos    

                              VÍDEO-3: Monitores   

                              VÍDEO-4: Monitores com a Linguagem C e a Biblioteca Pthreads   

                              VÍDEO-5: Exemplo com Monitores: Buffer Duplo

               QUESTÃO-2        QUESTÃO-3       


14. Variabilidade dos Tempos de Resposta

Por que o tempo de resposta de uma tarefa varia ?

    PDF       PPT       VÍDEO: Variabilidade dos Tempos de Resposta


15. Estimação do Tempo de Resposta usando Análise

Como determinar o tempo de resposta máximo através de análise matemática ?

    PDF       PPT       VÍDEO-1: Fundamentos da Análise do Tempo de Resposta  

                                 VÍDEO-2: Impacto da Atribuição e Prioridades   

                                 VÍDEO-3: Estendendo o Modelo

                   QUESTÕES-8-9-10       


16. Estimação do Tempo de Resposta usando Medições

Como estimar com medições o tempo de resposta no pior caso ?

    PDF        VÍDEO


17. Diferentes Abordagens

Como são verificados os requisitos temporais ?

    PDF       PPT       VÍDEO-1: Classificação das Abordagens pela Academia  

                                 VÍDEO-2: Classificação das Abordagens na Prática


18. Sistemas Operacionais de Tempo Real

O que é um sistema operacional de tempo real ?

    PDF       PPT       VÍDEO-1: Caracterização de um Sistema Operacional de Tempo real  

                                 VÍDEO-2: Diferenças Construtivas   

                                 VÍDEO-3: Exemplos e Considerações Finais

                    EXTRA-1-Tarefa periódica      EXTRA-2-Escolha de SOTR


19. Tópicos Adicionais

Que outros temas relativos a sistemas de tempo real podem ser estudados ?

    PDF    PPT    VÍDEO-1: Servidores de Tarefas Aperiódicas    

                           VÍDEO-2: Multiprocessadores  

                           VÍDEO-3: Protocolos de Comunicação  

                           VÍDEO-4: Protocolos para Sincronização de Relógios  

                           VÍDEO-5: Computação Imprecisa   

                           VÍDEO-6: Engenharia de Software