Pós-Graduação em Computação Aplicada
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

Sistemas Operacionais PowerPoint PPT Presentation


  • 42 Views
  • Uploaded on
  • Presentation posted in: General

Pós-Graduação em Computação Aplicada. Sistemas Operacionais. Michele Alves de Freitas Batista Prof. José Carlos Becceneri. São José dos Campos, 2004. Processamento de Dados Distribuído (Distributed Data Processing – DDP). Por que construir sistemas distribuídos?

Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sistemas operacionais

Pós-Graduação em Computação Aplicada

Sistemas Operacionais

Michele Alves de Freitas Batista

Prof. José Carlos Becceneri

São José dos Campos, 2004


Sistemas operacionais

Processamento de Dados Distribuído

(Distributed Data Processing – DDP)

Por que construir sistemas distribuídos?

Pessoas são distribuídas, informações são distribuídas


Sistemas operacionais

Fatores que contribuíram para o aumento do DDP

  • aumento do número de computadores pessoais

    baratos e poderosos

  • aumento do número de usuários

Onde processadores, dados e outros aspectos de um sistema de processamento de dados são importantes dentro de uma organização.


Sistemas operacionais

Distributed Data Processing (DDP)

Um sistema DDP envolve uma divisão de funções no sistema e pode envolver uma organização distribuída das bases de dados, do controle de dispositivo e da rede.

  • Os computadores pessoais são usados para suportar uma variedade de aplicações, abrigando:

  • base de dados

  • gerenciador da base de dados

  • sistemas operacionais


Sistemas operacionais

DDP - Capacidades

O desenvolvimento do sistema operacional distribuído deu-se pela evolução de suas capacidades:

  • Arquitetura de comunicações

  • Sistema operacional de rede

  • Sistema operacional distribuído


Sistemas operacionais

DDP - Capacidades

Arquitetura de comunicações

Software que suporta uma rede de computadores independentes.

Fornece a sustentação para aplicações distribuídas, tais como correio eletrônico, transferência de arquivo e acesso ao terminal remoto.

Cada computador tem seu próprio sistema operacional separado, e uma mistura heterogênea de computadores e de sistemas operacionais é possível, já que todas as máquinas suportam a mesma arquitetura de comunicações.


Sistemas operacionais

DDP - Capacidades

Sistema operacional de rede

Esta é uma configuração em que há um aplicativo de rede, estações de trabalho e um ou mais servidores.

Os servidores fornecem serviços em rede ou aplicativos, tais como o armazenamento de arquivo e o gerenciamento da impressora.

Cada computador tem seu próprio sistema operacional privado.

A função do sistema operacional da rede é permitir que as estações de trabalho interajam com o servidor.

O usuário está ciente que há múltiplos computadores independentes e deve tratá-los explicitamente.

Tipicamente, uma arquitetura comum de comunicações é usada para suportar estas aplicações da rede.


Sistemas operacionais

DDP - Capacidades

Sistema operacional distribuído

É um sistema operacional comum compartilhado por uma rede dos computadores.

Enxerga seus usuários como um sistema operacional centralizado, mas fornece ao usuário o acesso transparente aos recursos de um número de máquinas.

Um sistema operacional distribuído pode confiar em uma arquitetura de comunicações para funções básicas de comunicação.


Sistemas operacionais

Sistemas Cliente/Servidor

Termos utilizados

Applications Programming Interface (API)

Aplicativos que permitem que os clientes e servidores se comuniquem.

Cliente

Um solicitante de informação da rede, geralmente um PC ou uma estação de trabalho, que possa perguntar a base de dados e/ou outra informação de um servidor.

Middleware

Um conjunto de drivers, APIs, ou outro software que melhora a conectividade entre uma aplicação do cliente e um servidor.


Sistemas operacionais

Sistemas Cliente/Servidor

Termos utilizados

Base de dados relacional

Uma base de dados em que o acesso de informação é limitado à seleção das fileiras que satisfazem a todos os critérios da busca

Servidor

Um computador, geralmente uma estação de trabalho potente, um minicomputador ou um mainframe, que abriga informação para manipulação dos clientes na rede.

Structured Query Language (SQL)

Uma linguagem desenvolvida pela IBM para criar, atualizar ou consultar bases de dados relacionais.


Sistemas operacionais

LAN ou WAN ou

Internet

Sistemas Cliente/Servidor

Ambiente Genérico do Cliente/Servidor

Como o termo sugere, um ambiente cliente/servidor está povoado por clientes e por servidores.

As máquinas do cliente são geralmente PCs ou estações de trabalho que fornecem uma relação user-friendly ao usuário.

A estação de trabalho apresenta geralmente o tipo de relação gráfica que é a mais confortável aos usuários, incluindo o uso de janelas e mouse.

Server

Workstation (client)


Sistemas operacionais

Sistemas Cliente/Servidor

  • Cada servidor no ambiente cliente/servidor fornece um conjunto de serviços compartilhados aos clientes.

  • Atualmente, o tipo mais comum de servidor é o servidor de base de dados, controlando geralmente uma base de dados relacional.

  • O servidor permite:

  • que muitos clientes compartilhem a mesma base de

    dados;

  • que um sistema de alto desempenho controle a base

    de dados.


Sistemas operacionais

Sistemas Cliente/Servidor

Além dos clientes e dos usuários, o terceiro ingrediente essencial do ambiente cliente/servidor é a REDE. Sistemas cliente/servidor são sistemas distribuídos. Os usuários, as aplicações e os recursos são distribuídos em resposta às exigências do negócio e ligados por um único LAN ou WAN ou por redes de Internet.


Sistemas operacionais

Sistemas Cliente/Servidor - Características

Características que diferem uma configuração cliente/servidor de outras soluções de processamento distribuído:

  • Há um esforço em trazer aplicações user-friendly ao

    usuário. Isto dá ao usuário o controle sobre o sincronismo

    e o estilo do uso de computador e dá aos gerenciadores a

    responsabilidade de suas necessidades locais. O usuário

    não possui a consciência de que está em um ambiente de

    rede.

  • O usuário tem acesso a múltiplos servidores.


Sistemas operacionais

Sistemas Cliente/Servidor - Características

  • Embora as aplicações sejam dispersadas, há uma

    ênfase em centralizar as bases de dados e o

    gerenciamento da rede. Isto permite ao gerenciador

    manter o controle total em sistemas de computação

    e de fornecer a interoperabilidade de modo que os

    sistemas sejam amarrados junto.

  • O networking é fundamental à operação. Assim, a

    gerência e a segurança de rede têm uma prioridade

    elevada em sistemas operacionais.


Sistemas operacionais

Aplicações Cliente/Servidor

A característica central de uma arquitetura cliente/servidor é o alocamento de tarefas entre clientes e servidores.

No cliente e no servidor, o software básico é um sistema operacional rodando numa plataforma de hardware.

A plataforma e o sistema operacional do cliente e do servidor podem diferir.


Sistemas operacionais

Aplicações Cliente/Servidor

Arquitetura Genérica do Cliente/Servidor

Assim, se um cliente e um servidor compartilham os mesmos protocolos de comunicação e suporta as mesmas aplicações, estas diferenças lower-level são irrelevantes.

Client Workstation

Server

Presentation services

Request

Application logic

(client portion)

Application logic

(server portion)

Response

Communications

software

Communications

software

Protocol

interaction

Client

operating system

Server

operating system

Hardware platform

Hardware platform


Sistemas operacionais

Aplicações Cliente/Servidor

É o software de comunicação que permite a interoperabilidade entre o cliente e o servidor.

O principal deste software de sustentação (sistema operacionais e de comunicações) é fornecer uma base para aplicações distribuídas.

Idealmente, as atividades executadas pela aplicação podem ser divididas entre o cliente e o servidor de uma maneira que otimize recursos da plataforma e da rede e que otimize a habilidade dos usuários de executar várias tarefas e usar recursos compartilhados.


Sistemas operacionais

Aplicações Cliente/Servidor

Um fator essencial no sucesso de um ambiente cliente/servidor é a maneira em que o usuário interage com o sistema como um todo. Na maioria de sistemas cliente/servidor, há uma ênfase em fornecer uma interface de usuário gráfica (GUI) que seja fácil de se usar, fácil de aprender, contudo poderoso e flexível.

Assim, nós podemos pensar em um módulo de serviços da apresentação na estação de trabalho do cliente responsável por fornecer uma interface user-friendly às aplicações distribuídas disponíveis no ambiente.


Sistemas operacionais

Aplicações Database

Neste ambiente, o servidor é essencialmente um servidor da base de dados.

A interação entre o cliente e o servidor está nas transações em que o cliente faz um pedido à base de dados e recebe uma resposta.


Sistemas operacionais

Request

Database logic

Response

Protocol

interaction

Aplicações Database

Arquitetura de Cliente/Servidor para Aplicações Database

Client Workstation

Presentation services

Server

Application logic

Database logic

Communications

software

Communications

software

DB management

system

Client

operating system

Server operating system

Hardware platform

Hardware platform

A ligação entre o cliente e o servidor é o software que permite ao cliente fazer pedidos para o acesso à base de dados do servidor. Um exemplo popular de tal lógica é o SQL.


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

  • Em uma estrutura cliente/servidor, há implementações que dividem o trabalho entre o cliente e o servidor diferentemente. As principais opções para aplicações database são:

  • Host-based processing

  • Server-based processing

  • Client-based processing

  • Cooperative processing


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

Host-based processing

Refere-se ao ambiente de mainframe tradicional em que todo ou virtualmente todo o processamento é feito num host central. Freqüentemente, a interface do servidor é através de um terminal mudo. Mesmo se o usuário estiver usando um microcomputador, a estação do usuário é geralmente limitada ao papel de um terminal emulador.

Presentation logic

(a)

Application logic

Database logic

DBMS

Client

Server


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

Server-based processing

O cliente é o principal responsável por fornecer uma interface gráfica ao usuário, enquanto virtualmente todo o processamento é feito no servidor. A estação de trabalho do usuário fornece uma interface user-friendly e as bases de dados e as aplicações podem fàcilmente ser mantidas em sistemas centrais. Embora o usuário ganhe a vantagem de uma interface melhor, este tipo de configuração não representa nenhum ganho significativo na produtividade.

Presentation logic

(b)

Application logic

Database logic

DBMS

Client

Server


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

Client-based processing

No outro extremo, virtualmente todo o processamento da aplicação pode ser feito no cliente, com exceção das rotinas de validação de dados e de outras funções lógicas da base de dados que são executadas no servidor.

Presentation logic

Application logic

Application logic

(c)

Database logic

DBMS

Client

Server


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

Cooperative processing

O processamento da aplicação é executado de uma forma otimizada, extraindo vantagem do desempenho de máquinas do cliente e do servidor e da distribuição dos dados. Tal configuração é mais complexa, mas a longo prazo este tipo de configuração pode oferecer ganhos maiores da produtividade do usuário e uma eficiência maior da rede.

Presentation logic

(d)

Application logic

Database logic

Database logic

DBMS

Client

Server


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

As figuras (c) e (d) correspondem às configurações em que uma fração considerável da carga está no cliente. É chamado de modelo cliente gordo.

Traz como principal benefício a vantagem do processamento de aplicação offloading nos servidores, aumentando a eficiência e diminuindo prováveis engarrafamentos. Porém o aumento de funções sobrecarrega rapidamente a capacidade da máquina.


Sistemas operacionais

Classes de Aplicações Cliente-Servidor

A figura (b) representa um cliente magro. Refere-se a camada de software que suporta uma interface para o usuário baseado em janelas no cliente enquanto a execução da aplicação é feita em um servidor.


Sistemas operacionais

Arquitetura Cliente-Servidor Three-Tier

A arquitetura cliente/servidor tradicional envolve duas camadas, ou tiers: uma camada do cliente e uma do servidor. A arquitetura de três-camadas vem se tornando cada vez mais comum.

Nesta arquitetura, o software de aplicação é distribuído entre três tipos de máquinas:uma máquina do usuário, um servidor middle-tier, e um servidor backend. A máquina do usuário é o cliente e, no modelo three-tier, temos um cliente magro. As máquinas middle-tier são essencialmente passagens entre os clientes magros do usuário e uma variedade de servidores backend da base de dados. As máquinas middle-tier podem converter protocolos e mapear um tipo de pergunta da base de dados a outro.


Sistemas operacionais

Consistência do Arquivo Cache

Quando um arquivo do servidor é usado, o desempenho do arquivo I/O pode ser degradado no acesso local do arquivo devido o atraso imposto pela rede.

Para reduzir esta penalidade do desempenho, os sistemas individuais podem usar arquivos cache para acessar registros recentemente acessados.

Por causa do princípio de localidade, o uso de um arquivo cache local deve reduzir o número de acessos remotos do servidor que devem ser feitos.


Sistemas operacionais

Consistência do Arquivo Cache

Quando os caches contêm cópias exatas de dados remotos, nós dizemos que os caches são consistentes. Os cachês tornam-se inconsistentes quando os dados remotos são mudados e as cópias locais antigas não estão rejeitadas.

Problema da consistência do cache:

Manter cópias locais dos caches de dados remotos.

Para evitar este problema, deve-se usar técnicas para impedir o acesso simultâneo a um arquivo por mais de um cliente. Isto garante a consistência à custa do desempenho e flexibilidade.


Sistemas operacionais

Middleware

É uma camada adicional de software usada não só para ocultar a heterogeneidade da coleção de plataformas, mas também para melhorar a distribuição de transparência.

Ela é colocada entre as aplicações e o sistema operacional de rede, oferecendo um alto nível de abstração. Assim, tais aplicações não fazem uso direto da interface de programação.


Sistemas operacionais

Middleware

Arquitetura Middleware

A finalidade básica do middleware é permitir que uma aplicação ou um usuário em um cliente acesse uma variedade dos serviços no servidor sem que haja preocupação sobre diferenças entre usuários.

Client Workstation

Presentation services

Server

Application logic

Middleware

interaction

Middleware

Communications

software

Communications

software

Aplications

services

Protocol

interaction

Client

operating system

Server operating system

Hardware platform

Hardware platform


Sistemas operacionais

Bibliografia

Livros

Stallings, William. Operating Systems – Internals and Design Principles.

Prentice Hall, 2001.

Distributed Systems. Edited by Sape Mullender.

Sites

http://www.cs.montana.edu/courses/current/418/cs418-15.pdf

http://discolab.rutgers.edu/users/muralir/cs519-fall98/

http://www.din.uem.br/~cfmoro/download/coulouris_cap2.PDF

http://wwwhome.cs.utwente.nl/~pires/publications/sbrc2001-p1.pdf

http://www.dc.ufscar.br/~paulovic/MidSDs.pdf


  • Login