Name: | Description: | Size: | Format: | |
---|---|---|---|---|
1.92 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
It can be hard to understand how an operating system - and software in general - reached a certain
output just by looking at said output. A simple approach is to use loggers, or simple print
statements on some specific critical areas, however that is an approach that does not scale very
well in a consistent and manageable way.
The purpose of this thesis is to propose and develop a tool - a Monitoring Tool - capable of capturing
and recording the execution of a given application with minimal intrusion in the context of
real-time embedded systems, namely using a space-qualified version of the RTEMS real-time operating
system, and making that information available for further processing and analysis. Multicore
environments are also considered.
The current state of the art in monitoring and execution tracing is presented, featuring both a
literature review and a discussion of existing tools and frameworks. Using an implementation of
the proposed architecture, the tool was tested in both unicore and multicore configurations in both
sparc and arm architectures, and was able to record execution data of a sample application, with
varying degrees of verbosity.
Nem sempre é fácil perceber como é que um sistema operativo - e software em geral - chegaram a determinado resultado apenas olhando para este. A abordagem normal é usar registos, ou pequenas impressões em locais estratégicos do código, no entanto esta abordagem não é escalável de forma consistente e sustentada. O propósito desta tese é o de propor e desenvolver uma ferramenta - uma ferramenta de monitorização - capaz de capturar e registar a execução de uma dada aplicação com o mínimo de impacto no contexto de sistemas embebidos de tempo-real, nomeadamente usando uma versão do sistema operativo de tempo-real Real-Time Executive for Multiprocessor Systems (RTEMS) qualificada para o espaço, e colocando essa informação à disposição para processamento e análise futura. Ambientes com múltiplos núcleos de processamento são também considerados. O atual estado da arte em monitorização e registo de execução de software é apresentado, destacando tanto exemplos da literatura como ferramentas e frameworks existentes. Usando uma implementação da arquitetura proposta, a ferramenta foi testada em configurações com um ou mais núcleos de processamento em arquiteturas sparc e arm, tendo sido capaz de registar e gravar dados da execução de uma aplicação de exemplo, como vários níveis de detalhe.
Nem sempre é fácil perceber como é que um sistema operativo - e software em geral - chegaram a determinado resultado apenas olhando para este. A abordagem normal é usar registos, ou pequenas impressões em locais estratégicos do código, no entanto esta abordagem não é escalável de forma consistente e sustentada. O propósito desta tese é o de propor e desenvolver uma ferramenta - uma ferramenta de monitorização - capaz de capturar e registar a execução de uma dada aplicação com o mínimo de impacto no contexto de sistemas embebidos de tempo-real, nomeadamente usando uma versão do sistema operativo de tempo-real Real-Time Executive for Multiprocessor Systems (RTEMS) qualificada para o espaço, e colocando essa informação à disposição para processamento e análise futura. Ambientes com múltiplos núcleos de processamento são também considerados. O atual estado da arte em monitorização e registo de execução de software é apresentado, destacando tanto exemplos da literatura como ferramentas e frameworks existentes. Usando uma implementação da arquitetura proposta, a ferramenta foi testada em configurações com um ou mais núcleos de processamento em arquiteturas sparc e arm, tendo sido capaz de registar e gravar dados da execução de uma aplicação de exemplo, como vários níveis de detalhe.
Description
Keywords
Monitoring Multicore. Rtems Sistema Embebido Sistema Operativo Tempo-Real Tracing