Sistemas Operacionais de Nós Sensores

4
1 Sistemas Operacionais de Nós Sensores Lucas Schiolin Silveira, Mateus Henrique Sabino e Victor Debone Mattos. UNESP - Universidade Estadual Paulista “Júlio de Mesquita Filho” Rio Claro, São Paulo, Brasil Resumo – Este trabalho busca explicar o que são sistemas operacionais de nós sensores, como funcionam quais são seus requisitos. Para isso, também é apresentada uma breve descrição sobre o que são redes de nós sensores e um breve estudo sobre o sistema operacional TinyOS. 1. Introdução Com o avanço na área de microprocessadores, comunicação sem fio e novos materiais de sensoriamento houve um estímulo para o desenvolvimento de sensores "inteligentes" para monitoramento em várias áreas da ciência, que envolvem processos físicos, químicos, biológicos, etc. As redes de nós sensores são o resultado desse avanço, mantendo o conceito de monitoramento com base em nós com um ou mais tipos de sensores, tais como acústico, infravermelho, temperatura, video- câmera, calor, pressão e sísmico que coletam e enviam informações de nó para nó até alcançar uma estação base. 2. Redes de Nós Sensores Redes de nós sensores sem fio (RSSF) consistem de sensores autônomos (nodos sensores) distribuídos espacialmente para monitorar condições físicas ou ambientais e passar informações de forma cooperativa por meio de uma rede sem fio até uma estação base. De forma mais específica uma RSSF é classificada como uma rede MANET (Mobile Ad-Hoc Network) na qual não se depende de uma infra estrutura pré-definida, não há uma topologia e nem centralização. O termo Ad-Hoc vem do latim e significa “para esta finalidade”, portanto as RSSFs são construídas para um determinado objetivo [5]. Figura 1 - Ilustração de uma rede de nós sensores [5]. 2.1 Áreas de Aplicação de Redes de Sensores As RSSFs podem ser empregadas em áreas como: Controle: Para prover algum mecanismo de controle, seja em um ambiente industrial ou não [4]. Ambiente: Para monitorar variáveis ambientais em locais internos como prédios e residências, e locais externos como florestas, desertos, oceanos, vulcões, etc [4]. Tráfego: Para monitorar tráfego de veículos em rodovias, malhas viárias urbanas, etc [4]. Segurança: Para prover segurança em centros comerciais, estacionamentos, etc [4]. Medicina/Biologia: Para monitorar o funcionamento de órgãos como o coração, detectar a presença de substâncias que indicam a presença ou surgimento

description

Este trabalho busca explicar o que são sistemas operacionais de nós sensores, como funcionam quais são seus requisitos. Para isso, também é apresentada uma breve descrição sobre o que são redes de nós sensores e um breve estudo sobre o sistema operacional TinyOS.

Transcript of Sistemas Operacionais de Nós Sensores

Page 1: Sistemas Operacionais de Nós Sensores

1

Sistemas Operacionais de Nós Sensores

Lucas Schiolin Silveira, Mateus Henrique Sabino e Victor Debone Mattos.

UNESP - Universidade Estadual Paulista “Júlio de Mesquita Filho”

Rio Claro, São Paulo, Brasil

Resumo – Este trabalho busca explicar o que são sistemas operacionais de nós sensores, como funcionam quais são seus requisitos. Para isso, também é apresentada uma breve descrição sobre o que são redes de nós sensores e um breve estudo sobre o sistema operacional TinyOS. 1. Introdução

Com o avanço na área de microprocessadores,

comunicação sem fio e novos materiais de sensoriamento houve um estímulo para o desenvolvimento de sensores "inteligentes" para monitoramento em várias áreas da ciência, que envolvem processos físicos, químicos, biológicos, etc.

As redes de nós sensores são o resultado desse avanço, mantendo o conceito de monitoramento com base em nós com um ou mais tipos de sensores, tais como acústico, infravermelho, temperatura, video-câmera, calor, pressão e sísmico que coletam e enviam informações de nó para nó até alcançar uma estação base.

2. Redes de Nós Sensores Redes de nós sensores sem fio (RSSF) consistem de sensores autônomos (nodos sensores) distribuídos espacialmente para monitorar condições físicas ou ambientais e passar informações de forma cooperativa por meio de uma rede sem fio até uma estação base. De forma mais específica uma RSSF é classificada como uma rede MANET (Mobile Ad-Hoc Network) na qual não se depende de uma infra estrutura pré-definida, não há uma topologia e nem centralização. O termo Ad-Hoc vem do latim e significa “para esta finalidade”,

portanto as RSSFs são construídas para um determinado objetivo [5].

Figura 1 - Ilustração de uma rede de nós sensores [5].

2.1 Áreas de Aplicação de Redes de Sensores

As RSSFs podem ser empregadas em áreas como: ● Controle: Para prover algum mecanismo de

controle, seja em um ambiente industrial ou não [4]. ● Ambiente: Para monitorar variáveis ambientais em

locais internos como prédios e residências, e locais externos como florestas, desertos, oceanos, vulcões, etc [4].

● Tráfego: Para monitorar tráfego de veículos em

rodovias, malhas viárias urbanas, etc [4]. ● Segurança: Para prover segurança em centros

comerciais, estacionamentos, etc [4]. ● Medicina/Biologia: Para monitorar o funcionamento

de órgãos como o coração, detectar a presença de substâncias que indicam a presença ou surgimento

Page 2: Sistemas Operacionais de Nós Sensores

2

de um problema biológico seja no corpo humano ou animal [4].

● Militar: Para detectar movimentos inimigos,

explosões, a presença de material perigoso como gás venenoso ou radiação, etc. Neste tipo de aplicação, os requisitos de segurança são fundamentais [4].

2.2 Tarefas de uma Rede de Sensores

De acordo com a aplicação os objetivos de uma RSSFs podem divergir, mas algumas atividades podem ser encontradas de forma geral neste tipo de rede [4]: ● Determinar o valor de algum parâmetro num dado

local. ● Detectar a ocorrência de eventos de interesse e

estimar valores de parâmetros em função do evento detectado.

● Classificar um objeto detectado. ● Rastrear um objeto. 2.3 Características das RSSFs As redes de nós sensores sem fio apresentam características particulares conforme a área em que será empregada resultando em questões específicas que necessitam ser resolvidas, tais como [4]: ● Endereçamento dos sensores ou nodos ● Agregação dos dados ● Mobilidade dos sensores ● Restrições dos dados coletados ● Quantidade de sensores ● Limitação da energia disponível ● Auto organização da rede ● Tarefas colaborativas ● Capacidade de responder a consultas 3. Sistema Operacional de Nós Sensores Nas redes de nós sensores, cada nó sensor é um verdadeiro computador, com processador e memória. Devido a extremas limitações envolvendo consumo de energia e disponibilidade de memória, o sistema operacional é pequeno e simples. Normalmente, funciona dirigido à eventos externos ou obtendo medidas periodicamente com base em um

relógio interno [1]. O sistema operacional deve fornecer serviços tradicionais, como abstração de hardware, gerência de processos, serviços de temporização e gerência de memória [2]. Assim como em sistemas embarcados, os programas são armazenados antecipadamente, tornando o projeto muito mais simples [1]. Entretanto, os sistemas operacionais de computação embarcada exigem suporte de hardware à proteção de memória e embora sejam adequados para o uso em aplicações embarcadas complexas, esses requisitos tornam-nos inadequados para o uso em redes de nós sensores sem fios [2].

Entre os sistemas operacionais desenvolvidos especificamente para essas redes estão o MANTIS OS, o SOS e o TinyOS, que será abordado mais adiante. 3.1 Requisitos Específicos

A seguir, são listados os principais requisitos de um sistema operacional de nós sensores. Gerência de consumo de energia nos nós sensores O sistema operacional deve fornecer mecanismo de gerência de energia às aplicações, além de utilizar os recursos de hardware de maneira eficiente, consumindo o mínimo de energia necessário, uma vez que o consumo de energia dos nós sensores determina o tempo de vida da rede [2]. Fornecer mecanismos para reprogramação Como os nós sensores podem estar localizados em regiões de difícil acesso, o sistema operacional deve prover algum tipo de mecanismo que permita a reprogramação em campo, total ou parcial, das aplicações já instaladas [2]. Abstrair o hardware heterogênio de maneira uniforme O hardware das redes de nós sensores podem ser amplamente heterogênios, de tal forma as aplicações desenvolvidas dificilmente garantem portabilidade para diversas plataformas. Além disso, diferentes sensores apresentam diferentes interfaces de acesso e características de parâmetros operacionais [2]. Fornecer uma pilha de protocolos de comunicação configurável

Page 3: Sistemas Operacionais de Nós Sensores

3

Dadas as necessidades específicas de

comunicação de diferentes aplicações e o requisito de que o hardware de comunicação seja amplamente configurável, o sistema operacional deve fornecer um mecanismo de configuração dos protocolos da pilha de comunicações à ser utilizada na rede, uma vez que é nesta camada de rede que encontram-se as maiores oportunidades de impacto no desempenho e consumo de energia [2].

4. TinyOS

Como exemplo, descrevemos um pouco sobre o sistema operacional para nós sensores, TinyOS.

4.1 Definição TinyOS é um sistema operacional open-source

desenvolvido para redes de nós sensores utilizado em inú. Com uma utilização mínima de energia e uma eficiência nos processos do sistema ele já contém abstrações nativas como criação de logs rotativos a partir de memória Flash, que naturalmente é dividida em blocos e setores, roteamento multihop e disseminação de dados tolerante a falhas. [3]

4.2 Funcionamento

Figura 2 – Estrutura do TinyOS.

O TinyOS precisa trabalhar com limites de memória, processamento e energia, para isso ele abre mãos das regalias que outros sistemas operacionais podem ter. Ele não conta com um Kernel, fazendo a manipulação de hardware diretamente, não tem um gerenciador de processos mantendo somente um

processo funcionando on the fly e a memória é trabalhada sem virtualizações ou alocações dinâmicas.

O seu escalonador de processos é FIFO e funciona com dois níveis, o nível de tarefas e o de eventos. As tarefas são travadas e nenhuma tarefa pode antecipar a outra, os eventos tem prioridade maior que as tarefas e podem antecipar um a outro.

Em [6] é observado que, como não há preempção entre as tarefas, o código executado por elas deve ser curto, de forma a evitar que uma tarefa postergue indefinidamente a execução de outras tarefas. Além disso, para garantir que uma tarefa sempre termine, ela não pode bloquear recursos nem entrar em espera ocupada.

Ainda em [6], segundo [Gay et al, 2003], é dito que o modelo de concorrência simples do TinyOS permite um alto nível de concorrência com pouco overhead, em contraste com um modelo de concorrência baseado em threads no qual a pilha de threads consomem memória enquanto ficam bloqueadas disputando recursos do sistema. Como em qualquer sistema de concorrência, concorrência e não-determinismo pode ser a fonte de bugs complexos, incluindo deadlocks e condição de corrida.

E quando não existem tarefas ou eventos para serem processados o escalonador desliga o hardware para economizar energia. 4.3 Linguagem

A linguagem utilizada no TinyOS é o nesC, uma extenção da linguagem C, criada para dar suporte a orientação a eventos. Com a necessidade de utilização baixa de memória e pouco processamento os programas em nesC são montados a partir de componentes que definem interfaces já programadas para comunicação entre outros componentes.

5. Conclusão As redes de nós sensores sem fio são relativamente novas e demonstram sua capacidade de serem aplicadas em diversas situações, a fim de satisfazer uma necessidade específica. Por isso, essas redes tendem a serem heterogênias, e por conseqüência as aplicações desenvolvidas também são. Ou seja, uma aplicação desenvolvida para uma RSSF dificilmente será portável para outra RSSF. Os sistemas operacionais de nós sensores, apesar de seguirem alguns conceitos básicos de sistemas operacionais comuns, possuem requisitos

Page 4: Sistemas Operacionais de Nós Sensores

4

bastante específicos, como baixo consumo de energia e programas extremamente reduzidos. Isso se deve a capacidade limitada de recursos dos nós, que devem ser assim para atingir os objetivos buscados pelas RSSF. Por causa de suas características, como o modelo de programação orientado a componentes e eventos, observou-se que o sistema operacional TinyOS é o mais adequado. No geral, acreditamos que RSSF é um ponto de pesquisa muito interessante, principalmente em se tratando de torná-las mais homogêneas. 6. Referências [1] TANENBAUM, Andrew S. “Sistemas operacionais modernos”: tradução Ronaldo A.L. Gonçalves. Luís A. Consularo, Luciana do Amaral Teixeira; revisão técnica Raphael Y. de Camargo. - 3. ed. - São Paulo : Pearson Prentice Hall. 2009.

[2] WANNER, Lucas Francisco. FRÖLICH, Antonio Augusto. “Suporte de Sistema Operacional para Redes de Sensores”. In: Anais do XXVIII Congresso da SBC, WSO – Workshop de Sistemas Operacionais. Belém do Pará, Brasil, Julho 2008, pp. 123-134. [3] What is TinyOS?. Disponível em: http://tinyos.stanford.edu/tinyos-wiki/index.php/FAQ#What_is_TinyOS.3F. Acesso em 26 de agosto de 2013.

[4] LOUREIRO, Antonio A. F., et al. Redes de Sensores Sem Fio. Departamento de Ciência da Computação, UFMG. [5] Redes de Sensores Sem Fio. Disponível em: http://www.gta.ufrj.br/grad/12_1/rssf/index.html. Acesso em 26 de agosto de 2013. [6] LEMOS, Marcus Vinícius de Sousa. LEAL, Líliam Barroso. Relatório sobre o Sistema Operacional TinyOS e a Linguagem NesC. Universidade de Fortaleza (UNIFOR).