378 resultados para ARM9 Linux


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho trata da técnica de validação experimental de protocolos de comunicação confiável, através da injeção de falhas de comunicação. São estudadas inicialmente as técnicas de injeção de falhas, por hardware, software e simulação, e então são aprofundados os conceitos de injeção de falhas de comunicação, modelos de falha e especificação de experimentos de injeção de falhas. Em um segundo momento, são estudadas as formas de implementação de injetores de falhas em software, em suas duas formas mais comuns: no nível da aplicação e no nível do sistema operacional. São comentados os impactos da implementação de injetores no código da aplicação, por processos concorrentes à aplicação, em código utilizado pela aplicação e no meta-nível. Por fim, são estudados também que influências sofre a implementação de um injetor de falhas em um sistema operacional, e mais especificamente a de injetores de falhas de comunicação. O objetivo específico deste trabalho é implementar um injetor de falhas de comunicação bastante abrangente e flexível, situado dentro do núcleo do Sistema Operacional Linux. Para viabilizar esta implementação foi estudada também a arquitetura do Sistema Operacional Linux, sua decomposição em subsistemas e a interação entre estes. Foram estudadas também as várias técnicas de programação e mecanismos que o Sistema Operacional Linux fornece aos seus subsistemas. Estando completas a revisão bibliográfica a respeito de injeção de falhas e o estudo do código do Sistema Operacional Linux, são apresentadas a proposta e a implementação da ferramenta ComFIRM—Communication Fault Injection through Operating System Resource Modification, suas características e sua inserção dentro do núcleo do Sistema Operacional Linux. Finalizando este trabalho, são apresentados uma pequena série de testes de funcionamento e experimentos realizados com a ferramenta ComFIRM, visando demonstrar a correção de seu funcionamento, o cumprimento de seus objetivos e também sua praticidade e flexibilidade de uso. São apresentadas as conclusões deste trabalho, propostas de melhorias à ferramenta apresentada, bem como possibilidades de trabalhos futuros.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A área de Detecção de Intrusão, apesar de muito pesquisada, não responde a alguns problemas reais como níveis de ataques, dim ensão e complexidade de redes, tolerância a falhas, autenticação e privacidade, interoperabilidade e padronização. Uma pesquisa no Instituto de Informática da UFRGS, mais especificamente no Grupo de Segurança (GSEG), visa desenvolver um Sistema de Detecção de Intrusão Distribuído e com características de tolerância a falhas. Este projeto, denominado Asgaard, é a idealização de um sistema cujo objetivo não se restringe apenas a ser mais uma ferramenta de Detecção de Intrusão, mas uma plataforma que possibilite agregar novos módulos e técnicas, sendo um avanço em relação a outros Sistemas de Detecção atualmente em desenvolvimento. Um tópico ainda não abordado neste projeto seria a detecção de sniffers na rede, vindo a ser uma forma de prevenir que um ataque prossiga em outras estações ou redes interconectadas, desde que um intruso normalmente instala um sniffer após um ataque bem sucedido. Este trabalho discute as técnicas de detecção de sniffers, seus cenários, bem como avalia o uso destas técnicas em uma rede local. As técnicas conhecidas são testadas em um ambiente com diferentes sistemas operacionais, como linux e windows, mapeando os resultados sobre a eficiência das mesmas em condições diversas.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Numerosas pesquisas estão introduzindo o conceito de grupo em padrões abertos para programação distribuída. Nestas, o suporte a grupo de objetos por meio de middlewares, apresentam diferentes abordagens de interligação com a aplicação. Segundo princípios defendidos na tese de Felber, essas abordagens vão ao encontro do objetivo de facilitar o desenvolvimento e proporcionar confiabilidade e desempenho. Neste contexto, localizou-se três enfoques básicos para a interligação com a aplicação, denominados integração, serviço, e interceptação, que utilizam a captura de mensagens para obtenção de informações ou como meio para adicionar novas funcionalidades às aplicações. A utilização dessas informações pode auxiliar no ajuste de parâmetros funcionais de serviços relacionados, na escolha de mecanismos, influindo em aspectos como, desempenho e segurança. Ao longo do estudo dessas abordagens, sentiu-se a necessidade de estudar detalhes e testar aspectos de implementação, suas premissas de uso e as conseqüências advindas da incorporação de seus mecanismos junto à aplicação. Este trabalho visa apresentar uma análise do comportamento das referidas abordagens por meio da implementação de protótipos, possibilitando assim, investigar problemas relacionados ao emprego da técnica e suas conseqüências quando integradas à aplicação. Os objetivos específicos reúnem a busca de informações qualitativas, tais como: modularidade, transparência, facilidade de uso e portabilidade; e informações quantitativas, fundamentalmente traduzidas pelo grau de interferência no desempenho da aplicação. O desenvolvimento dos protótipos teve como início a busca por um ambiente que ofereceria suporte as condições necessárias para a implementação das diferentes abordagens. Percebeu-se que definir os mecanismos diretamente sobre uma linguagem de programação, como C ou C++, não era viável. As versões padrões dessas linguagens não oferecem mecanismos capazes de suportar algumas características de implementação como, por exemplo, a captura de mensagens na abordagem de interceptação. A possibilidade é introduzida apenas por extensões dessas linguagens. Assim, a investigação de um ambiente de implementação voltou-se para mecanismos disponíveis em sistemas operacionais. A opção pela utilização do Linux visou atender alguns requisitos importantes para o desenvolvimento dos protótipos tais como: facilidade de instalação, boa documentação e código aberto. Este último é um ponto essencial, pois a construção de parte dos protótipos explora a programação em nível do sistema operacional. A linguagem de programação C foi escolhida como base para a implementação, já que as diferentes abordagens exploram tanto o nível do kernel como o nível do usuário, e é compatível com o Linux. A etapa de desenvolvimento dos protótipos possibilitou a coleta de informações sobre aspectos qualitativos. As demais informações que fazem parte do perfil levantado por este trabalho sobre as abordagens, foram obtidas através da utilização dos protótipos em experimentos com duas aplicações distribuídas denominadas de “Ping-Pong” e “Escolha de Líderes”, que têm como característica geral à troca de mensagens, utilizando comunicação através de sockets. A realização de medidas em múltiplas execuções, avaliadas após o tratamento estatístico necessário, permitiu definir um perfil das diferentes abordagens.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Devido a sua baixa latência de banda, os clusters equipados com o adaptador SCI são uma alternativa para sistemas de tempo real distribuídos. Esse trabalho apresenta o projeto e implementação de uma plataforma de comunicação de tempo real sobre clusters SCI. O hardware padrão do SCI não se mostra adequado para a transmissão de tráfego de tempo real devido ao problema da contenção de acesso ao meio que causa inversão de prioridade. Por isso uma disciplina de acesso ao meio é implementada como parte da plataforma. Através da arquitetura implementada é possível o estabelecimento de canais de comunicação com garantia de banda. Assim, aplicações multimídias, por exemplo, podem trocar com taxa constante de conunicação. Cada mensagem é enviada somente uma vez. Assim, mensagens som a semântica de eventos podem ser enviadas. Além disso, a ordem e o tamanho das mensagens são garantidos. Além do tráfego com largura de banda garantida, a plataforma possibilita a troca de pacotes IP entre diferentes máquinas do cluster. Esses pacotes são inseridos no campo de dados dos pacotes próprios da plataforma e após são enviados através do uso de pacotes IP. Além disso, essa funcionalidade da plataforma permite também a execução de bibliotecas de comunicação baseadas em TCP/IP como o MPI sobre o cluster SCI. A plataforma de comunicação é implementada como modulos do sistema operacional Linux com a execução de tempo real RTAI. A valiação da plataforma mostrou que mesmo em cenários com muita comunicação entre todos os nodos correndo, a largura de banda reservada para cada canal foi mantida.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A recuperação por retorno baseada em checkpointing é largamente usada como técnica de tolerância a falhas. O modelo complexo de sistemas distribuídos tem motivado o desenvolvimento de diversos algoritmos na tentativa de encontrar soluções mais simples e eficientes. Os processos que formam o sistema distribuído podem coordenar suas operações para garantir que o conjunto de checkpoints locais componha um estado global consistente (linha de recuperação). A partir desse estado, no caso de ocorrência de falhas, o sistema pode ser recuperado e a computação retomada a partir de um momento anterior ao da manifestação da falha, evitando o retrocesso para o estado inicial da computação e prevenindo a ocorrência de prejuízos com a perda de todo processamento até então realizado. No Grupo de Tolerância a Falhas da UFRGS foi proposto recentemente um algoritmo que é voltado para aplicações que executam em sistemas distribuídos assíncronos que se comunicam exclusivamente pela troca de mensagens. Ele opera com salvamento coordenado de checkpoints (não bloqueando as aplicações) e prevê o tratamento de mensagens órfãs e perdidas. Os mecanismos do algoritmo sugerem que nenhuma alteração deveria ser realizada no código das aplicações, criando a possibilidade de implementação transparente sob o ponto de vista dos usuários e dos programadores das aplicações. Como o algoritmo não requer o bloqueio das aplicações, a sobrecarga imposta pelos mecanismos à execução livre de falhas é pequena. Além disso, o processo de recuperação tende a ser efetuado rapidamente, uma vez que é garantida a existência de uma linha de recuperação consistente, facilmente identificada Este trabalho apresenta as decisões de projeto, a implementação, os resultados e a avaliação de desempenho desse algoritmo. A avaliação das alternativas de implementação resultou na decisão de uma implementação então realizada diretamente sobre o sistema operacional Linux, sem recorrer a protocolos auxiliares para garantir a execução dos serviços e sem a necessidade de adaptações no código das aplicações nem no código do sistema operacional. Adicionalmente, os resultados comprovaram a expectativa inicial de que o algoritmo causaria pouca sobrecarga no sistema (menos de 2%), embora ele ainda apresente alta dependência do tamanho dos checkpoints salvos.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho apresenta um protótipo de uma máquina de workflow, de uso geral, implementado em plataforma de software livre. O protótipo utiliza um servidor web com PHP, em sistema operacional Linux, alguns programas desenvolvidos em C e o banco de dados MySql. O projeto CEMT demanda o uso da tecnologia de workflow, com o objetivo de controlar a execução de cursos a distância. Antes de ser iniciado o desenvolvimento do protótipo, foi feito um estudo sobre algumas máquinas de workflow existentes, com o objetivo de encontrar alguma que tivesse licença livre e pudesse ser utilizada no projeto CEMT, ou colher subsídios para o desenvolvimento de uma máquina de workflow própria. Foram testadas duas máquinas de workflow de licença livre (Openflow e OFBIZ), uma máquina com cópia de demonstração (Reactor) e foram consultadas as documentações fornecidas pelos fabricantes. Além disso foi consultada também a documentação do Domino Workflow, que não disponibilizou cópia de avaliação e cuja licença não é livre. Um dos requisitos do protótipo é a compatibilidade com os padrões de interface recomendados pela WfMC. Esses padrões permitem a interoperabilidade entre softwares de workflow. O primeiro benefício da adoção desses padrões é a interação com o editor gráfico de workflow AW (Amaya Workflow), desenvolvido no Instituto de Informática da UFRGS. Este editor gera definições de processos de workflow no formato da linguagem XPDL (XML Process Definition Language), que alimentam a máquina de workflow. O esquema XPDL foi traduzido para um esquema de banco de dados relacional e foi desenvolvido um compilador que lê um arquivo no formato XPDL e gera comandos SQL de inserção das informações desse arquivo no banco de dados. Foi desenvolvida uma interface web para demonstrar o funcionamento do protótipo. A API definida na Interface 2 da WfMC foi implementada parcialmente. Essa API permite o desenvolvimento independente de outras interfaces de usuário. Foram propostas algumas extensões à Interface 1 e modificações na definição de estados recomendada pela Interface 2 da WfMC. Com isso foi possível aumentar o controle sobre a execução das instâncias de workflow. Foram incluídas as restrições de data e possibilidade de bloqueio na execução de instâncias de atividades. Outras extensões possibilitam um serviço de notificações e atividades em grupo e oferecem novas possibilidades de alocação de atividades. O funcionamento básico do protótipo é descrito e inclui as funcionalidades de carga da definição de processo, instanciação de processo, visualização da lista de trabalho e execução das atividades, entre outras.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Clusters de computadores são geralmente utilizados para se obter alto desempenho na execução de aplicações paralelas. Sua utilização tem aumentado significativamente ao longo dos anos e resulta hoje em uma presença de quase 60% entre as 500 máquinas mais rápidas do mundo. Embora a utilização de clusters seja bastante difundida, a tarefa de monitoramento de recursos dessas máquinas é considerada complexa. Essa complexidade advém do fato de existirem diferentes configurações de software e hardware que podem ser caracterizadas como cluster. Diferentes configurações acabam por fazer com que o administrador de um cluster necessite de mais de uma ferramenta de monitoramento para conseguir obter informações suficientes para uma tomada de decisão acerca de eventuais problemas que possam estar acontecendo no seu cluster. Outra situação que demonstra a complexidade da tarefa de monitoramento acontece quando o desenvolvedor de aplicações paralelas necessita de informações relativas ao ambiente de execução da sua aplicação para entender melhor o seu comportamento. A execução de aplicações paralelas em ambientes multi-cluster e grid juntamente com a necessidade de informações externas à aplicação é outra situação que necessita da tarefa de monitoramento. Em todas essas situações, verifica-se a existência de múltiplas fontes de dados independentes e que podem ter informações relacionadas ou complementares. O objetivo deste trabalho é propor um modelo de integração de dados que pode se adaptar a diferentes fontes de informação e gerar como resultado informações integradas que sejam passíveis de uma visualização conjunta por alguma ferramenta. Esse modelo é baseado na depuração offline de aplicações paralelas e é dividido em duas etapas: a coleta de dados e uma posterior integração das informações. Um protótipo baseado nesse modelo de integração é descrito neste trabalho Esse protótipo utiliza como fontes de informação as ferramentas de monitoramento de cluster Ganglia e Performance Co-Pilot, bibliotecas de rastreamento de aplicações DECK e MPI e uma instrumentação do Sistema operacional Linux para registrar as trocas de contexto de um conjunto de processos. Pajé é a ferramenta escolhida para a visualização integrada das informações. Os resultados do processo de integração de dados pelo protótipo apresentado neste trabalho são caracterizados em três tipos: depuração de aplicações DECK, depuração de aplicações MPI e monitoramento de cluster. Ao final do texto, são delineadas algumas conclusões e contribuições desse trabalho, assim como algumas sugestões de trabalhos futuros.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O material apresenta o conceito de processo, os estados de processo e transições, blocos de controle de processos (PCBs) e seus descritores, o chaveamento de processos/troca de contexto, a definição de interrupções em relação com hardware/software, a comunicação interprocessos (IPC) e os processos no UNIX. Além desses tópicos, o material também descreve threads, suas semelhanças e diferenças com processos, seu ciclo de vida, e noções básicas sobre threads POSIX, Linux, Windows XP e Java.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O material apresenta o conceito de memória virtual, recurso que objetiva solucionar o problema de pouco espaço de memória. Através de técnicas de gerenciamento, o material destaca o conceito de paginação sob demanda, os desafios da substituição de páginas, diversas estratégias populares de substituição de páginas e como se comparam à substituição ideal, o impacto do tamanho da página sobre o desempenho da memória virtual e o comportamento do programa sob paginação.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O material apresenta o sistema de arquivos como coleção nomeada de dados e manipulada como unidade. Destaca o papel e características dos sistemas de arquivos como parte integrante do Sistema Operacional e sua importância para a organização e gerenciamento de dados. Por fim, o material apresenta ainda mecanismos de cópia de segurança (backup), recuperação e integridade de um sistema de arquivos; servidores de arquivos e sistemas distribuídos; além de sistemas de arquivos suportados pelo Windows e Linux.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O material apresenta as chamadas de sistema, ou system calls, que são rotinas de serviço oferecidas por um sistema operacional aos programas. Além de escalonar o uso do(s) processador(es) para a execução das instruções dos processos, o Sistema Operacional tem a função de prover serviços a esses processos. O material destaca ainda o código executado pelas chamadas de sistema que reside na memória; a portabilidade dos programas; e os tipos de chamadas de sistema nos sistemas operacionais Microsoft, Unix e Linux.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A videoaula apresenta os principais conceitos sobre processos e threads com destaque para estados de processo e transições, blocos de controle de processos e descritores, chaveamento de processos e troca de contexto, comunicação interprocessos (IPC), processos no Unix, semelhanças e diferenças entre processos e threads, o ciclo de vida de um thread e, por fim, conceitos básicos sobre threads POSIX, Linux, Windows XP e Java.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Na análise funcional de imagens do cérebro podem utilizar-se diferentes métodos na identificação de zonas de activação. Tem havido uma evolução desde o método de correlação [19], para outros métodos [9] [14] até o método baseado no modelo linear generalizado que é mais comum ser utilizado hoje e que levou ao pacote de software SPM [15]. Deve-se principalmente à versatilidade que o método tem em realizar testes com diferentes objectivos. Têm sido publicados alguns estudos comparativos. Poucos têm sido quantitativos [20] e quando o são, o número de métodos testados é reduzido[22]. Há muitos estudos comparativos do ponto de vista da estatística envolvida (da matemática) mas que têm em geral apenas ns académicos. Um objectivo deste estudo é comparar os resultados obtidos por diferentes métodos. É de particular interesse averiguar o comportamento de cada método na fronteira do local de activação. As diferenças serão avaliadas numericamente para os seguintes métodos clássicos: t de Student, coeficiente de correlação e o modelo linear generalizado. Três novos métodos são também propostos - o método de picos de Fourier, o método de sobreposição e o método de amplitude. O segundo pode ser aplicado para o melhoramento dos métodos de t de Student, coe ciente de correlação e modelo linear generalizado. Ele pode no entanto, também manter-se como um método de análise independente. A influência exercida em cada método pelos parâmetros pertinentes é também medida. É adoptado um conjunto de dados clínicos que está amplamente estudado e documentado. Desta forma elimina-se a possibilidade dos resultados obtidos serem interpretados como sendo específicos do caso em estudo. Há situações em que a influência do método utilizado na identificação das áreas de activação de imagens funcionais do cérebro é crucial. Tal acontece, por exemplo, quando um tumor desenvolve-se perto de uma zona de activação responsável por uma função importante . Para o cirurgião tornase indispensável avaliar se existe alguma sobreposição. A escolha de um dos métodos disponíveis poderá ter infuência sobre a decisão final. Se o método escolhido for mais conservador, pode verificar-se sobreposição e eliminar-se a possibilidade de cirurgia. Porém, se o método for mais restritivo a decisão final pode ser favorável à cirurgia. Artigos recentes têm suportado a ideia de que a ressonância magnética funcional é de facto muito útil no processo de decisão pré-operatório [12].O segundo objectivo do estudo é então avaliar a sobreposição entre um volume de activação e o volume do tumor. Os programas informáticos de análise funcional disponíveis são variados em vários aspectos: na plataforma em que funcionam (macintosh, linux, windows ou outras), na linguagem em que foram desenvolvidos (e.g. c+motif, c+matlab, matlab, etc.) no tratamento inicial dos dados (antes da aplicação do método de análise), no formato das imagens e no(s) método(s) de análise escolhido(s). Este facto di culta qualquer tentativa de comparação. À partida esta poderá apenas ser qualitativa. Uma comparação quantitativa implicaria a necessidade de ocorrerem três factos: o utilizador tem acesso ao código do programa, sabe programar nas diferentes linguagens e tem licença de utilização de software comercial (e.g. matlab). Sendo assim foi decidido adoptar uma estratégia unificadora. Ou seja, criar um novo programa desenvolvido numa linguagem independente da plataforma, que não utilize software comercial e que permita aplicar (e comparar quantitativamente) diferentes métodos de análise funcional. A linguagem escolhida foi o JAVA. O programa desenvolvido no âmbito desta tese chama-se Cérebro.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho foi realizado na Universidade da Madeira, no âmbito do Mestrado em Engenharia Informática, tendo como título “Implementação de um sistema autónomo para a geração de visualizações 3D de dados ambientais”. A visualização 3D tem vindo a ganhar terreno em áreas como o entretenimento, medicina, arquitetura e desenho de equipamentos, entre outros. Relativamente à visualização de dados ambientais (oceano e atmosfera) em 3D, esta é uma área pouco explorada. Como tal, foi proposto o estudo e criação de um sistema autónomo capaz de gerar imagens 3D de dados ambientais e disponibilizar as mesmas na web. O estudo iniciou-se com testes às ferramentas que permitem a visualização 3D de dados ambientais, de forma a escolher a que mais se adequa ao sistema a implementar. Após diversos testes às várias ferramentas, a que mais se destacou foi o IDV (Integrated Data Visualization), pelas suas funcionalidades e capacidade de ser executado de forma automática. A implementação do sistema foi efetuada ao longo de diversas etapas: pré-processamento dos dados; escolha das visualizações a disponibilizar na web; escrita do script responsável pelo processo; criação das páginas web para visualização das imagens e implementação de todo o sistema em ambiente Linux. Este sistema foi desenvolvido tendo em conta a adição de novas visualizações, assim como a alteração das visualizações existentes. A possibilidade de adicionar/alterar visualizações de forma simples também foi tida em conta, de forma a não ser necessário reestruturar todo o sistema.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho foi desenvolvido num estágio na empresa ABS GmbH sucursal em Portugal, e teve como foco a compressão de imagem e vídeo com os padrões JPEG e H.264, respetivamente. Foi utilizada a plataforma LeopardBoard DM368, com um controlador ARM9. A análise do desempenho de compressão de ambos os padrões foi realizada através de programas em linguagem C, para execução no processador DM368. O programa para compressão de imagem recebe como parâmetros de entrada o nome e a resolução da imagem a comprimir, e comprime-a com 10 níveis de quantização diferentes. Os resultados mostram que é possível obter uma velocidade de compressão até 73 fps (frames per second) para a resolução 1280x720, e que imagens de boa qualidade podem ser obtidas com rácios de compressão até cerca de 22:1. No programa para compressão de vídeo, o codificador está configurado de acordo com as recomendações para as seguintes aplicações: videoconferência, videovigilância, armazenamento e broadcasting/streaming. As configurações em cada processo de codificação, o nome do ficheiro, o número de frames e a resolução do mesmo representam os parâmetros de entrada. Para a resolução 1280x720, foram obtidas velocidades de compressão até cerca de 68 fps, enquanto para a resolução 1920x1088 esse valor foi cerca de 30 fps. Foi ainda desenvolvida uma aplicação com capacidades para capturar imagens ou vídeos, aplicar processamento de imagem, compressão, armazenamento e transmissão para uma saída DVI (Digital Visual Interface). O processamento de imagem em software permite melhorar dinamicamente as imagens, e a taxa média de captura, compressão e armazenamento é cerca de 5 fps para a resolução 1280x720, adequando-se à captura de imagens individuais. Sem processamento em software, a taxa sobe para cerca de 23 fps para a resolução 1280x720, sendo cerca de 28 fps para a resolução 1280x1088, o que é favorável à captura de vídeo.