Esta página será desativada em breve

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$ 10,00 (Dez 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.


Livro em papel (capa comum, ISBN: 9798681424635)

Livro em papel somente na Amazon dos Estados Unidos  



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


Canal no YOUTUBE com várias playlists


Curso Udemy: Programação Concorrente com Pthreads e Linguagem C



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

Sugestões de trabalhos e programação


Qual o propósito dos trabalhos na área de tempo real ?

Sistemas de Tempo Real como área de pesquisa



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

                                   QUESTÃO-9       


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

                                   QUESTÕES-14-15       QUESTÃO-16       


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   

                                 QUESTÕES-1-2-3       QUESTÃO-4       QUESTÃO-5

       

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

                                 QUESTÃO-8       QUESTÕES-9-10       

       

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

                    EXTRA-2-Executivo Cíclico versus Laço c/Tratadores de Interrupção

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

                    QUESTÃO-13      QUESTÕES-14-15-16-17-18-19-20-21

                    QUESTÕES-X1-X2-X3      QUESTÃO-X4    QUESTÃO-X5

       

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-10-11-12         QUESTÃO-15

                    QUESTÕES-16-17-18         QUESTÕES-19-20         QUESTÕES-21-22              QUESTÃO-23

      

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ÃO-3        QUESTÕES-4-5        QUESTÃO-6

                    QUESTÕES-11-12        QUESTÕES-13-14        QUESTÕES-16-17

  

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        QUESTÃO-6       QUESTÃO-10       


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      EXTRA-3-Mutex-Linux

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

    Curso Udemy: Programação Concorrente com Pthreads e Linguagem C


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      QUESTÃO-4      QUESTÃO-5      

       

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-1      QUESTÃO-2      QUESTÃO-3      QUESTÃO-6-7      QUESTÃO-9      QUESTÕES-10-11     QUESTÃO-12

    Curso Udemy: Programação Concorrente com Pthreads e Linguagem C


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

                   QUESTÕES-9-10       

       

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       QUESTÃO-11       QUESTÃO-13      


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

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

    PDF     PPT       VÍDEO: Estimação do Tempo de Resposta usando Medições 

                 QUESTÕES-1-2      


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

                   QUESTÃO-5       


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