Trabalhos para 2015/2
T1 - Trabalho do controlador de sistemas contínuos: sequencial
em arquivo, através de buffer duplo.
- Período do controlador de temperatura deve ser 90ms;
T2 - Trabalho de tempo real
Partindo do programa controlador desenvolvido para o trabalho T1,meça o tempo de resposta do laço principal.
Ao final do laço, mas antes de calcular o novo t de acordar, obtenha a hora atual t1. Com "t1 - t" temos o tempo de resposta desta execução. Cuidado com a divisão de segundos e nanosegundos.
Armazene esta informação em um array e depois de algum tempo apresente um histograma destas medições. Principalmente, identifique o pior caso, isto é, o maior tempo de resposta observado.
Faça a experiência com o computador com baixa atividade e também com o computador fazendo downloads de servidores com grande capacidade. Compare os histogramas obtidos para os dois casos de carga no computador.
T3 - Trabalho do controlador de sistemas contínuos: concorrente
T4 – Trabalho da Simulação Concorrente
Implemente uma simulação usando programação concorrente, onde os elementos ativos (pessoas, carros, máquinas, etc) são representados por threads, e as contenções entre eles (elevador, cruzamento, peças, etc) são representados por monitores acessados pelas threads.
A simulação será construida como um programa concorrente em C usando a biblioteca das pthreads. Os elementos ativos são representados por threads, e a descrição do ambiente onde ocorre a interação entre eles deve ser feita através de variáveis globais compartilhadas, cujo acesso é regulado por monitores. A evolução do estado do sistema ocorre conforme a dinâmica do sistema simulado. Sleep pode ser usado para simular ações demoradas.
Exemplos de sistemas que podem ser simulados: tráfego urbano, tráfego aéreo, tráfego ferroviário, manufatura, bolsa de valores, sistemas militares, sistemas ecológicos, etc.
Cada grupo deve descrever sua proposta e obter aprovação para ela antes de implementar. Cada grupo deve implementar uma simulação diferente.
A simulação será realizada por um programa único composto por muitas threads. O uso de comunicação via UDP é opcional, não será cobrado. Mas pode ser usado caso o grupo julgue conveniente para a simulação em questão.