DSRT - Um escalonador dinâmico para sistemas de tempo real flexível Resumo ------ Aplicações de tempo real flexível são aquelas que têm prazos estritos a cumprir, mas o não cumprimento destes prazos não causa catástrofes ou situações extremas. Um exemplo de aplicação de tempo real flexível é um software reprodutor de vídeo, que deve exibir um quadro a cada 100ms, por exemplo. Caso a aplicação perca o prazo de 100ms, o quadro pode ser desprezado ou exibido com atraso, sem maiores conseqüências. Para possibilitar a execução deste tipo de aplicação em sistemas de divisão de tempo (time-sharing) como Windows e Linux foi criado o DSRT. Através dele, as aplicações podem definir suas necessidades de processamento e o DSRT se encarrega de escalonar as tarefas de tempo real e as tarefas comuns, de forma a garantir às primeiras o tempo de processamento requisitado, minimizando eventuais perdas de prazo. Será apresentada a arquitetura geral do DSRT, e as particularidades de implementação para o ambiente Linux e Windows, além de exemplos de códigos utilizando as API's desenvolvidas. Gráficos comparativos de desempenho entre aplicativos que utilizam o DSRT e aplicativos que não o utilizam também serão exibidos. Finalmente, será descrito o sistema de monitoração remota, que permite que aplicações distribuídas possam monitorar o processamento de servidores remotos do sistema, a fim de determinar qual o melhor nó para serem executadas. Serão exibidos códigos de exemplo utilizando a API e a interface CORBA do sistema.