BCC722 - Programação de Sistemas em Tempo Real - 2024-2Carga horária da disciplina: 4 horas/aula Professor(es) em 2024-2
ObjetivosCapacitar o discente a desenvolver sistemas com restrições de tempo real.EmentaIntrodução aos sistemas de tempo real, classificação dos sistemas, caracterização;Concorrência; Conceitos básico de sistemas operacionais; Escalonamento para sistemas de tempo real; Objetos de sincronização e seção crítica; Comunicação entre tarefas; Comunicação de tempo real; Métodos formais para tempo real: modelagem; linguagens e Verificação. Estudo de caso de sistemas operacionais de tempo real; Desenvolvimento de sistemas de tempo real; Conteúdo Programático- Introdução aos Sistemas de Tempo-Real.- Definições - Classificações - Sistemas Concorrentes. - Conceito - Problemas - Conceitos de sistemas operacionais. - Processos. - Tarefas - Escalonamento - Algoritmos para escalonamento em tempo real. - Objetos de sincronização e seção crítica. - Sincronização entre tarefas: espera-ocupada, semáforos - Bloqueio perpétuo (´deadlock´), conceitos de justiça (´fairness´) e variedade (´liveness´) - Comunicação entre tarefas. - Memória compartilhada. - Troca de mensagens - Comunicação de Tempo-real. - Arquitetura de comunicação de tempo-real - Métodos de acesso: Token-bus, FDDI, DQDB, outros - Protocolos de tempo-real - Métodos formais para tempo real. - Modelagem. - Linguagens - Verificação - Sistemas operacionais de tempo real. - Tarefas periódicas e aperiódicas (esporádicas). - Parâmetros temporais associados às tarefas: tempo de chegada, tempo de pronto, tempo de execução, período, prazo (´deadline´) - Funções dos sistemas operacionais de tempo-real: criação/morte de tarefas, funções de temporização, sincronização e comunicação, outras funções. - Arquitetura do núcleo de tempo-real: estado das tarefas, blocos de controle de tarefas (BCT), fila(s) de pronto, de espera e de temporização, tratamento de interrupção/exceção. - Políticas de escalonamento (´scheduling´): escalonadores cíclicos, prioridade com preempção, protocolo de herança de prioridade, prazo mais cedo (´earliest deadline´), menor folga (´least laxity´). - Medidas de desempenho: tempo de preempção, tempo de latência de interrupção, tempo de operação sobre semáforos, tempo de deteção de inversão de prioridade, tempo de latência de despacho (´dispatching´) de tarefa. - Tendências associadas aos sistemas operacionais de tempo- real: UNIX de tempo-real, padrão POSIX (IEEE 1003.4), conceito de threads, arquiteturas baseadas em microkernel, sistemas operacionais de tempo-real para multiprocessamento. - Desenvolvimento de sistemas de tempo real: API uC/OS. Bibliografia- Programação Concorrente Em Ambiente Windows - Uma Visão de Automação - Seixas Filho, Constantino; Szuster, Marcelo.- Real-Time Concepts for Embedded Systems - Qing Li. Bibliografia complementar- Real-Time Systems and Programming Languages (Fourth Edition) Ada 2005, Real-Time Java and C/Real-Time POSIX - Alan Burns and Andy Wellings.- uC/OS-III, The Real-Time Kernel - Jean J Labrosse. - Operating System Concepts - Abraham Silberschatz, Greg Gagne, Peter B Galvin. |
Departamento de Computação | ICEB | Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro | CEP 35400-000 | Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692 | decom@ufop.edu.br