• 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.
111

Implementação de objetos replicados usando java

Ferreira Filho, Joao Carlos January 2000 (has links)
Este trabalho busca a implementação da replicação de objetos através da linguagem Java e de seu sistema de invocação remota de métodos (Remote Method Invocation - RMI). A partir deste sistema, define-se uma classe de replicação - a máquina de replicação – onde a implementação de grupos de objetos é estruturada de acordo com a arquitetura cliente/servidor, sendo o cliente o representante (a interface) de um grupo de objetos e os servidores representam os demais componentes do grupo. A classe de replicação atende a uma necessidade importante dos sistemas distribuídos - o desenvolvimento de aplicações tolerantes a falhas. Fundamentalmente, a tolerância a falhas é obtida por redundância e, no caso de mecanismos de tolerância a falhas por software, esta redundância significa basicamente replicação de dados, processos ou objetos. A tolerância a falhas para tal tipo de sistema é importante para garantir a transparência do mesmo, visto que, assim como um sistema distribuído pode auxiliar muito o usuário pelas facilidades oferecidas, o não cumprimento de suas atividades de acordo com o esperado pode, em algumas situações, causar-lhe transtornos e erros irrecuperáveis nas aplicações. Finalmente, como principal contribuição, este trabalho descreve e implementa a solução completa para a construção de uma biblioteca de classes que oferece a replicação de forma totalmente transparente para o usuário.
112

Resposta a incidentes e analise forense para redes baseadas em Windows 2000

Oliveira, Flávio de Souza 21 November 2001 (has links)
Orientador : Celio Cardoso Guimarães / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-03T14:24:13Z (GMT). No. of bitstreams: 1 Oliveira_FlaviodeSouza_M.pdf: 4948476 bytes, checksum: 730781985f59fb97c7d2a11eba7466b1 (MD5) Previous issue date: 2002 / Resumo: A preocupação com segurança é requisito essencial para a grande maioria dos serviços e aplicações que utilizam a Internet. Ao contrário do que ocorria nos primórdios da Rede, as organizações que fazem uso da Internet procuram se proteger através da implantação de diversos aparatos como filtros, proxies e VPNs, para evitar o comprometimento de suas informações. Contudo, não há meios de garantir que determinada organização não poderá ser vítima de um incidente de segurança, mesmo que tome todas as precauções para evitar este tipo de acontecimento. No caso de um incidente de segurança, é vital, mas ainda raro, o estabelecimento de programas de resposta a incidentes, nos quais estão incluídas as metodologias de análise forense. O presente trabalho apresenta aspectos estruturais deste tipo de programa, além de abordar e discutir metodologias de análise forense para Windows 2000. Baseada nos problemas de tal análise, foi desenvolvida neste trabalho a ferramenta PFSAF (Pre-Forensic Setup Automation Framework), com o objetivo de facilitar a implantação de programas de resposta a incidentes, através da automatização de medidas preventivas que possam facilitar uma futura análise forense / Abstract: Security awareness is an essential requisite for most Internet based services and applications. Organizations that use the Internet, nowadays seek security through several apparatus such as filters, proxies, and VPNs. However, no organization can guarantee to be immune from security incidents, despite all precautions taken to avoid them. When a security incident occurs, it is vital although infrequent, having been established incident response programs, including forensic analysis methodologies. This work presents structural aspects for this type of program, besides discussing forensic analysis methodologies for Wmdows 2000. Based on such analysis we have developed the tool PFSAF(Pre-Forensic Setup Automation Framework) with the goal of easing the deployment of incident response programs, through automation of preventive measures that can help a future forensic analysis / Mestrado / Mestre em Ciência da Computação
113

Tolerancia a falhas em sistemas de agentes moveis

Jeukens, Alex 12 March 2003 (has links)
Orientador: Ricardo de Oliveira Anido / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-03T19:57:42Z (GMT). No. of bitstreams: 1 Jeukens_Alex_M.pdf: 2357461 bytes, checksum: df32a906b0c7e74fce98ec046c23f0ce (MD5) Previous issue date: 2003 / Resumo: Agente móvel é um processo que se desloca autonomamente através da rede, executando operações locais à máquina hospedeira. Agentes constituem uma solução alternativa ao paradigma cliente-servidor. A autonomia do agente móvel, entretanto, faz necessária a revisão dos conceitos de tolerância a falhas a fim de garantir confiabilidade em sua operação, evitando que a parada do agente resulte em inconsistências no sistema. Este trabalho apresenta um protocolo para tolerar falhas do tipo falha-e-pára e de comunicação / Abstract: Mobile agent is a process capable of roaming autonomously through the network, executing operation locally to a host. Agents can be employed to perform some traditional tasks. In order to enforce dependability in this new paradigm we present a protocol to coordinate a replicated agent system capable of tolerating failstop and communication faults / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
114

Aspectos de especificação e implementação da camada de apresentação do padrão map utilizando o ambiente epos

Inazumi, Paulo Cesar Minoru 17 February 1990 (has links)
Orientador: Manuel de Jesus Mendes / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-13T23:25:30Z (GMT). No. of bitstreams: 1 Inazumi_PauloCesarMinoru_M.pdf: 7421642 bytes, checksum: 17822c3b91168e6952cbad8d697182e0 (MD5) Previous issue date: 1990 / Resumo: Este trabalho apresenta a implementacão do prolocolo de apresentacão do modelo OSI/ISO para o projelo SISDI-MAP (Sislema Didático MAP). Utilizou-se o ambiente EPOS ("Engineering Project Oriented System") como suporte de desenvolvimento principalmente para a especificação formal da implementação e geração automática de código. Apresentam-se os conceitos referentes à camada de apresentação, o modelo de implementação, alguns aspectos da implementação e da geração automática de código e, finalmente, exemplo de execução deste protocolo / Abstract: This work presents the implementation or the presentation protocol or OSI/ISO models ror the SISDI-MAP (Didactic System MAP) project. The EPOS (Engineering Project Oriented System) environment has been used as a development support, mainly in the formal specification or the implementation and in the the automatic code generation. The presentation layer concepts, implementation model, and some aspects or the implementation and automatic code generation are presented. of the protocol, as well as an example or the execution of the protocol / Mestrado / Mestre em Engenharia Elétrica
115

FLiMSy: um middleware funcional em scala

SILVA, Luiz Artur Botelho da 31 July 2015 (has links)
Submitted by Jannyceli Cavalcanti (jannyceli.mayara@ufpe.br) on 2018-11-23T21:51:23Z No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Luiz Artur Botelho da Silva.pdf: 1218185 bytes, checksum: 69cc0d0c435dec8ba8baa8f18e632052 (MD5) / Approved for entry into archive by Alice Araujo (alice.caraujo@ufpe.br) on 2018-11-23T22:03:44Z (GMT) No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Luiz Artur Botelho da Silva.pdf: 1218185 bytes, checksum: 69cc0d0c435dec8ba8baa8f18e632052 (MD5) / Made available in DSpace on 2018-11-23T22:03:44Z (GMT). No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) DISSERTAÇÃO Luiz Artur Botelho da Silva.pdf: 1218185 bytes, checksum: 69cc0d0c435dec8ba8baa8f18e632052 (MD5) Previous issue date: 2015-07-31 / Sistemas distribuídos têm sido implementados em uma grande diversidade de domínios de aplicação, tais como: Finanças e comércio, com os sistemas de comércio eletrônico para compra de produtos pela Internet; Assistência Médica, que tem como exemplo o uso de prontuários eletrônicos online e a telemedicina no apoio a diagnóstico remoto ou serviços mais avançados, tais como cirurgia remota; Educação, onde podem ser destacadas as ferramentas de ensino baseadas na Web, tais como ambientes virtuais de aprendizagem à distância; Transporte e Logística, que usam tecnologias de localização; Gestão ambiental, que utiliza tecnologia de sensores para controlar e gerenciar o ambiente natural e com isso garantir um alerta precoce de catástrofes naturais, como terremotos, inundações ou tsunamis. Apesar de sua popularidade, existem vários desafios a serem vencidos ao projetar sistemas distribuídos. Dentre eles, podemos citar a heterogeneidade e o controle de concorrência. Alguns desses desafios podem ser solucionados usando-se um middleware, que é um software de conectividade que encapsula um conjunto de serviços e que reside entre a aplicação e o sistema operacional. Os sistemas de middleware permitem ainda que aplicações distintas se comuniquem abstraindo do usuário final como esse processo é realizado. O desenvolvimento de um middleware é uma atividade complexa, pois ao mesmo tempo que ele precisa esconder das aplicações distribuídas a complexidade dos mecanismos de concorrência e comunicação de baixo nível providos pelo sistema operacional, é preciso fornecer um conjunto crescente de serviços, tais como serviços de segurança e transação. Para tratar a complexidade mencionada , sistemas de middleware têm sido projetados com o uso de vários padrões de projeto especificamente definidos para a construção deste tipo de software. Além do uso destes padrões, há um esforço crescente para a adoção de novos paradigmas de programação no desenvolvimento de sistemas de middleware, em particular o paradigma funcional. Isso porque esses paradigmas oferecem nativamente recursos que lidam melhor com paralelismo e concorrência do que a maioria dos paradigmas presentes em linguagens de programação convencionais. Neste contexto, o objetivo deste trabalho é projetar e implementar um middleware, chamado FLiMSy, usando a linguagem de programação funcional Scala. FLiMSy foi projetado utilizando os padrões de projeto de middleware conhecidos como Remoting Patterns. Para avaliar a implementação proposta, foi realizado um experimento com o objetivo de medir o tempo de reposta do FLiMSy e também analisar as facilidades de se usar os recursos puramente funcionais de Scala no desenvolvimento de um middleware orientado a objetos. / Distributed systems have been implemented in a wide variety of application domains, such as Finance and trade with e-commerce systems to buy products over the Internet; Healthcare, such as the use of online electronic medical records and telemedicine to support remote diagnostics or more advanced services, such as remote surgery; Education, which can be highlighted the teaching tools based on the Web, such as virtual environments distance learning; Transportation and Logistics, using geolocation technologies; Environmental stewardship, which uses sensor technology to control and manage the natural environment and thus provide early warning of natural disasters such as earthquakes, floods or tsunamis. Despite of its popularity, there are several challenges that need to be overcomed when we design distributed system, which include heterogeneity and concurrency control. Some of these challenges can be solved using a middleware, which is a connectivity software that encapsulates a set of services that lies on between the application and the operation system. The development of a middleware is a complex task, because it needs at the same time hide the complexity of the concurrency mechanism and the low level communication provided by the operation system from the distributed application, and needs also provide a set of increasing services, such as security service and transaction. To deal with mentioned complexity, middleware system has been design using specified design pattern to build this kind of software. Aside the usage of these design patterns, there is an increase effort to adopt new paradigm of programming to develop middleware softwares, in particular a funcional paradigm. That is because these paradigms natively offer features that deal better with parallelism and concurrency than most of the paradigms present in conventional programming languages. Within this context, the goal of this project is design and develop a middlware called FLiMSy, using Scala as funcional programming language. FLiMSy was developed using middleware’s desing patterns known as Remoting Patterns. To evaluate the proposed implementation, an experiment was conducted in order to measure the response time of FLiMSy and also review the facilities of using purely functional features of Scala in developing a middleware object-oriented.
116

Uma plataforma para ensino e treinamento em desenvolvimento de sistemas operacionais / A learning and training platform on operating systems development

Renê de Souza Pinto 27 June 2012 (has links)
Este trabalho tem como objetivo propor e desenvolver uma plataforma para ensino e treinamento em técnicas de projeto e implementação de sistemas operacionais. Após mais de uma década de hegemonia de alguns poucos produtos comerciais, o estabelecimento do paradigma do software livre e a proliferação de arquiteturas embarcadas capazes de executar um sistema operacional (SO) implicam em demanda de especialistas para atuarem diretamente no desenvolvimento de novos SOs, adequados a novos requisitos das aplicações emergentes. Assim, para além de disciplina de formação teórica, o conhecimento em sistemas operacionais tem reforçado seu caráter prático como competência técnica perspectiva que este trabalho atende mediante uma abordagem de aprendizado baseado em projetos. A principal contribuição para o estado da arte nesse domínio é um roteiro de instrução que associa teoria e prática por meio do processo de desenvolvimento integral de um sistema operacional funcional / This work aims at proposing and developing a learning and training platform on design and implementation of operating systems. After more than a decade of hegemony of a few commercial products, the establishment of free software paradigm and the proliferation of embedded architectures capable of running an operating system (OS) increase the demand for specialists to work directly on the development of new operating systems suited to the new requirements of novel applications. Therefore, beyond its function as theoretical background discipline, the area of operating systems has its practical importance highlighted as a technical competence a perspective which this work meets by means of a project-based learning approach. The main contribution to the state of the art in this domain is an instruction program which associates theory and practice through the process of developing integrally a functional operating system
117

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
118

Projeto do núcleo de um sistema operacional distribuído / Project of the kernel of a distributed operating system

Stein, Benhur de Oliveira January 1992 (has links)
Uma das tendências para o aumento do desempenho dos sistemas de computação atuais tem sido a distribuição do processamento em uma rede de computadores. Já foram pesquisados diversos modelos para obter essa distribuição, e um dos que tem se mostrado mais promissor é aquele no qual o controle da distribuição é efetuado diretamente pelo sistema operacional. Um sistema operacional desse tipo é chamado de sistema operacional distribuído[TAN85], e seu principal objetivo e fornecer a seus usuários a ilusão de uma maquina uniprocessadora constituída pela soma dos recursos oferecidos pelos componentes da rede. A forma de realizar tal ilusão é o sistema operacional controlar a utilização dos recursos distribuídos para o usuário, independentemente de onde estejam localizados, a medida que sejam requisitados e estejam disponíveis. Esta sendo desenvolvido no CPGCC da UFRGS o projeto DIX, cujo objetivo é o desenvolvimento de um Sistema Operacional Distribuído. Para o desenvolvimento desse projeto, foi tornado como base o sistema operacional MINIX. As principais razoes dessa opção foram: o alto grau de modularidade do MINIX, a utilização do paradigma de troca de mensagens para comunicação entre processos e a sua disponibilidade. A plataforma de hardware inicial para o desenvolvimento do projeto é um grupo de estações de trabalho Proceda. Tais estações caracterizam-se por possuir internamente dois elementos processadores distintos. O projeto DIX teve inicio com o porte do sistema operacional MINIX para o ambiente multiprocessador heterogêneo das estações. Devido a necessidade de comunicação entre as estações e a indisponibilidade de hardware adequado para tal, foi desenvolvida uma forma alternativa de comunicação, baseada na utilização da interface paralela existente nas estações. Este trabalho descreve o núcleo do sistema operacional. A filosofia adotada foi torná-lo o mais simples possível, colocando em processos servidores, externos ao núcleo, grande parte das tarefas. Outro objetivo foi alterar o mínimo possível a interface original do MINIX, para que as camadas superiores do sistema continuassem em funcionamento. Dessa forma, a principal função do núcleo é fornecer aos processos mecanismos para troca de mensagens e transferência de dados entre processos. Foi desenvolvido um método para a identificação global dos processos, que permite identificar cada processo do sistema de forma unívoca e um mecanismo de comunicação entre processos que suporta transparência de localidade, migração de processos e falhas em nodos da rede. / One of the modern trends in Computer Science has been the use of distribution to improve system performance. Many models of distribution have been proposed, and the most promising one is that in which the distribution is directly controlled by the operating system. Such type of system is called a distributed operating system[TAN85], and its main goal is to provide its users an illusion of an uniprocessor system more powerful than its components. The operating system controls the utilization of the distributed resources in a transparent way, in order to present such illusion to its users. There is a project, named DIX, under development at CPGCC/UFRGS, whose goal is to gather experience in the field while developing a distributed operating system. The MINIX operating system has been chosen as a software basis for the project, because of its high degree of modularity, its message passing IPC paradigm and the availability of its source code. The initial hardware configuration is a set of Proceda workstations. Those workstations have two distincts processors that can run in parallel. The project was started with the porting of MINIX to the workstations' heterogeneous multiprocessor environment. Due to the need of information exchange among the workstations and to the unavailability of suitable communication hardware, an alternative communication scheme was developed. This work describes the kernel of the operating system. The adopted methodology was to keep it as simple as possible, putting a great number of tasks in server processes outside the kernel. Another goal was to preserve the MINIX original interface, so that the upper layers of the system could remain functional. So, the main purpose of the kernel is to supply an efficient message exchange mechanism. That mechanism supports locality transparency: the sender of a message is not aware of the destination location, and it is even possible that processes migrate. A method has been developed for the global unique identification of processes.
119

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
120

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.

Page generated in 0.5783 seconds