934 resultados para Sistema operacional


Relevância:

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

60.00% 60.00%

Publicador:

Resumo:

presente trabalho objetiva construir um Modelo Exploratório de desenvolvimento de tecnologia da informação, aplicável no Brasil, tendo como referência as formas de organização do trabalho e da produção das comunidades Linux. O Modelo deve ser aplicado em ambiente Internet, ou em outras redes de telecomunicação. Por essa razão, utiliza métodos e técnicas de aprendizado à distância e e-Iearning. A construção do Modelo apoia-se, como alicerce teórico fundamental, no conceito de convivialidade de Illich (1976), no entendimento de Inose e Pierce (1984) sobre comunidades de interesse e democratização da produção de software, nos estudos de Malone (1997, 1998) referentes a modelos de organização em rede, nos estudos de Weber (2000) sobre comunidades de interesse online, na metodologia de capacitação "Pensamento Digital" de Joia (1999-1, 1999-2) e na estratégia pedagógico-metodológica do Australian National Training Authority (T AFE/SA). No entanto, as pesquisas de Matesco (2000, 2001) tomaram exeqüível a idéia da construção do Modelo, tendo que vista que o Modelo Exploratório proposto aplica-se, preferencialmente, a países, regiões, empresas ou organizações dependentes tecnologicamente de seus parceiros negociais e com escassez de recursos para aplicar em pesquisa e desenvolvimento. O caminho metodológico para a construção do Modelo inicia-se com uma sucinta abordagem sobre o sistema operacional Linux, a descrição das formas de organização das comunidades Linux e a identificação das formas de organização do trabalho e da produção no Fordismo-Taylorismo e no pós-Fordismo. Situa o funcionamento das comunidades Linux em relação a essas formas de organização. Descreve o processo de formação do conhecimento no aprendizado à distância e no elearning. Aborda a experiência de outros países com o Linux e com as comunidades Linux. Principalmente, o sucesso obtido pelos países nórdicos em absorção de tecnologia. A seguir, fundamentando-se em duas pesquisas de Matesco (2000,2001), analisa a dependência tecnológica do Brasil e propõe o Modelo Exploratório, cujo objetivo é, prioritariamente, colaborar para a redução dessa dependência, por meio de um processo de formação de conhecimento, baseado no aprendizado à distância e e-Iearning do Linux e na propagação de comunidades Linux, empregando-se o modelo de organização em rede.

Relevância:

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

60.00% 60.00%

Publicador:

Resumo:

Este trabalho tem como objetivo o levantamento e análise de fatores intervenientes na capacidade de processamento de veículos em cabines de praças de pedágio com o recolhimento manual de tarifas. Buscando o entendimento de como estes fatores interferem nos tempos de atendimento nas cabines foi realizada uma análise estatística e posterior modelagem, que utilizou redes neurais artificiais. Redes neurais artificiais são úteis no entendimento de problemas com alto grau de complexidade, que agregam diversas variáveis de entrada com relações não-lineares entre si. As variáveis de entrada escolhidas para a modelagem foram forma de pagamento, intensidade de fluxo, valor das tarifas e classes de veículos. A variável de saída foi o tempo de atendimento nas cabines de cobrança de pedágios. Foram obtidos três modelos que buscaram refletir a variação dos tempos de atendimento para um mesmo conjunto de dados de entrada: Modelo de Tempos Mínimos de Atendimento; Modelo de 85° Percentil de Tempos de Atendimento, e; Modelo de Tempos Máximos de Atendimento. As análises de sensibilidade dos modelos indicaram que tempos de atendimento são fortemente influenciados pelo fluxo de veículos nas praças. Quanto mais intenso o fluxo de veículos, tempos mínimos de atendimento tendem a sofrer leve aumento, indicando pequena perda de rendimento do processo. Perda de rendimento pode ser resultado de (i) necessidade de digitação das placas de licença dos veículos no sistema operacional das praças-dificuldade de visualização das mesmas em situação de filas, e (ii) desgaste físico dos arrecadadores. O desgaste físico dos arrecadadores também se apresenta como provável causa para o aumento de tempos mínimos de atendimento para fluxos altos. Quanto mais intenso o fluxo de veículos, menores são os tempos máximos de atendimento. Quanto maior o fluxo de veículos nas praças, as modelagens indicam uma maior estabilidade do sistema com relação ao processamento de veículos.

Relevância:

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

60.00% 60.00%

Publicador:

Resumo:

A validação de projetos de sistemas eletrônicos pode ser feita de diversas maneiras, como tem sido mostrado pelas pesquisas em síntese automática e verificação formal. Porém, a simulação ainda é o método mais utilizado. O projeto de um sistema digital típico pode ser desenvolvido em diversos níveis de abstração, como os níveis algorítmico, lógico ou analógico. Assim, a simulação também deve ser executada em todos esses níveis. A simulação apresenta, contudo, o inconveniente de não conseguir conciliar uma alta acuracidade de resultados com um baixo tempo de simulação. Quanto mais detalhada é a descrição do circuito, maior é o tempo necessário para simulá-lo. O inverso também é verdadeiro, ou seja, quanto menor for a acuracidade exigida, menor será o tempo dispendido. A simulação multinível tenta conciliar eficiêencia e acuracidade na simulação de circuitos digitais, propondo que partes do circuito sejam descritas em diferentes níveis de abstração. Com isso, somente as partes mais críticas do sistema são descritas em detalhes e a velocidade da simulação aumenta. Contudo, essa abordagem não é suficiente para oferecer um grande aumento na velocidade de simulação de grandes circuitos. Assim, surge como alternativa a aplicação de técnicas de processamento distribuído à simulação multinível. Os aspectos que envolvem a combinação dessas duas técnicas são abordados nesse trabalho. Como plataforma para os estudos realizados, optou-se por usar duas ferramentas desenvolvidas nessa Universidade: os simuladores do Sistema AMPLO e o Sistema Operacional HetNOS. São estudadas técnicas de sincronização em sistemas distribuídos, fundamentais para o desenvolvimento dos simuladores e, finalmente, são propostas alternativas para a distribuição dos simuladores. É realizada, ainda, uma análise comparativa entre as versões propostas.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Os problemas relativos ao sistema bancário até bem pouco tempo não eram considerados pelos economistas pelo fato de terem as atividades governamentais poder de controlá-lo Uma vez que as autoridades pudessem intervir qualquer instante no sistema de modo corrigir qualquer de suas tendências, pensavam os estudiosos dos problemas econômicos que deste modo sendo sistema bancário controlado pelo governo qualquer esforço de explicação teórica de seu funcionamento seria infrutífero. Daí porque por muito tempo pouco ou quase nada se fez neste campo. Estudou-se os sistemas bancários como simples peça de um complexo chamado Sistema Monetário, sem preocupação de se formular uma teoria a respeito do sistema operacional dos bancos, estrutura concorrencial, composição dos custos etc. Por este motivo torna-se difícil preparar um estudo, neste campo, rico em teoria. A escassez de teorias bem como dificuldade de acesso as mesmas por serem mais ou menos recentes os estudos feitos nos países adiantados ainda não são muito divulgados fora dos mesmos alem da imaturidade que possuo, impediram-me de elaborar um estudo bem mais safisfiçado como era de se esperar. Por outro lado as limitações de tempo financeiras de informações foram responsáveis pela falta de profundidade de alguns pontos.

Relevância:

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

60.00% 60.00%

Publicador:

Resumo:

The work described in this thesis aims to support the distributed design of integrated systems and considers specifically the need for collaborative interaction among designers. Particular emphasis was given to issues which were only marginally considered in previous approaches, such as the abstraction of the distribution of design automation resources over the network, the possibility of both synchronous and asynchronous interaction among designers and the support for extensible design data models. Such issues demand a rather complex software infrastructure, as possible solutions must encompass a wide range of software modules: from user interfaces to middleware to databases. To build such structure, several engineering techniques were employed and some original solutions were devised. The core of the proposed solution is based in the joint application of two homonymic technologies: CAD Frameworks and object-oriented frameworks. The former concept was coined in the late 80's within the electronic design automation community and comprehends a layered software environment which aims to support CAD tool developers, CAD administrators/integrators and designers. The latter, developed during the last decade by the software engineering community, is a software architecture model to build extensible and reusable object-oriented software subsystems. In this work, we proposed to create an object-oriented framework which includes extensible sets of design data primitives and design tool building blocks. Such object-oriented framework is included within a CAD Framework, where it plays important roles on typical CAD Framework services such as design data representation and management, versioning, user interfaces, design management and tool integration. The implemented CAD Framework - named Cave2 - followed the classical layered architecture presented by Barnes, Harrison, Newton and Spickelmier, but the possibilities granted by the use of the object-oriented framework foundations allowed a series of improvements which were not available in previous approaches: - object-oriented frameworks are extensible by design, thus this should be also true regarding the implemented sets of design data primitives and design tool building blocks. This means that both the design representation model and the software modules dealing with it can be upgraded or adapted to a particular design methodology, and that such extensions and adaptations will still inherit the architectural and functional aspects implemented in the object-oriented framework foundation; - the design semantics and the design visualization are both part of the object-oriented framework, but in clearly separated models. This allows for different visualization strategies for a given design data set, which gives collaborating parties the flexibility to choose individual visualization settings; - the control of the consistency between semantics and visualization - a particularly important issue in a design environment with multiple views of a single design - is also included in the foundations of the object-oriented framework. Such mechanism is generic enough to be also used by further extensions of the design data model, as it is based on the inversion of control between view and semantics. The view receives the user input and propagates such event to the semantic model, which evaluates if a state change is possible. If positive, it triggers the change of state of both semantics and view. Our approach took advantage of such inversion of control and included an layer between semantics and view to take into account the possibility of multi-view consistency; - to optimize the consistency control mechanism between views and semantics, we propose an event-based approach that captures each discrete interaction of a designer with his/her respective design views. The information about each interaction is encapsulated inside an event object, which may be propagated to the design semantics - and thus to other possible views - according to the consistency policy which is being used. Furthermore, the use of event pools allows for a late synchronization between view and semantics in case of unavailability of a network connection between them; - the use of proxy objects raised significantly the abstraction of the integration of design automation resources, as either remote or local tools and services are accessed through method calls in a local object. The connection to remote tools and services using a look-up protocol also abstracted completely the network location of such resources, allowing for resource addition and removal during runtime; - the implemented CAD Framework is completely based on Java technology, so it relies on the Java Virtual Machine as the layer which grants the independence between the CAD Framework and the operating system. All such improvements contributed to a higher abstraction on the distribution of design automation resources and also introduced a new paradigm for the remote interaction between designers. The resulting CAD Framework is able to support fine-grained collaboration based on events, so every single design update performed by a designer can be propagated to the rest of the design team regardless of their location in the distributed environment. This can increase the group awareness and allow a richer transfer of experiences among them, improving significantly the collaboration potential when compared to previously proposed file-based or record-based approaches. Three different case studies were conducted to validate the proposed approach, each one focusing one a subset of the contributions of this thesis. The first one uses the proxy-based resource distribution architecture to implement a prototyping platform using reconfigurable hardware modules. The second one extends the foundations of the implemented object-oriented framework to support interface-based design. Such extensions - design representation primitives and tool blocks - are used to implement a design entry tool named IBlaDe, which allows the collaborative creation of functional and structural models of integrated systems. The third case study regards the possibility of integration of multimedia metadata to the design data model. Such possibility is explored in the frame of an online educational and training platform.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A execução de testes é um passo essencial na adoção de novos protocolos de comunicação e sistemas distribuídos. A forma com que estes se comportam na presença de falhas, tão comuns em ambientes geograficamente distribuídos, deve ser conhecida e considerada. Testes sob condições de falha devem ser realizados e as implementações devem trabalhar dentro de sua especificação nestas condições, garantindo explicitamente o funcionamento dos seus mecanismos de detecção e recuperação de erros. Para a realização de tais testes, uma técnica poderosa é a injeção de falhas. Ferramentas de injeção de falhas permitem ao projetista ou engenheiro de testes medir a eficiência dos mecanismos de um sistema antes que o mesmo seja colocado em operação efetiva. Este trabalho apresenta o projeto, desenvolvimento e teste do injetor de falhas FIRMAMENT. Esta ferramenta executa, dentro do núcleo do sistema operacional, microprogramas, ou faultlets, sobre cada mensagem processada para a emulação de situações de falha de comunicação, utilizando uma abordagem de scripts. A ferramenta é implementada como um módulo de núcleo do sistema operacional Linux, tendo acesso total aos fluxos de entrada e saída de pacotes de forma limpa e não intrusiva, permitindo o teste de sistemas baseados nos protocolos IPv4 e IPv6. Seu desempenho é significativo, já que a ferramenta evita que os mecanismos de injeção de falhas sejam invocados nos fluxos que não sejam de interesse aos testes, bem como dispensa a cópia de dados dos pacotes de comunicação a serem inspecionados e manipulados. A aplicabilidade da ferramenta, dada pela sua facilidade de integração a um ambiente de produção, é conseqüência de sua disponibilidade como um módulo de núcleo, podendo ser carregada como um plugin em um núcleo não modificado. As instruções por FIRMAMENT suportadas lhe dão alto poder de expressão dos cenários de falhas. Estas instruções permitem a inspeção e seleção de mensagens de forma determinística ou estatística. Além disso, fornecem diversas ações a serem realizadas sobre os pacotes de comunicação e sobre as variáveis internas do injetor, fazendo-o imitar o comportamento de falhas reais, como descarte e duplicação de mensagens, atraso na sua entrega e modificação de seu conteúdo. Estas características tornam a ferramenta apropriada para a realização de experimentos sobre protocolos e sistemas distribuídos.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Versão com menu acessível para leitores de tela e vídeo com audiodescrição

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Versão com menu acessível para leitores de tela e vídeo com audiodescrição.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O material apresenta explicações e exemplos de processos e threads (tarefas). Destaca ainda a multitasking (capacidade do Sistema Operacional de ter mais de um processo em execução ao mesmo tempo), a estrutura interna de um Sistema Operacional, as interrupções síncronas e assíncronas, o gerenciamento de múltiplos processos (tarefas, ou tasks) e a técnica de multiprogramação. O material também cita e descreve o sistema operacional multiusuário; o multiprocessamento e as múltiplas threads (tarefas) em um mesmo processo.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O material apresenta uma visão geral de subsistemas de entrada e saída (E/S) de dados, destacando seu gerenciamento. O texto traz também as atuações do Sistema Operacional nas operações de E/S (emitir comandos para os dispositivos, atender interrupções geradas pelos dispositivos, tratar erros nas operações desses dispositivos, prover uma interface para utilização dos dispositivos), os aspectos de hardware, os aspectos de software e seus objetivos (independência de dispositivo, nomeação uniforme; manipulação de erros; transferência síncrona (bloqueante) e assíncrona (orientada a interrupções); dispositivos compartilhados e dedicados). Por fim, destaca uma forma de estruturação do software de E/S através de: Tratadores de interrupção, controladores de dispositivos, software de E/S independente de dispositivo e Software de E/S ao nível do usuário.