• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 282
  • 12
  • 12
  • 12
  • 12
  • 11
  • 11
  • 11
  • 11
  • 9
  • 1
  • Tagged with
  • 292
  • 292
  • 197
  • 94
  • 78
  • 70
  • 68
  • 61
  • 49
  • 47
  • 38
  • 38
  • 32
  • 32
  • 32
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
81

Avaliação do comportamento de sistemas operacionais em situação de Thrashing / Douglas Santos ; orientador, Carlos Maziero

Santos, Douglas, 1979- January 2009 (has links)
Dissertação (mestrado) - Pontifícia Universidade Católica do Paraná, Curitiba, 2009 / Bibliografia: f. 61 / Em um sistema operacional convencional, o mecanismo de memória virtual permite usar discos rígidos como uma extensão da memória física. Dessa forma, torna-se possível oferecer aos processos em execução mais memória que aquela fisicamente disponível no sis / The virtual memory mechanism of a conventional operating system allows to use disks as an extension of the physical memory. Using this, it offers to running process more memory space than that physically available in the system. However, as storage device
82

Tuplebiz : um espaço de tuplas distribuido e com suporte a transações resilientes a falhas bizantinas / Tuplebiz: a distributed tuple space resilient to byzantine faults

Souza, Gisele Pinheiro January 2012 (has links)
Os modelos de coordenação de comunicação possibilitam a cooperação entre os diversos processos que fazem parte de um sistema distribuído. O modelo de coordenação de espaço de dados compartilhado, o qual é representado pelo espaço de tuplas, permite que a comunicação tenha tanto desacoplamento referencial quanto temporal. Devido essas características, o espaço de tuplas é frequentemente usado em aplicações pervasivas e paralelas. A habilidade de tolerar a falhas é importante para ambos os tipos de aplicações. Para aplicações pervasivas na área médica, uma falha pode custar vidas. Nesse contexto, esse trabalho propõe o Tuplebiz, um espaço de tuplas distribuído que suporta transações em um ambiente sujeito a falhas bizantinas. As falhas bizantinas encapsulam uma variedade de comportamentos faltosos que podem ocorrer no sistema. O Tuplebiz é dividido em partições de dados para facilitar a distribuição entre diferentes servidores. Cada partição garante tolerância a falhas por meio de replicação de máquina de estados. Adicionalmente, o Tuplebiz também provê transações que possuem as propriedades ACID, isto é, as propriedades de atomicidade, consistência, isolamento e durabilidade. O gerente de transações é responsável por garantir o isolamento das transações. Testes de desempenho e injeção de falhas foram realizados. A latência do Tuplebiz sem falhas é aproximadamente 2,8 vezes maior que a latência de um sistema não replicado. Os testes de injeção tiveram como base um framework de testes de injeção de falhas para sistemas tolerantes a falhas bizantinas. Os testes avaliaram os seguintes tipos de falha: mensagens perdidas, atrasos de envio de mensagens, corrupção de mensagens, suspensão do sistema e crash. A latência no caso de falhas foi maior que no caso sem falhas, mas todas as falhas foram suportadas pelo Tuplebiz. Como estudo de caso, é revisada a integração do Tuplebiz com a Guaraná, uma linguagem específica de domínio usada para modelar soluções de integração de sistemas. As tarefas de uma solução de integração na Guaraná são centralizadas atualmente. A proposta de integração prevê a distribuição das tarefas entre diferentes servidores. / The coordination models enable the communication among the process in a distributed system. The shared data model is time and referential decoupled, which is represented by tuple spaces. For this reason, the tuple space is used by parallel and pervasive applications. The fault tolerance is very important for both type of application. For healthcare applications, the fault can cost a life. In this context, this work introduces the Tuplebiz, a distributed tuple space that supports transactions in environment where byzantine faults can occur. Byzantine faults include many types of system faults. The Tuplebiz is spitted in partitions. The main idea behind it is to distribute the tuple space among servers. Each partition guarantees the fault tolerance by using state machine replication. Furthermore, Tuplebiz has transaction support, which follows the ACID properties (atomicity, consistency, isolation, durability). The transaction manager is responsible for maintaining the isolation. Performance and fault injection tests were made in order to evaluate the Tuplebiz. The Tuplebiz latency is approximately 2.8 times bigger than the one for a non replicated system. The injection tests were based on an injection fault framework for byzantine faults. The tests applied were: lost message, delay message, corrupted message, system suspension and crash. The latency was worst on those cases; however the Tuplebiz was able to deal with all of them. Also, a case is presented. This case shows the integration between Tuplebiz and Guaraná, which is a domain specific language, used for designing Enterprise Application Integration applications. The solution integration tasks are centralized nowadays. The integration approach aims to distribute the tasks among servers.
83

ORPIS: um modelo de consistência de conteúdo replicado em servidores Web distribuídos

Lima, Cristiano Cachapuz e January 2003 (has links)
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.
84

Real-time operating system support for multicore applications

Gracioli, Giovani January 2014 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2014 / Made available in DSpace on 2015-02-05T21:15:28Z (GMT). No. of bitstreams: 1 328605.pdf: 3709437 bytes, checksum: 81e0fb95e092d5a351413aae5a972ac2 (MD5) Previous issue date: 2014 / Plataformas multiprocessadas atuais possuem diversos níveis da memória cache entre o processador e a memória principal para esconder a latência da hierarquia de memória. O principal objetivo da hierarquia de memória é melhorar o tempo médio de execução, ao custo da previsibilidade. O uso não controlado da hierarquia da cache pelas tarefas de tempo real impacta a estimativa dos seus piores tempos de execução, especialmente quando as tarefas de tempo real acessam os níveis da cache compartilhados. Tal acesso causa uma disputa pelas linhas da cache compartilhadas e aumenta o tempo de execução das aplicações. Além disso, essa disputa na cache compartilhada pode causar a perda de prazos, o que é intolerável em sistemas de tempo real críticos. O particionamento da memória cache compartilhada é uma técnica bastante utilizada em sistemas de tempo real multiprocessados para isolar as tarefas e melhorar a previsibilidade do sistema. Atualmente, os estudos que avaliam o particionamento da memória cache em multiprocessadores carecem de dois pontos fundamentais. Primeiro, o mecanismo de particionamento da cache é tipicamente implementado em um ambiente simulado ou em um sistema operacional de propósito geral. Consequentemente, o impacto das atividades realizados pelo núcleo do sistema operacional, tais como o tratamento de interrupções e troca de contexto, no particionamento das tarefas tende a ser negligenciado. Segundo, a avaliação é restrita a um escalonador global ou particionado, e assim não comparando o desempenho do particionamento da cache em diferentes estratégias de escalonamento. Ademais, trabalhos recentes confirmaram que aspectos da implementação do SO, tal como a estrutura de dados usada no escalonamento e os mecanismos de tratamento de interrupções, impactam a escalonabilidade das tarefas de tempo real tanto quanto os aspectos teóricos. Entretanto, tais estudos também usaram sistemas operacionais de propósito geral com extensões de tempo real, que afetamos sobre custos de tempo de execução observados e a escalonabilidade das tarefas de tempo real. Adicionalmente, os algoritmos de escalonamento tempo real para multiprocessadores atuais não consideram cenários onde tarefas de tempo real acessam as mesmas linhas da cache, o que dificulta a estimativa do pior tempo de execução. Esta pesquisa aborda os problemas supracitados com as estratégias de particionamento da cache e com os algoritmos de escalonamento tempo real multiprocessados da seguinte forma. Primeiro, uma infraestrutura de tempo real para multiprocessadores é projetada e implementada em um sistema operacional embarcado. A infraestrutura consiste em diversos algoritmos de escalonamento tempo real, tais como o EDF global e particionado, e um mecanismo de particionamento da cache usando a técnica de coloração de páginas. Segundo, é apresentada uma comparação em termos da taxa de escalonabilidade considerando o sobre custo de tempo de execução da infraestrutura criada e de um sistema operacional de propósito geral com extensões de tempo real. Em alguns casos, o EDF global considerando o sobre custo do sistema operacional embarcado possui uma melhor taxa de escalonabilidade do que o EDF particionado com o sobre custo do sistema operacional de propósito geral, mostrando claramente como diferentes sistemas operacionais influenciam os escalonadores de tempo real críticos em multiprocessadores. Terceiro, é realizada uma avaliação do impacto do particionamento da memória cache em diversos escalonadores de tempo real multiprocessados. Os resultados desta avaliação indicam que um sistema operacional "leve" não compromete as garantias de tempo real e que o particionamento da cache tem diferentes comportamentos dependendo do escalonador e do tamanho do conjunto de trabalho das tarefas. Quarto, é proposto um algoritmo de particionamento de tarefas que atribui as tarefas que compartilham partições ao mesmo processador. Os resultados mostram que essa técnica de particionamento de tarefas reduz a disputa pelas linhas da cache compartilhadas e provê garantias de tempo real para sistemas críticos. Finalmente, é proposto um escalonador de tempo real de duas fases para multiprocessadores. O escalonador usa informações coletadas durante o tempo de execução das tarefas através dos contadores de desempenho em hardware. Com base nos valores dos contadores, o escalonador detecta quando tarefas de melhor esforço o interferem com tarefas de tempo real na cache. Assim é possível impedir que tarefas de melhor esforço acessem as mesmas linhas da cache que tarefas de tempo real. O resultado desta estratégia de escalonamento é o atendimento dos prazos críticos e não críticos das tarefas de tempo real.<br> / Abstracts: Modern multicore platforms feature multiple levels of cache memory placed between the processor and main memory to hide the latency of ordinary memory systems. The primary goal of this cache hierarchy is to improve average execution time (at the cost of predictability). The uncontrolled use of the cache hierarchy by realtime tasks may impact the estimation of their worst-case execution times (WCET), specially when real-time tasks access a shared cache level, causing a contention for shared cache lines and increasing the application execution time. This contention in the shared cache may leadto deadline losses, which is intolerable particularly for hard real-time (HRT) systems. Shared cache partitioning is a well-known technique used in multicore real-time systems to isolate task workloads and to improve system predictability. Presently, the state-of-the-art studies that evaluate shared cache partitioning on multicore processors lack two key issues. First, the cache partitioning mechanism is typically implemented either in a simulated environment or in a general-purpose OS (GPOS), and so the impact of kernel activities, such as interrupt handlers and context switching, on the task partitions tend to be overlooked. Second, the evaluation is typically restricted to either a global or partitioned scheduler, thereby by falling to compare the performance of cache partitioning when tasks are scheduled by different schedulers. Furthermore, recent works have confirmed that OS implementation aspects, such as the choice of scheduling data structures and interrupt handling mechanisms, impact real-time schedulability as much as scheduling theoretic aspects. However, these studies also used real-time patches applied into GPOSes, which affects the run-time overhead observed in these works and consequently the schedulability of real-time tasks. Additionally, current multicore scheduling algorithms do not consider scenarios where real-time tasks access the same cache lines due to true or false sharing, which also impacts the WCET. This thesis addresses these aforementioned problems with cache partitioning techniques and multicore real-time scheduling algorithms as following. First, a real-time multicore support is designed and implemented on top of an embedded operating system designed from scratch. This support consists of several multicore real-time scheduling algorithms, such as global and partitioned EDF, and a cache partitioning mechanism based on page coloring. Second, it is presented a comparison in terms of schedulability ratio considering the run-time overhead of the implemented RTOS and a GPOS patched with real-time extensions. In some cases, Global-EDF considering the overhead of the RTOS is superior to Partitioned-EDF considering the overhead of the patched GPOS, which clearly shows how different OSs impact hard realtime schedulers. Third, an evaluation of the cache partitioning impacton partitioned, clustered, and global real-time schedulers is performed.The results indicate that a lightweight RTOS does not impact real-time tasks, and shared cache partitioning has different behavior depending on the scheduler and the task's working set size. Fourth, a task partitioning algorithm that assigns tasks to cores respecting their usage of cache partitions is proposed. The results show that by simply assigning tasks that shared cache partitions to the same processor, it is possible to reduce the contention for shared cache lines and to provideHRT guarantees. Finally, a two-phase multicore scheduler that provides HRT and soft real-time (SRT) guarantees is proposed. It is shown that by using information from hardware performance counters at run-time, the RTOS can detect when best-effort tasks interfere with real-time tasks in the shared cache. Then, the RTOS can prevent best effort tasks from interfering with real-time tasks. The results also show that the assignment of exclusive partitions to HRT tasks together with the two-phase multicore scheduler provides HRT and SRT guarantees, even when best-effort tasks share partitions with real-time tasks.
85

Desenvolvimento de Web APIs RESTful semânticas baseadas em JSON

Salvadori, Ivan Luiz January 2015 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015. / Made available in DSpace on 2015-04-29T21:09:45Z (GMT). No. of bitstreams: 1 333102.pdf: 3580158 bytes, checksum: ba1703beca878988af414a251c590687 (MD5) Previous issue date: 2015 / Os princípios arquiteturais REST estão sendo amplamente adotados nas implementações de sistemas distribuídos disponíveis na Web. As implementações REST são realizadas através de Web Services, que são comumente disponibilizados na forma de Web APIs, cujo principal objetivo é o intercâmbio de dados entre aplicações. No entanto, devido à falta de padrões e diretrizes para desenvolvimento, cada implementação REST segue uma linha de desenvolvimento, fato que resulta na dificuldade de construção de aplicações clientes, além de dificultar a composição de Web APIs. Outro desafio é a falta de suporte ao uso de controles hipermídia em representações de recursos que utilizam o formato JSON. Controles hipermídia podem assumir a forma de links, que guiam a navegação entre diferentes recursos. Este trabalho propõe uma abordagem de desenvolvimento com os passos necessários para modelar e implementar Web APIs RESTful Semânticas que suportam controles hipermídia em JSON. A abordagem identifica as representações necessárias e realiza anotações semânticas através de associações de propriedades e operações com termos de vocabulários controlados. Além disso, a abordagem busca separar a implementação da camada de integração de dados com as demais camadas do sistema, diminuindo o acoplamento e aumentando a coesão. De forma complementar, este trabalho apresenta um framework para o desenvolvimento de Web APIs RESTful baseado na abordagem de desenvolvimento proposta, sendo este compatível com a especificação JAX-RS. O suporte fornecido pelo framework proposto possibilita que o desenvolvedor concentre esforços no desenvolvimento do domínio do problema, sem perder tempo com infraestrutura. Com a utilização da abordagem proposta, juntamente com suporte ferramental oferecido pelo framework, espera-se proporcionar maior produtividade e qualidade no desenvolvimento de Web APIs alinhadas com os princípios arquiteturais REST.<br> / Abstract : The REST architectural principles are being widely adopted for implementing distributed systems on the Web. REST implementations are developed using Web Services technology and are made available through Web APIs, which have the main goal of interchanging data among applications. However, due the lack of development patterns and guidelines, each REST implementation follows its own development method. As a result, client applications are difficult to build and the composition of Web APIs becomes hard to achieve. Another challenge is the lack of support of hypermedia control in resource representations described using the JSON format. Hypermedia controls can be realized using hyperlinks, which guide navigation among multiple resources. This work proposes a development approach with the required steps for modeling and implementing Semantic RESTful Web APIs with support for hypermedia control in JSON format. The approach identifies resource representations and applies semantic annotations in order to bind properties and operations with terms defined by controlled vocabularies. On top of that, the development approach aims to achieve loose coupling and high cohesion through a clear division between the integration layer and the others layers of the system. In addition, this work proposes a framework based on the JAX-RS specification that provides support for the proposed development approach. The framework allows the software developer to focus on the implementation of the business core, instead of spending time to deal with infrastructure issues. The adoption of the proposed approach, together with the support provided by the framework, aims to improve the quality and productivity achieved by the development of Web APIs that follow the REST architectural principles.
86

Implementação de um sistema operacional compatível com a especificação ARINC 653

Arcaro, Luís Fernando January 2015 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015 / Made available in DSpace on 2015-06-02T04:10:14Z (GMT). No. of bitstreams: 1 333796.pdf: 3550462 bytes, checksum: 7eaaf170fea7fb722e02d0801299ad1b (MD5) Previous issue date: 2015 / Sistemas de Tempo Real (STRs) são sistemas computacionais que estão submetidos, alem de a requisitos lógicos, a requisitos de natureza temporal. A especificação ARINC 653 descreve a interface funcional a ser oferecida ao software de aplicação e os requisitos temporais a serem atendidos por Sistemas Operacionais (SOs) sobre os quais são executados STRs aviônicos, ou seja, aplicações relacionadas aos sistemas eletrônicos empregados em aeronaves. Uma das principais definições dessa especificação e a utilização de partições com isolamento temporal e espacial, permitindo a execução de múltiplas aplicações com diferentes objetivos e criticalidades numa mesma plataforma de hardware, e garantindo, ainda, que eventuais falhas ocorridas em uma partição não afetem a execução das demais. Este trabalho descreve a implementação de um SO compatível com a especificação ARINC 653 destinado ao treinamento de profissionais e a experimentação de novas aplicações aviônicas, não tendo por objetivo, portanto, a certificação para operação em voo, executado sobre a plataforma de hardware comercialmente conhecida como BeagleBone. Foi desenvolvido ainda um conjunto de ferramentas de configuração destinadas a validação de arquivos de configuração no padrão exigido pela ARINC 653 e a geração de modelos de aplicação para execução no SO. O atendimento as exigências da ARINC 653 pelo SO foi evidenciado através de um conjunto de casos de teste, que servem também como exemplos de utilização e auxiliam, ainda, no processo demigração do SO a outras plataformas.<br> / Abstract: Real-Time Systems (RTSs) are computer systems that are subject to, in addition to logical requirements, temporal requirements. The ARINC 653 specication describes the functional interface that must be oered to the application software and the time requirements that must be met by Operating Systems (OSs) on which avionics RTSs are executed, i.e. applications related to electronic systems used on aircrafts. One of the key definitions of this specification is the use of temporally and spatially isolated partitions, allowing the execution of multiple applications with different objectives and criticality levels onthe same hardware platform, and also ensuring that any failures inone partition do not affect the execution of the others. This work describes the implementation of an ARINC 653 compatible OS aimed for professionals training and test of new avionics applications, and thus does not aim certification for in-ight operation, which is executed on the hardware platform commercially known as BeagleBone. We also developed a set of configuration tools for the validation of ARINC 653 standard configuration files and the generation of application templates to be run in the OS. The compliance of the OS with the ARINC 653 requirements is evidenced through a set of test cases, which also serve as examples of use and are useful in the process of migration of the OS to other platforms.
87

Protocolos tolerantes a faltas bizantinas para transações em bancos de dados

Luiz, Aldelir Fernando January 2015 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015. / Made available in DSpace on 2015-09-01T04:07:56Z (GMT). No. of bitstreams: 1 334062.pdf: 4102624 bytes, checksum: fcf76323275ca0a4c4b3f1ffd5c92285 (MD5) Previous issue date: 2015 / No âmbito de sistemas computacionais, a noção de transações constitui um dos elementos mais fundamentais para a especificação e implementação de aplicações com requisitos de confiabilidade e consistência, quanto à manipulação de dados. Ao longo dos anos, os sistemas de gerenciamento de banco de dados relacionais (SGBDR) têm sido considerados como componentes chave para o processamento de transações em sistemas computacionais; e, embora algumas alternativas aos SGBDRs tenham surgido nos últimos anos, há perspectivas de que um número significativo de sistemas computacionais permaneçam a utilizar os SGBDRs nos anos vindouros. Neste sentido, é imperioso que requisitos como confiabilidade, disponibilidade, desempenho, tolerância a faltas e consistência, sejam mantidos no SGBDR, com vista para o correto processamento de transações. Tais atributos podem ser obtidos por meio de replicação, sendo que a literatura é vasta em termos de soluções que visam a disponibilidade dos dados a despeito de faltas por parada intermitentes ou permanentes. Todavia, faltas oriundas da corrupção de dados em disco ou em memória RAM devido a efeitos físicos, ou decorrente de bugs no SGBDR, não afetam a disponibilidade dos dados, mas sim a integridade e a consistência destes. Estas faltas, que são caracterizadas como bizantinas, historicamente têm sido encontradas em SGBDRs, e elas afetam o processamento de transações comprometendo não apenas a exatidão, mas também o estado do banco de dados. A literatura dispõe de poucas soluções para lidar com faltas bizantinas em SGBDRs, onde algumas são baseadas em hipóteses difíceis de serem substanciadas na prática; ou em modelos de consistência mais relaxados, que podem causar problemas de integridade, consistência ou até mesmo corrupção de dados. Isto posto, elas não atendem plenamente todos os tipos de aplicações. Neste ensejo, esta tese versa sobre problemas relacionados ao processamento e a terminação de transações em SGBDRs e sistemas distribuídos, em ambientes com sujeição a faltas bizantinas. Para isso, esta tese apresenta duas grandes contribuições no âmbito de transações em SGBDRs. A primeira consiste num protocolo que permite o processamento e terminação de transações, a despeito de faltas bizantinas nas réplicas de bancos de dados  o primeiro da literatura a explorar a semântica de consistência mais forte de transações  , a partir de um protocolo de replicação tolerante a faltas bizantinas totalmente distribuído. A segunda investiga o problema da terminação de transações distribuídas em ambientes sujeitos a faltas bizantinas  um problema sem solução pela literatura  , que é conhecido como Validação Atômica Não-Bloqueante (NBAC) e visa assegurar uma decisão uniforme para os participantes da transação acerca da validação ou anulação das operações executadas num ambiente distribuído de banco de dados. A contribuição para este problema se baseia na investigação dos aspectos práticos necessários para resolvê-lo, onde é introduzido o conceito de Gerenciador Colaborativo de Transações em substituição ao Gerenciador de Transações, tradicionalmente empregado como agente num protocolo NBAC. A solução proposta para resolver o NBAC com faltas bizantinas baseia-se num conceito novo, que adota a tecnologia de virtualização como suporte para a especificação de uma arquitetura de sistema distribuído que permite circunscrever o problema. As soluções propostas foram comparadas de maneira analítica com soluções encontradas na literatura, bem como através de ensaios experimentais, a fim de comprovar a viabilidade das mesmas.<br> / Abstract : Within computer systems, the concept of transaction is one of the most fundamental elements for the specification and implementation of applications with reliability and consistency requirements concerning handling of data. Over the years, relational database management systems (RDBMS) have been considered key components for transaction processing in computer systems; and although some alternatives to RDBMSs have emerged in recent years, there are prospects that a significant number of computer systems will continute to use RDBMSs in coming years. In this sense, the need to provide reliability, availability, performance, fault tolerance and consistency, regarding transaction processing in RDBMS is imminent. Such attributes may be obtained through database replication. The literature is extensive in terms of solutions for data availability regardless of crash faults (e.g. intermittent or permanent). However, faults arising from the disk data corruption or RAM data corruption due to physical effects, or due to bugs in the RDBMS, do not affect the availability of data, though they affect their integrity and consistency. These faults, which are known as Byzantine, have historically been found in RDBMSs, and they affect transaction processing undermining not only the accuracy but also the database state. The literature offers few solutions to deal with Byzantine faults in RDBMSs, where some are based on difficult cases to be used in practice; or more relaxed consistency models, which can cause integrity, consistency or even data corruption problems. So, they are not addressed to all types of applications. As it is, this thesis deals with problems related to transaction processing and transaction termination on RDBMS and distributed systems, in environments subject to Byzantine fault. To this end, this thesis presents two major contributions to the transaction level in RDBMSs. The first is a protocol that allows the transaction processing and transaction, despite Byzantine faults in databases replicas  the first in literature that explores the strongest consistency semantics of transactions (e.g. serializability)  , by means of a fully distributed Byzantine fault tolerant database replication protocol. The second investigates the agreement problem related to transaction termination in distributed systems, also in environments subject to Byzantine fault  an unsolved problem in the literature. The Non Blocking Atomic Commitment (NBAC), as it known, aims to ensure a uniform decision for the transaction participants about the operations performed in a distributed database environment, that is, commit or abort them. The contribution to this problem is based on the investigation of practical and necessary conditions, to solve it. So, this thesis introduces the Collaborative Transaction Manager to replace the Transaction Manager, traditionally used as an agent on a NBAC protocol. The solution proposed to solve the NBAC with Byzantine fault is based on a new concept, adopting virtualization technology as a support for the specification of a distributed system architecture which makes the problem feasible. The proposed solutions were compared analytically with solutions found in the literature as well as through experimental tests in order to prove their feasibility.
88

Engenharia de protocolos com transformação de especificações formais: a ferramenta tran SP

Tonin, Neilor Avelino January 1996 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnologico / Made available in DSpace on 2016-01-08T20:39:17Z (GMT). No. of bitstreams: 1 104398.pdf: 3606804 bytes, checksum: fb6214131346d51ecfad2c0f3f093664 (MD5) Previous issue date: 1996 / Análise de abordagens de projeto baseadas em regras de transformações que visam a automatização do processo de síntese de protocolos. Uma vez aplicadas à uma especificação formal de um serviço de comunicação realizada com a Técnica de Descrição Formal LOTOS, as regras de transformação geram automaticamente, a especificação do protocolo de comunicação correspondente a esse serviço. É então apresentado um conjunto de algoritmos de transformação de especificações, que são aplicáveis a especificações de serviço para a obtenção dos protocolos correspondentes. Tais algoritmos são implementados em linguagem C++ para Windows, constituindo uma ferramenta denominada TranSP - Transformação de especificação de Serviço em especificação de Protocolo. Esta ferramenta recebe, como entrada, uma especificação de serviço monolítica e gera, como saída, as especificações de protocolo correspondentes às duas entidades de protocolo (E1 e E2), orientadas a recursos. A ferramenta TranSP é utilizada na transformação de uma parte do serviço CMISE (Common Management Information Service Element) correspondente aos serviços M-GET e M-CANCEL-GET para o protocolo CMIP (Common Management Information Protocol) correspondente.
89

Modelo de programação e suporte de execução para aplicações multitarefa em processadores DSP de pequeno porte

Linhares, Marcos Vinicius January 2004 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia Elétrica. / Made available in DSpace on 2012-10-21T21:48:19Z (GMT). No. of bitstreams: 1 206484.pdf: 670423 bytes, checksum: 2758a5e8aab1c87fcc900969a38afd76 (MD5) / Muitas das aplicações de controle com restrições detempo são implementadas pela codifi- cação deprogramas complexos em linguagem assembly, programando timers, manipulando em baixo nível dispositivos periféricos, tarefas e prioridades de interrupção. A maior conseqüência desta abordagem é que o software de controle é produzido por técnicas ad hoc que podem apresentar baixa confiabilidade e alto custo. Para o projeto e implementação de um sistema de controle de tempo real embutido se utiliza,basicamente, de dois tipos de pro- fissionais, o engenheiro de controle e o engenheiro de software, que são especialistas cada um em sua área e que usam suas próprias ferramentas. Para tanto é de extrema valia que ambos troquem informações utilizando uma mesma linguagem. A ferramenta de projeto do engenheiro de controle são os diagramas de blocos funcionais que, mapeados em diagramas de componentes, fornecem ao engenheiro de software as informações necessárias. A simples utilização de blocos funcionais gera um sistema monotarefa, mas pressões do mercado exigem equipamentos que ofereçam maiores funcionalidades a seus clientes e isto representa mais tarefas a embutir no sistema. O modelo monotarefa começa a ser insuficiente, neste caso, para manter as restrições temporais no sistema final. Este trabalho descreveu uma proposta que visa melhorar o processo de construção (projeto e implementação) de sistemas embutidos utilizando o modelo multitarefa. Para tanto, o trabalho consistiu, principalmente, da proposta de um framework multitarefa e o desenvolvimento de um núcleo operacional de tempo real para dar suporte ao framework desenvolvido. Espera-se com este trabalho contribuir para a melhoria dos processos de desenvolvimento de software para sistemas embutidos no contexto do controle e automação.
90

Proposta de mecanismo de segurança para autenticação e permissão no sistema operacional Aurora

Monteiro, Emiliano Soares January 2002 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação. / Made available in DSpace on 2012-10-19T22:37:29Z (GMT). No. of bitstreams: 0Bitstream added on 2014-09-26T01:16:23Z : No. of bitstreams: 1 189813.pdf: 2078931 bytes, checksum: 4c7815faa27f2922ce87fe0c1ca0f03e (MD5) / Este trabalho está inserido no contexto do Sistema Operacional Aurora, e visa solucionar problemas de segurança associados a ativação e instanciação de objetos. A solução apresentada observa a arquitetura reflexiva do Aurora, sendo implementado como um meta-nível de modo que os aspectos de segurança sobre objetos são mantidos através de mecanismos de reflexão computacional. O objetivo deste trabalho foi o desenvolvimento de classes para tratar a segurança no sistema operacional Aurora, principalmente autenticação e permissão. Foram elaboradas classes e mecanismos de testes das mesmas em laboratório, as quais foram testadas junto com protótipos de outras classes do sistema Aurora que ainda estão em desenvolvimento. Um estudo sobre segurança nos principais sistemas operacionais encontrados hoje, também está aqui descrito, enfocando principalmente dois aspectos, autenticação e controle de permissão, este estudo permite a compreensão de como os dois principais modelos de segurança adotados em sistemas operacionais modernos operam, outros aspectos relativos à segurança no sistema operacional Aurora é tratada em trabalhos futuros.

Page generated in 0.1156 seconds