935 resultados para Operating systems laboratory
Resumo:
Mestrado em Engenharia Electrotécnica e de Computadores.
Resumo:
Os serviços baseados em localização vieram dar um novo alento à criatividade dos programadores de aplicações móveis. A vulgarização de dispositivos com capacidades de localização integradas deu origem ao desenvolvimento de aplicações que gerem e apresentam informação baseada na posição do utilizador. Desde então, o mercado móvel tem assistido ao aparecimento de novas categorias de aplicações que tiram proveito desta capacidade. Entre elas, destaca-se a monitorização remota de dispositivos, que tem vindo a assumir uma importância crescente, tanto no sector particular como no sector empresarial. Esta dissertação começa por apresentar o estado da arte sobre os diferentes sistemas de posicionamento, categorizados pela sua eficácia em ambientes internos ou externos, assim como diferentes protocolos de comunicação em tempo quase-real. É também feita uma análise ao estado actual do mercado móvel. Actualmente o mercado possui diferentes plataformas móveis com características únicas que as fazem rivalizar entre si, com vista a expandirem a sua quota de mercado. É por isso elaborado um breve estudo sobre os sistemas operativos móveis mais relevantes da actualidade. É igualmente feita uma abordagem mais profunda à arquitectura da plataforma móvel da Apple - o iOS – que serviu de base ao desenvolvimento de uma solução optimizada para localização e monitorização de dispositivos móveis. A monitorização implica uma utilização intensiva de recursos energéticos e de largura de banda que os dispositivos móveis da actualidade não estão aptos a suportar. Dado o grande consumo energético do GPS face à precária autonomia destes dispositivos, é apresentado um estudo em que se expõem soluções que permitem gerir de forma optimizada a utilização do GPS. O elevado custo dos planos de dados facultados pelas operadoras móveis é também considerado, pelo que são exploradas soluções que visam minimizar a utilização de largura de banda. Deste trabalho, nasce a aplicação EyeGotcha, que para além de permitir localizar outros utilizadores de dispositivos móveis de forma optimizada, permite também monitorizar as suas acções baseando-se num conjunto de regras pré-definidas. Estas acções são reportadas às entidades monitoras, de modo automatizado e sob a forma de alertas. Visionando-se a comercialização da aplicação, é portanto apresentado um modelo de negócio que permite obter receitas capazes de cobrirem os custos de manutenção de serviços, aos quais o funcionamento da aplicação móvel está subjugado.
Resumo:
A crescente necessidade imposta pela gama de aplicações existentes, torna o estudo dos veículos autónomos terrestres um objecto de grande interesse na investigação. A utilização de robots móveis autónomos originou quer um incremento de eficiência e eficácia em inúmeras aplicações como permite a intervenção humana em contextos de elevado risco ou inacessibilidade. Aplicações de monitorização e segurança constituem um foco de utilização deste tipo de sistemas quer pela automatização de procedimentos quer pelos ganhos de eficiência (desde a eficiência de soluções multi-veículo à recolha e detecção de informação). Neste contexto, esta dissertação endereça o problema de concepção, o desenvolvimento e a implementação de um veículo autónomo terrestre, com ênfase na perspectiva de controlo. Este projecto surge pois no âmbito do desenvolvimento de um novo veículo terrestre no Laboratório de Sistemas Autónomos (LSA) do Instituto Superior de Engenharia do Porto (ISEP). É efectuado um levantamento de requisitos do sistema tendo por base a caracterização de aplicações de monitorização, transporte e vigilância em cenários exteriores pouco estruturados. Um estado da arte em veículos autónomos terrestres é apresentado bem como conceitos e tecnologias relevantes para o controlo deste tipo de sistemas. O problema de controlo de locomoção é abordado tendo em particular atenção o controlo de motores DC brushless. Apresenta-se o projecto do sistema de controlo do veículo, desde o controlo de tracção e direcção, ao sistema computacional de bordo responsável pelo controlo e supervisão da missão. A solução adoptada para a implementação mecânica da estrutura do veículo consiste numa plataforma de veículo todo terreno (motociclo 4X4) disponível comercialmente. O projecto e implementação do sistema de controlo de direcção para o mesmo é apresentado quer sob o ponto de vista da solução electromecânica, quer pelo subsistema de hardware de controlo embebido e respectivo software. Tendo em vista o controlo de tracção são apresentadas duas soluções. Uma passando pelo estudo e desenvolvimento de um sistema de raiz capaz de controlar motores BLDC de elevada potência, a segunda passando pela utilização de uma solução através de um controlador externo. A gestão energética do sistema é abordada através do projecto e implementação de um sistema de controlo e distribuição de energia específico. A implementação do veículo foi alcançada nas suas vertentes mecânica, de hardware e software, envolvendo a integração dos subsistemas projectados especialmente bem como a implementação do sistema computacional de bordo. São apresentados resultados de validação do controlo de locomoção básico quer em simulação quer descritos os testes e validações efectuados no veículo real. No presente trabalho, são também tiradas algumas conclusões sobre o desenvolvimento do sistema e sua implementação bem como perspectivada a sua evolução futura no contexto de missões coordenadas de múltiplos veículos robóticos.
Resumo:
Esta dissertação visa o desenvolvimento de um sistema de busca e salvamento baseado em múltiplos veículos terrestres, utilizando para tal os veículos LINCE do Laboratório de Sistemas Autónomos. Tendo como principal propósito conferir autonomia aos veículos, foram estudados possíveis cenários de actuação, para determinar as principais funcionalidades requeridas do sistema. Foram também estudadas metodologias de análise e caracterização de sistemas multirobóticos, baseadas no estado da arte existente, e foi elaborada a arquitectura conceptual do sistema e dos veículos a desenvolver. A preparação dos veículos abordou o estudo das possíveis soluções sensoriais e de actuação, e o desenvolvimento de uma arquitectura de hardware capaz de interligar todos os periféricos dos mesmos. Foram adaptados novos sensores e actuadores, e desenvolvidos alguns desses sensores. Para a interligação e manutenção dos mesmos foram ainda desenvolvidos novos periféricos de interface e controlo, e periféricos de gestão de energia. Por fim, foi ainda adaptado um gestor de missões nos veículos, capaz de receber a especificação das mesmas.
Resumo:
Neste trabalho propus-me realizar um Sistema de Aquisição de Dados em Tempo Real via Porta Paralela. Para atingir com sucesso este objectivo, foi realizado um levantamento bibliográfico sobre sistemas operativos de tempo real, salientando e exemplificando quais foram marcos mais importantes ao longo da sua evolução. Este levantamento permitiu perceber o porquê da proliferação destes sistemas face aos custos que envolvem, em função da sua aplicação, bem como as dificuldades, científicas e tecnológicas, que os investigadores foram tendo, e que foram ultrapassando com sucesso. Para que Linux se comporte como um sistema de tempo real, é necessário configura-lo e adicionar um patch, como por exemplo o RTAI ou ADEOS. Como existem vários tipos de soluções que permitem aplicar as características inerentes aos sistemas de tempo real ao Linux, foi realizado um estudo, acompanhado de exemplos, sobre o tipo de arquitecturas de kernel mais utilizadas para o fazer. Nos sistemas operativos de tempo real existem determinados serviços, funcionalidades e restrições que os distinguem dos sistemas operativos de uso comum. Tendo em conta o objectivo do trabalho, e apoiado em exemplos, fizemos um pequeno estudo onde descrevemos, entre outros, o funcionamento escalonador, e os conceitos de latência e tempo de resposta. Mostramos que há apenas dois tipos de sistemas de tempo real o ‘hard’ que tem restrições temporais rígidas e o ‘soft’ que engloba as restrições temporais firmes e suaves. As tarefas foram classificadas em função dos tipos de eventos que as despoletam, e evidenciando as suas principais características. O sistema de tempo real eleito para criar o sistema de aquisição de dados via porta paralela foi o RTAI/Linux. Para melhor percebermos o seu comportamento, estudamos os serviços e funções do RTAI. Foi dada especial atenção, aos serviços de comunicação entre tarefas e processos (memória partilhada e FIFOs), aos serviços de escalonamento (tipos de escalonadores e tarefas) e atendimento de interrupções (serviço de rotina de interrupção - ISR). O estudo destes serviços levou às opções tomadas quanto ao método de comunicação entre tarefas e serviços, bem como ao tipo de tarefa a utilizar (esporádica ou periódica). Como neste trabalho, o meio físico de comunicação entre o meio ambiente externo e o hardware utilizado é a porta paralela, também tivemos necessidade de perceber como funciona este interface. Nomeadamente os registos de configuração da porta paralela. Assim, foi possível configura-lo ao nível de hardware (BIOS) e software (módulo do kernel) atendendo aos objectivos do presente trabalho, e optimizando a utilização da porta paralela, nomeadamente, aumentando o número de bits disponíveis para a leitura de dados. No desenvolvimento da tarefa de hard real-time, foram tidas em atenção as várias considerações atrás referenciadas. Foi desenvolvida uma tarefa do tipo esporádica, pois era pretendido, ler dados pela porta paralela apenas quando houvesse necessidade (interrupção), ou seja, quando houvesse dados disponíveis para ler. Desenvolvemos também uma aplicação para permitir visualizar os dados recolhidos via porta paralela. A comunicação entre a tarefa e a aplicação é assegurada através de memória partilhada, pois garantindo a consistência de dados, a comunicação entre processos do Linux e as tarefas de tempo real (RTAI) que correm ao nível do kernel torna-se muito simples. Para puder avaliar o desempenho do sistema desenvolvido, foi criada uma tarefa de soft real-time cujos tempos de resposta foram comparados com os da tarefa de hard real-time. As respostas temporais obtidas através do analisador lógico em conjunto com gráficos elaborados a partir destes dados, mostram e comprovam, os benefícios do sistema de aquisição de dados em tempo real via porta paralela, usando uma tarefa de hard real-time.
Resumo:
A constante evolução da tecnologia obriga a que o mundo empresarial tenha que alocar esforços para se manter actualizado. Os equipamentos tecnológicos que se encontram actualmente na vanguarda da tecnologia são os dispositivos móveis, que cada vez mais nos rodeiam e acompanham com o intuito de nos facilitar a execução de tarefas rotineiras. O ramo de construção e obras públicas em particular é um sector que obriga a que os seus trabalhadores estejam constantemente em movimento, e que muito têm a ganhar com a utilização de ferramentas de trabalho em equipamentos móveis. Neste projecto pretendeu-se identificar qual o sistema operativo para dispositivos móveis que melhor se enquadra com as necessidades empresariais, assim como quais os mecanismos de comunicação inter-máquinas que melhor se enquadram com o cenário em estudo. Foi então desenvolvida uma plataforma para dispositivos móveis que permite agilizar a execução de processos que normalmente são morosos ou que obrigam à utilização do computador em locais menos próprios, nomeadamente o ambiente de obra. A solução proposta e implementada envolve uma aplicação modular quer permita a fácil inserção e remoção de módulos. Foram também realizados os estudos e implementações de quatro módulos, designadamente: auto-afectação, conferência documental, fornecedores e presenças em obra. Concluído este projecto, ficam reunidas as condições para o fácil desenvolvimento de novos módulos, visando inovação e optimização dos processos de trabalho da empresa.
Resumo:
In the actual world, the impact of the software buying decisions has a rising relevance in social and economic terms. This research tries to explain it focusing on the organizations buying decisions of Operating Systems and Office Suites for personal computers and the impact on the competition between incumbent and alternative players in the market in these software categories, although the research hypotheses and conclusions may extend to other software categories and platforms. We concluded that in this market beside brand image, product features or price, other factors could have influence in the buying choices. Network effect, switching costs, local network effect, lock-in or consumer heterogeneity all have influence in the buying decision, protecting the incumbent and making it difficult for the competitive alternatives, based mainly on product features and price, to gain market share to the incumbent. This happens in a stronger way in the Operating Systems category.
Resumo:
The case of desktop Operating System and Office Suite choices considering Proprietary and Open Source Software alternatives.
Resumo:
Este trabalho é baseado no simulador de redes PST2200 do Laboratório de Sistemas de Energia (LSE) pois está avariado com vários problemas conhecidos, designadamente: - Defeito de isolamento (disparo de diferencial), - Desregulação da velocidade da máquina primária (motor DC), - Circuito de excitação da máquina síncrona inoperacional, - Inexistência de esquemas elétricos dos circuitos do simulador, - Medidas desreguladas e com canais de medida com circuito impresso queimado. O trabalho executado foi: - O levantamento e desenho de raiz (não existe qualquer manual) dos esquemas dos 10 módulos do simulador, designadamente naqueles com avaria ou com desempenho problemático a fim de que se possa ter uma visão mais pormenorizada dos circuitos e seus problemas, por forma a intervir para os minimizar e resolver, - Foi realizado o diagnóstico de avaria do simulador e foram propostas soluções para os mesmos, - Realizaram-se as intervenções propostas e aprovadas. Nas intervenções realizadas, os princípios orientadores foram: - Aumentar a robustez do equipamento por forma a garantir a sua integridade a utilizações menos apropriados e manobras 'exóticas' próprias de alunos, que pela sua condição, estão em fase de aprendizagem, - Atualizar o equipamento, colocando-o em sintonia com o 'estado da arte', - Como fator de valorização suplementar, foi concebida e aplicada a supervisão remota do funcionamento do simulador através da rede informática. Foram detetados inúmeros erros: - Má ligação do motor de corrente continua ao variador, resultando a falta de controlo da frequência da rede do sistema, - Ligações entre painéis trocadas resultando em avarias diversas das fontes de alimentação, - Cartas eletrónicas de medidas avariadas e que além de se reparar, foram também calibradas. Devido ao mecenato da empresa Schnitt + Sohn participando monetariamente, fez-se o projeto de alteração e respetiva execução de grande parte do simulador aumentando a fiabilidade do mesmo, diminuindo assim a frequência das avarias naturais mais as que acontecem involuntariamente devido a este ser um instrumento didático. Além do trabalho elétrico, foi feito muito trabalho de chaparia para alteração de estrutura e suporte do material com diferenças de posicionamento. Neste trabalho dá-se também alguns exemplos de cálculo e simulação das redes de transporte que se pode efetuar no simulador como estudo e simulação de avarias num sistema produtivo real. Realizou-se a monitorização de dois aparelhos indicadores de parâmetros de energia (Janitza UMG96S) através duma rede com dois protocolos ethernet e profibus utilizando o plc (Omron CJ2M) como valorização do trabalho.
Integration of an automatic storage and retrieval system (ASRS) in a discrete-part automation system
Resumo:
This technical report describes the work carried out in a project within the ERASMUS programme. The objective of this project was the Integration of an Automatic Warehouse in a Discrete-Part Automation System. The discrete-part automation system located at the LASCRI (Critical Systems) laboratory at ISEP was extended with automatic storage and retrieval of the manufacturing parts, through the integration of an automatic warehouse and an automatic guided vehicle (AGV).
Resumo:
In the past few years Tabling has emerged as a powerful logic programming model. The integration of concurrent features into the implementation of Tabling systems is demanded by need to use recently developed tabling applications within distributed systems, where a process has to respond concurrently to several requests. The support for sharing of tables among the concurrent threads of a Tabling process is a desirable feature, to allow one of Tabling’s virtues, the re-use of computations by other threads and to allow efficient usage of available memory. However, the incremental completion of tables which are evaluated concurrently is not a trivial problem. In this dissertation we describe the integration of concurrency mechanisms, by the way of multi-threading, in a state of the art Tabling and Prolog system, XSB. We begin by reviewing the main concepts for a formal description of tabled computations, called SLG resolution and for the implementation of Tabling under the SLG-WAM, the abstract machine supported by XSB. We describe the different scheduling strategies provided by XSB and introduce some new properties of local scheduling, a scheduling strategy for SLG resolution. We proceed to describe our implementation work by describing the process of integrating multi-threading in a Prolog system supporting Tabling, without addressing the problem of shared tables. We describe the trade-offs and implementation decisions involved. We then describe an optimistic algorithm for the concurrent sharing of completed tables, Shared Completed Tables, which allows the sharing of tables without incurring in deadlocks, under local scheduling. This method relies on the execution properties of local scheduling and includes full support for negation. We provide a theoretical framework and discuss the implementation’s correctness and complexity. After that, we describe amethod for the sharing of tables among threads that allows parallelism in the computation of inter-dependent subgoals, which we name Concurrent Completion. We informally argue for the correctness of Concurrent Completion. We give detailed performance measurements of the multi-threaded XSB systems over a variety of machines and operating systems, for both the Shared Completed Tables and the Concurrent Completion implementations. We focus our measurements inthe overhead over the sequential engine and the scalability of the system. We finish with a comparison of XSB with other multi-threaded Prolog systems and we compare our approach to concurrent tabling with parallel and distributed methods for the evaluation of tabling. Finally, we identify future research directions.
Resumo:
Many-core platforms based on Network-on-Chip (NoC [Benini and De Micheli 2002]) present an emerging technology in the real-time embedded domain. Although the idea to group the applications previously executed on separated single-core devices, and accommodate them on an individual many-core chip offers various options for power savings, cost reductions and contributes to the overall system flexibility, its implementation is a non-trivial task. In this paper we address the issue of application mapping onto a NoCbased many-core platform when considering fundamentals and trends of current many-core operating systems, specifically, we elaborate on a limited migrative application model encompassing a message-passing paradigm as a communication primitive. As the main contribution, we formulate the problem of real-time application mapping, and propose a three-stage process to efficiently solve it. Through analysis it is assured that derived solutions guarantee the fulfilment of posed time constraints regarding worst-case communication latencies, and at the same time provide an environment to perform load balancing for e.g. thermal, energy, fault tolerance or performance reasons.We also propose several constraints regarding the topological structure of the application mapping, as well as the inter- and intra-application communication patterns, which efficiently solve the issues of pessimism and/or intractability when performing the analysis.
Resumo:
Admission controllers are used to prevent overload in systems with dynamically arriving tasks. Typically, these admission controllers are based on suÆcient (but not necessary) capacity bounds in order to maintain a low computational complexity. In this paper we present how exact admission-control for aperiodic tasks can be eÆciently obtained. Our rst result is an admission controller for purely aperiodic task sets where the test has the same runtime complexity as utilization-based tests. Our second result is an extension of the previous controller for a baseload of periodic tasks. The runtime complexity of this test is lower than for any known exact admission-controller. In addition to presenting our main algorithm and evaluating its performance, we also discuss some general issues concerning admission controllers and their implementation.
Resumo:
Traditional Real-Time Operating Systems (RTOS) are not designed to accommodate application specific requirements. They address a general case and the application must co-exist with any limitations imposed by such design. For modern real-time applications this limits the quality of services offered to the end-user. Research in this field has shown that it is possible to develop dynamic systems where adaptation is the key for success. However, adaptation requires full knowledge of the system state. To overcome this we propose a framework to gather data, and interact with the operating system, extending the traditional POSIX trace model with a partial reflective model. Such combination still preserves the trace mechanism semantics while creating a powerful platform to develop new dynamic systems, with little impact in the system and avoiding complex changes in the kernel source code.
Resumo:
Typically common embedded systems are designed with high resource constraints. Static designs are often chosen to address very specific use cases. On contrast, a dynamic design must be used if the system must supply a real-time service where the input may contain factors of indeterminism. Thus, adding new functionality on these systems is often accomplished by higher development time, tests and costs, since new functionality push the system complexity and dynamics to a higher level. Usually, these systems have to adapt themselves to evolving requirements and changing service requests. In this perspective, run-time monitoring of the system behaviour becomes an important requirement, allowing to dynamically capturing the actual scheduling progress and resource utilization. For this to succeed, operating systems need to expose their internal behaviour and state, making it available to the external applications, usually using a run-time monitoring mechanism. However, such mechanism can impose a burden in the system itself if not wisely used. In this paper we explore this problem and propose a framework, which is intended to provide this run-time mechanism whilst achieving code separation, run-time efficiency and flexibility for the final developer.