Mantis - Sistema Operacional
Por: Marcellino Callegari • 1/6/2018 • Projeto de pesquisa • 1.171 Palavras (5 Páginas) • 140 Visualizações
Simplifique a programação rede de sensores para novados
* aproveitar as propriedades de portabilidade uma linguagem de programação padrão, neste caso a linguagem de programação C.
* O MOS permite que o mesmo código de aplicativo seja executado em várias plataformas, desde PCs a PDAs a diferentes plataformas de microssensores.
* o código do aplicativo pode ser testado primeiro em um nó sensor virtual
Intercale tarefas complexas com tarefas sensíveis ao tempo
* Os nós sensores são chamados para executar tarefas cada vez mais complexas, a probabilidade aumenta de que uma tarefa de longa duração em um sistema de execução até conclusão possa bloquear o processamento pelo consumidor de pilha de rede, resultando em pacotes perdidos devido ao estouro de buffer. Essas tarefas podem incluir agregação por meio de algoritmos de compactação padrão, criptografia / descriptografia padrão e técnicas de processamento de sinal padrão. A preempção multithreading no MANTIS (MOS) permite que nós sensores nativamente intercalem tarefas complexas com tarefas sensíveis ao tempo.
Adapte-se a restrição de recursos
* Nós sensores são dispositivos com pouquíssima memória, processador lento para economizar energia, suporte a um conjunto de periféricos limitados. O desafio do Mantis Os, ou qualquer SO desenvolvido para WSN é encaixar-se e gerenciar o uso limitados desses recursos limitados.
Arquitetura
A figura mostra a arquitetura do Mantis:
* MANTIS hardware nymph
* estrutura os nucleo, COMM, DEV
* Sistemas de API’s
* Pilha de rede, Servidor de comunicaçao e Threads (nível de usuaŕio)
MANTIS HARDWARE
O Projeto de de hardware nymph’s MANTIS foi inspirado na arquitetura Berkeley MICA e MICA2 Mote.
Foi incorporado um microcontrolador (MCU) Atmel Atmega128 (L) de baixa potência, sensor analógico e portas digitais, um Chipcon de baixa potência Rádio de RF multicanal CC1000, EEPROM, sensor ADC de energia e portas seriais em uma placa de circuito impresso (PCB) de camada quadrada de 3,67 ∗ 3,3 cm.
o projeto da placa única elimina a necessidade de uma placa de sensor separada ou de uma placa de programação separada, o que reduz o custo.
Kernel e Escalonador
Assim funciona o UNIX: Cada processo tem uma prioridade que varia dinâmicamente. Processos de mais alta prioridade tiram outros processos do CPU mesmo quando o processo não terminou o seu quantum.
Round-robin (RR) é um dos algoritmos mais simples de agendamento de processos em um sistema operacional, que atribui frações de tempo para cada processo em partes iguais e de forma circular, manipulando todos os processos sem prioridades. Escalonamento Round-Robin é simples e fácil de implementar
O intervalo de tempo é configurável e está atualmente definido para cerca de 10 ms.
Aplicações e APIS
Requer uma curva de aprendizado bastante superficial para programadores em C. A experiência empírica inicial com o MOS sugere que os desenvolvedores de aplicativos podem rapidamente prototipar novos aplicativos nesse ambiente.
MANTIS provides a comprehensive set of System APIs for I/O and system interaction.
Pilha de Redes
Um novo protocolo de roteamento pode ser testado em nós de sensores virtuais em PCs Linux antes da implantação nos WSN.
A pilha possui três camadas, a camada de rede, a camada de transporte e a camada de aplicação.
Camada de Comunicação
O suporte ao protocolo MAC é realizado pela camada de comunicação, também chamada de camada “comm”, localizada em uma camada inferior do SO, distinta e abaixo da pilha de rede no nível do usuário.
A camada de comunicação MOS fornece uma interface unificada para os drivers de dispositivos de comunicação (para interfaces como dispositivos seriais, USB ou de rádio). A camada comm também gerencia as funções de buffering e sincronização de pacotes. As threads de rede ou aplicatição interage com dispositivos de comunicação por meio de quatro funções: com send, com recv, com mode e com ioctl.
A memória para pacotes recebidos é, portanto, gerenciada pela própria camada de comunicação,
mode – liga e desliga um nó, ioctl – chama um nó especifico.
Device Drivers
Drives de comunicação síncrona de entrada e saída. Sensores, armazenamento externo
Drivers para comunicação assíncrona, por ex. rádio ou serial, estão alojados na camada de comunicação.
Resumo
Juntos, o tamanho do código do kernel, do escalonador e da pilha de rede ocupa menos de 500 bytes de RAM e cerca de 14 KB de flash. Isso permite espaço suficiente para que vários threds de aplicativos sejam executados nos 4 KB de RAM do ATMega128, bem como armazenamento suficiente nos 128 KB de armazenamento flash do ATMega128.
...