934 resultados para Sistema operacional


Relevância:

70.00% 70.00%

Publicador:

Resumo:

Foi desenvolvido um aplicativo para smartphone com sistema operacional Google Android para agricultores e técnicos especialistas, com o objetivo de interpretar a análise química do solo, sistematizar o processo e recomendar o balanço nutricional do solo para produção de mandioca por meio de técnicas de aprendizado de máquina.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este trabalho descreve o desenvolvimento de uma versão personalizada dos softwares HiperEditor e HiperNavegador para uso no Gestor de Conteúdo da Agência de Informação Embrapa, visando atender aos novos requisitos dos usuários nesse sistema. As atualizações foram concebidas por meio do uso dos códigos-fonte dos softwares, da biblioteca JDK, do ambiente de desenvolvimento Eclipse e do sistema operacional Kubuntu. A nova versão do HiperEditor traz uma interface gráfica mais amigável e intuitiva, além de novas funcionalidades: alterar cor do texto ou de preenchimento do nó, ordenação semântica, inserir imagem de ícone ou miniatura ao nó e imprimir estrutura hierárquica. O HiperNavegador personalizado permite que as alterações realizadas em uma determinada estrutura hierárquica por meio do HiperEditor possam ser visualizadas.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Apesar de exigir maior grau de dificuldade do que a instalação via pacotes, a instalação via código-fonte oferece uma infinidade de recursos em relação à primeira, tais como: definir a estrutura de diretórios para binários, bibliotecas, módulos, manuais e demais arquivos do SGBD conforme o desejado, o que facilita a organização, localização e manutenção do PostgreSQL; ativar suporte a um determinado idioma, para tradução de mensagens; construir suporte a determinadas linguagens ou módulos; definir alguns parâmetros padrões; além de conceber maior controle e segurança nas atualizações de versões do SGBD, evitando assim, atualizações automáticas indesejáveis por meio do sistema operacional e a conseqüente perda de bases de dados; entre outros. Para este trabalho, foi utilizado o sistema operacional Ubuntu Server 8.04.1, contudo, este tutorial é totalmente aplicável e compatível a outras versões Ubuntu, bem como a outras distribuições Linux, respeitando, é claro, as particularidades de algumas distribuições, como a estrutura de diretórios destes. Quanto ao SGBD PostgreSQL, foi adotado a versão 8.3.4, lançada em Setembro/2008, contudo, este tutorial se aplica também à versões inferiores 8.x.x deste SGBD.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

2009

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este documento consiste no estudo, análise e identificação de uma solução voltada para a recuperação de dados no Sistema Gerenciador de Banco de Dados (SGBD) PostgreSQL. A solução em recuperação de dados, aqui apresentada, foi testada e direcionada para o sistema operacional Linux Ubuntu, porém a mesma é compatível com outras distribuições, bem como passível de ser implementada e executada em outros sistemas operacionais, nos quais funcionam o SGBD PostgreSQL, resguardadas as suas respectivas peculiaridades, ou, basicamente, a nomenclatura e o formato dos comandos empregados relativos ao sistema operacional adotado.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Mesmo que o Windows ainda seja, disparado, o sistema operacional mais utilizado e conhecido pelas pessoas no mundo todo, o Linux vem se difundindo cada vez mais em diversos nichos da população, sejam profissionais de informática ou não. Uma das grandes vantagens do Linux sobre seu concorrente é a diversidade de comandos que seu terminal shell (interface de linha de comando) possui, o que se tornou uma característica forte deste sistema operacional. O awk é um desses comandos que faz o terminal shell do Linux ser a marca forte desse sistema. É um comando tão importante e com tantas funcionalidades que muitos o confundem com uma linguagem de programação. O presente trabalho procura fazer uma pequena introdução sobre as principais possibilidades de utilização do awk, desde a construção de simples linhas de comando até a programação de pequenos scripts para execução no shell do Linux.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O avanço tecnológico no projeto de microprocessadores, nos recentes anos, tem seguido duas tendências principais. A primeira tenta aumentar a freqüência do relógio dos mesmos usando componentes digitais e técnicas VLSI mais eficientes. A segunda tenta explorar paralelismo no nível de instrução através da reorganização dos seus componentes internos. Dentro desta segunda abordagem estão as arquiteturas multi-tarefas simultâneas, que são capazes de extrair o paralelismo existente entre e dentro de diferentes tarefas das aplicações, executando instruções de vários fluxos simultaneamente e maximizando assim a utilização do hardware. Apesar do alto custo da implementação em hardware, acredita-se no potencial destas arquiteturas para o futuro próximo, pois é previsto que em breve haverá a disponibilidade de bilhões de transistores para o desenvolvimento de circuitos integrados. Assim, a questão principal a ser encarada talvez seja: como prover instruções paralelas para uma arquitetura deste tipo? Sabe-se que a maioria das aplicações é seqüencial pois os problemas nem sempre possuem uma solução paralela e quando a solução existe os programadores nem sempre têm habilidade para ver a solução paralela. Pensando nestas questões a arquitetura SEMPRE foi projetada. Esta arquitetura executa múltiplos processos, ao invés de múltiplas tarefas, aproveitando assim o paralelismo existente entre diferentes aplicações. Este paralelismo é mais expressivo do que aquele que existe entre tarefas dentro de uma mesma aplicação devido a não existência de sincronismo ou comunicação entre elas. Portanto, a arquitetura SEMPRE aproveita a grande quantidade de processos existentes nas estações de trabalho compartilhadas e servidores de rede. Além disso, esta arquitetura provê suporte de hardware para o escalonamento de processos e instruções especiais para o sistema operacional gerenciar processos com mínimo esforço. Assim, os tempos perdidos com o escalonamento de processos e as trocas de contextos são insignificantes nesta arquitetura, provendo ainda maior desempenho durante a execução das aplicações. Outra característica inovadora desta arquitetura é a existência de um mecanismo de prébusca de processos que, trabalhando em cooperação com o escalonamento de processos, permite reduzir faltas na cache de instruções. Também, devido a essa rápida troca de contexto, a arquitetura permite a definição de uma fatia de tempo (fatia de tempo) menor do que aquela praticada pelo sistema operacional, provendo maior dinâmica na execução das aplicações. A arquitetura SEMPRE foi analisada e avaliada usando modelagem analítica e simulação dirigida por execução de programas do SPEC95. A modelagem mostrou que o escalonamento por hardware reduz os efeitos colaterais causados pela presença de processos na cache de instruções e a simulação comprovou que as diferentes características desta arquitetura podem, juntas, prover ganho de desempenho razoável sobre outras arquiteturas multi-tarefas simultâneas equivalentes, com um pequeno acréscimo de hardware, melhor aproveitando as fatias de tempo atribuídas aos processos.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Esta dissertação descreve uma arquitetura de suporte para a criação de sistemas de automação baseados em objetos distribuídos e no barramento CAN. Consiste basicamente da utilização de orientação a objetos para modelagem dos sistemas bem como sua implementação na forma de objetos autônomos. Os objetos são então distribuídos em uma rede de placas microcontroladas, as quais são utilizadas para o controle da planta, e PC's, os quais são utilizados para supervisão e monitoração. O suporte em tempo de execução para os objetos é dado por um sistema operacional que permite a sua implementação na forma de processos concorrentes, o qual, no caso das placas microcontroladas, é um sistema operacional do tipo embarcado. A comunica ção entre os objetos é realizada através de um protocolo publisher/subscriber desenvolvido para o barramento CAN que é suportado por uma biblioteca e elementos de comunicação especí cos. Este trabalho tem como objetivo apresentar alternativas aos sistemas de automação existentes atualmente, os quais baseiamse geralmente em dispositivos mestre/escravo e em comunicações do tipo ponto a ponto. Dessa forma, a arquitetura desenvolvida, apropriada para sistemas embarcados, visa facilitar a criação e dar suporte para sistemas de automação baseados em objetos distribuídos.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Técnicas de tolerância a falhas visam a aumentar a dependabilidade dos sistemas nos quais são empregadas. Entretanto, há necessidade de garantir a confiança na capacidade do sistema em fornecer o serviço especificado. A validação possui como objetivo propiciar essa garantia. Uma técnica de validação bastante utilizada é a injeção de falhas, que consiste na introdução controlada de falhas no sistema para observar seu comportamento. A técnica de injeção de falhas acelera a ocorrência de falhas em um sistema. Com isso, ao invés de esperar pela ocorrência espontânea das falhas, pode-se introduzi-las intencionalmente, controlando o tipo, a localização, o disparo e a duração das falhas. Injeção de falhas pode ser implementada por hardware, software ou simulação. Neste trabalho são enfocadas técnicas de injeção de falhas por software, desenvolvidas nos níveis da aplicação e do sistema operacional. O trabalho apresenta o problema da validação, através da injeção de falhas, de um protocolo de troca de pacotes. Enfoque especial é dado ao impacto resultante da inclusão de um módulo extra no protocolo, uma vez que o mesmo apresenta restrições temporais. O trabalho investiga alternativas de implementação de injetores de falhas por software que minimizem este impacto. Tais alternativas referem-se a localização do injetor de falhas no sistema, a forma de ativação das atividades do injetor de falhas e a operação de injeção de falhas em si. Um toolkit para experimentos de intrusão da injeção de falhas é apresentado. O alvo da injeção de falhas é um protocolo com característica tempo real. O toolkit desenvolvido, denominado INFIMO (INtrusiveless Fault Injector MOdule), visa a analisar, de forma experimental, a intrusão do injetor de falhas sobre o protocolo alvo. O INFIMO preocupa-se com protocolos com restrições temporais por esses constituírem um desafio sob o ponto de vista de injeção de falhas. O INFIMO suporta falhas de comunicação, as quais podem ocasionar a omissão de alguns pacotes. O INFIMO apresenta duas ferramentas de injeção de falhas: INFIMO_LIB, implementada no nível da aplicação e INFIMO_DBG implementada com auxílio de recursos do sistema operacional. Destacam-se ainda como contribuições do INFIMO a definição e a implementação do protocolo alvo para experimentos de injeção de falhas, o protocolo INFIMO_TAP. Além disso, o INFIMO apresenta métricas para avaliação da intrusão provocada pelo injetor de falhas no protocolo alvo.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Mecanismos de comunicação entre processos são fundamentais no desenvolvimento de sistemas distribuídos, já que constituem o único meio de compartilhar dados entre processos que não dispõem de memória comum. Um dos principais mecanismos de comunicação utilizados é a troca de mensagens entre os processos componentes do sistema. Existem muitas aplicações que são compostas por um conjunto de processos que cooperam para realizar uma determinada tarefa e que são mais facilmente construídas se o sistema operacional oferecer a possibilidade de se enviar uma mensagem a diversos destinos. Neste caso são necessários mecanismos que permitam a difusão confiável de uma mensagem para um grupo de processos em uma única operação. Tendo em vista esta necessidade, diversos protocolos têm sido apresentados na literatura para permitir a comunicação entre um grupo de processos com diferentes graus de complexidade e de desempenho. Este trabalho apresenta um ambiente para desenvolvimento e utilização de protocolos de comunicação em grupo, denominado FlexGroup. O ambiente divide os protocolos em suas características fundamentais, permitindo que estas características possam ser desenvolvidas separadamente como subprotocolos. Os subprotocolo são interligados através de uma interface comum e gerenciados pelo núcleo do ambiente. A comunicação entre as diversas máquinas da rede é gerenciada pelo FlexGroup, permitindo que o desenvolvedor de um novo subprotocolo possa somente se focar nas características específicas do seu protocolo. Esta modularidade permite, ainda, que apenas as partes de interesse de um novo protocolo precisem ser implementadas, além de também viabilizar a criação de um protocolo baseado nos já existentes no ambiente. Além disso, o ambiente permite que as aplicações de comunicação em grupo possam definir, através de uma biblioteca, o conjunto de subprotocolos que desejam utilizar, em tempo de execução, sem necessidade de conhecer a implementação interna dos subprotocolos.. Da mesma forma, alguém que se proponha a realizar comparações com os protocolos existentes, pode utilizar os diversos subprotocolos e as aplicações existentes, bastando alterar os protocolos utilizados em tempo de execução e avaliando somente as características que deseje analisar.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O surgimento de novas aplicações que utilizam o protocolo HTTP nas suas transações e a crescente popularidade da World Wide Web (WWW) provocaram pesquisas pelo aumento do desempenho de servidores Web. Para tal, uma das alternativas propostas neste trabalho é utilizar um conjunto de servidores Web distribuídos que espalham a carga de requisições entre vários computadores, atuando como um só associado a uma estratégia de replicação de conteúdo. Um dos problemas centrais a ser resolvido em servidores Web distribuídos é como manter a consistência das réplicas de conteúdo entre os equipamentos envolvidos. Esta dissertação apresenta conceitos fundamentais envolvendo o tema replicação de conteúdo em servidores Web distribuídos. São mostrados detalhes sobre arquitetura de servidores Web distribuídos, manutenção da consistência em ambientes de servidores Web distribuídos, uso de replicação e formas de replicação. Além disso, são citados alguns trabalhos correlatos ao propósito de manter réplicas consistentes em ambientes de servidores Web distribuídos. Este trabalho tem por objetivo propor um modelo de manutenção da consistência de conteúdo em servidores Web distribuídos com características de transparência e autonomia. O modelo, denominado One Replication Protocol for Internet Servers (ORPIS), adota uma estratégia de propagação otimista porque não existe sincronismo no envio das atualizações para as réplicas. Este trabalho apresenta os principais componentes tecnológicos empregados na Web, além dos problemas causados pela escalabilidade e distribuição inerentes a esse ambiente. São descritas as principais técnicas de aumento de desempenho de servidores Web que atualmente vêm sendo utilizadas. O modelo ORPIS é descrito, sendo apresentados seus pressupostos, elencados seus componentes e detalhados os seus algoritmos de funcionamento. Este trabalho dá uma visão geral sobre a implementação e os testes realizados em alguns módulos do protótipo do modelo, caracterizando o ambiente de desenvolvimento do protótipo e detalhes da implementação. São enumerados os atributos e métodos das classes do protótipo e definidas as estruturas de dados utilizadas. Além disso, apresentam-se os resultados obtidos da avaliação funcional dos módulos implementados no protótipo. Um ponto a ser salientado é a compatibilidade do modelo ORPIS aos servidores Web existentes, sem a necessidade de modificação em suas configurações. O modelo ORPIS é baseado na filosofia de código aberto. Durante o desenvolvimento do protótipo, o uso de software de código aberto proporcionou um rápido acesso às ferramentas necessárias (sistema operacional, linguagens e gerenciador de banco de dados), com possibilidade de alteração nos códigos fonte como uma alternativa de customização.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este trabalho apresenta um modelo de mecanismo para o controle de integridade de arquivos em sistemas operacionais, com a capacidade de bloquear o acesso à arquivos inválidos de forma a conter os danos causados por possíveis ataques. O modelo foi inicialmente formulado a partir do estudo detalhado do processo de controle de integridade, revelando diversos pontos críticos de segurança nele existentes, e da avaliação dos mecanismos atualmente implementados nos sistemas operacionais que oferecem, mesmo que indiretamente, algum tipo de garantia de integridade dos arquivos do sistema. Durante o seu desenvolvimento, a segurança do próprio modelo foi detalhadamente analisada de forma a enumerar os seus pontos críticos e possíveis soluções a serem empregadas, resultando na definição dos requisitos mínimos de segurança que devem ser encontrados nesse tipo de mecanismo. Em seguida, visando a validação do modelo especificado e decorrente disponibilização do mecanismo para uso prático e em estudos futuros, um protótipo foi implementado no sistema operacional GNU/Linux. Procurando confirmar a sua viabilidade, foram realizadas análises do impacto causado sobre o desempenho do sistema. Por fim, foi confirmada a importância e viabilidade do emprego do modelo apresentado como mecanismo adicional de segurança em sistemas operacionais. Além disso, foi colocado em evidência um campo de pesquisa ainda pouco explorado e portanto atrativo para a realização de novos estudos.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O presente trabalho explora a aplicação de técnicas de injeção de falhas, que simulam falhas transientes de hardware, para validar o mecanismo de detecção e de recuperação de erros, medir os tempos de indisponibilidade do banco de dados após a ocorrência de uma falha que tenha provocado um FUDVK. Adicionalmente, avalia e valida a ferramenta de injeção de falhas FIDe, utilizada nos experimentos, através de um conjunto significativo de testes de injeção de falhas no ambiente do SGBD. A plataforma experimental consiste de um computador Intel Pentium 550 MHz com 128 MB RAM, do sistema operacional Linux Conectiva kernel versão 2.2.13. O sistema alvo das injeções de falhas é o SGBD centralizado InterBase versão 4.0. As aplicações para a carga de trabalho foram escritas em VFULSWV SQL e executadas dentro de uma sessão chamada LVTO. Para a injeção de falhas foram utilizadas três técnicas distintas: 1) o comando NLOO do sistema operacional; 2) UHVHW geral no equipamento; 3) a ferramenta de injeção de falhas FIDe, desenvolvida no grupo de injeção de falhas do PPGC da UFRGS. Inicialmente são introduzidos e reforçados os conceitos básicos sobre o tema, que serão utilizados no decorrer do trabalho e são necessários para a compreensão deste estudo. Em seguida é apresentada a ferramenta de injeção de falhas Xception e são também analisados alguns experimentos que utilizam ferramentas de injeção de falhas em bancos de dados. Concluída a revisão bibliográfica é apresentada a ferramenta de injeção de falhas – o FIDe, o modelo de falhas adotado, a forma de abordagem, a plataforma de hardware e software, a metodologia e as técnicas utilizadas, a forma de condução dos experimentos realizados e os resultados obtidos com cada uma das técnicas. No total foram realizados 3625 testes de injeções de falhas. Com a primeira técnica foram realizadas 350 execuções, com a segunda técnica foram realizadas 75 execuções e com a terceira técnica 3200 execuções, em 80 testes diferentes. O modelo de falhas proposto para este trabalho refere-se a falhas de crash baseadas em corrupção de memória e registradores, parada de CPU, aborto de transações ou reset geral. Os experimentos foram divididos em três técnicas distintas, visando a maior cobertura possível de erros, e apresentam resultados bastante diferenciados. Os experimentos com o comando NLOO praticamente não afetaram o ambiente do banco de dados. Pequeno número de injeção de falhas com o FIDe afetaram significativamente a dependabilidade do SGBD e os experimentos com a técnica de UHVHW geral foram os que mais comprometeram a dependabilidade do SGBD.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A Automação Residencial é uma área em crescimento no mercado mundial. À medida que os avanços tecnológicos são incorporados aos dispositivos pertencentes ao ambiente residencial, e que estes se tornam mais disseminados, surgem necessidades para fabricantes e usuários. Para os fabricantes, é desejável maior capacidade de conexão e intercâmbio de dados entre os dispositivos e, conseqüentemente, padronização. Para os usuários, é desejável maior facilidade na utilização dos dispositivos e, principalmente, na configuração dos mesmos em ambientes dinâmicos, de forma a não requerer interação do usuário para a conexão e desconexão, característica das redes espontâneas. Grandes empresas têm unido esforços no desenvolvimento de novos padrões e uma das tendências observadas é o isolamento destas novas necessidades numa camada entre a aplicação e o sistema operacional, denominada middleware. Este trabalho compara duas tecnologias que se enquadram nos critérios acima: Jini, da Sun Microsystems e Universal Plug and Play (UPnP), de um consórcio de empresas liderado pela Microsoft. O estudo é feito através do desenvolvimento de um protótipo, da definição de um conjunto de métricas qualitativas e quantitativas, e da implementação de um conjunto de workloads para a análise comparativa entre elas. Os resultados obtidos são apresentados e analisados, contribuindo com subsídios para os interessados em conhecer melhor ou optar por uma delas. Por fim, são registradas algumas necessidades observadas que poderão servir como base para trabalhos futuros.

Relevância:

60.00% 60.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.