Post on 03-Aug-2015
Redes 2
Aula 02Sistemas Operacionais de Redes
Claudio Lobo Redes 2 Slide 2
Sistemas Operacionais de Redes
Objetivos
• Conceituar Sistema Operacional (SO).• Identificar as funções de um SO.• Conhecer os mecanismos oferecidos pelos sistemas
operacionais para implementar serviços de rede.
Claudio Lobo Redes 2 Slide 3
Sistemas Operacionais de Redes
Introdução• Um Sistema Computacional é composto de hardware
(HW) e software (SW).
• Hardware:• Processador(es)• Memória principal (RAM)• Discos (HD)• Impressoras• Teclado e mouse• Monitor de vídeo• Interface de rede• Outros dispositivos de entrada e saída (E/S)...
Gerenciar esses dispositivos é complexo!
Claudio Lobo Redes 2 Slide 4
Sistemas Operacionais de Redes
Introdução• Um Sistema Computacional é composto de hardware
(HW) e software (SW).
• Software• Dividido em duas categorias básicas:
• Software Básico• Software Aplicativo
• Software Básico:• Programas necessários ao funcionamento do
computador.• Dentre eles, destaca-se o Sistema
Operacional.
Claudio Lobo Redes 2 Slide 5
Sistemas Operacionais de Redes
Conceito• Sistema Operacional é uma camada de software, situada
entre o hardware e as aplicações dos usuários.
HARDWARE
SISTEMA OPERACIONAL
SHELL MONTADORTRADUTORINTERPRETADOR
BROFFICE MYSQLFIREFOXOUTLOOKAplicativos
SoftwareBásico
HW
Claudio Lobo Redes 2 Slide 6
Sistemas Operacionais de Redes
Conceito• Sistema Operacional:
• Controla recursos e fornece base para a construção de aplicações.
• Permite a utilização do computador de forma eficiente e segura.
• Constitui-se a base para construção de aplicações.• Esconde a complexidade do HW, fornecendo um
conjunto de instruções mais conveniente. • Cria uma Máquina Virtual (abstrata), a partir da Real.• Oferece interfaces padronizadas de acesso ao HW.• Permite uma visão homogênea de dispositivos distintos.
Claudio Lobo Redes 2 Slide 7
Sistemas Operacionais de Redes
Conceito• Sistema Operacional Gerenciando Recursos:
Sistema operacional
Aplicação
Sistema operacional
Aplicação
Sistema operacional
Aplicação
Claudio Lobo Redes 2 Slide 8
Sistemas Operacionais de Redes
Conceito• Sistema Operacional como Máquina Virtual:
Sistema operacional
Aplicação
Ato de Clicar em um arquivo
Assign(file, “C:\TESTE.DOC”); open(file); read(file, ch); … close(file);
Move head to sector 117 in FAT read 134 bytes to mem 52374H move head to sector 4455323 read 512 bytes to mem 66789 ...
Claudio Lobo Redes 2 Slide 9
Sistemas Operacionais de Redes
Kernel• Concentra o acesso ao hardware
• Drivers de dispositivo (device drivers)• Gerência de acesso
• Provê funções básicas• Operações de acesso ao hardware• Noção básica de processos• Comunicação entre processos
• É executado em modo privilegiado• O kernel tem acesso direto ao HW, à memória do
sistema, e todos o os processos que estão rodando.
Kernel
Claudio Lobo Redes 2 Slide 10
Sistemas Operacionais de Redes
Programas e Processos• Programa.
• Implica em uma noção estática.• É apenas um conjunto de instruções.• Não possui um estado interno.
• Processo:• Processo é um programa em execução.• Implica em noção dinâmica.• Possui um estado interno.
Claudio Lobo Redes 2 Slide 11
Sistemas Operacionais de Redes
Estados de Processos• Durante sua existência, um processo pode estar em um
de três estados básicos:• Executando – o programa está de posse da CPU, isto é,
está logicamente em execução.• Pronto – está pronto para executar, mas o processador
está ocupado com outro processo.• Suspenso (ou bloqueado) – o processo está esperando
pela ocorrência de um evento, como, por exemplo, o fim de uma operação de E/S.
Claudio Lobo Redes 2 Slide 12
Sistemas Operacionais de Redes
Estados de Processos• Quando um processo acaba, ele é retornado para o
usuário. • Ele é considerado Concluído, ou completo, tanto quando
a sua execução é terminada com sucesso como quando o sistema operacional indica que houve um erro. Neste último caso, ele é terminado prematuramente.
Claudio Lobo Redes 2 Slide 13
Sistemas Operacionais de Redes
Sistema Operacional de Redes• Segundo a Federal Standard 1037C, um S.O.R. é um
software que:• Controla uma rede e seu tráfego de mensagens (por
exemplo, pacotes) e suas filas de processamento.• Controla o acesso de múltiplos usuários aos recursos da
rede (Ex.: arquivos).• Provê algumas funções administrativas, como
Segurança, por exemplo.
• As 5 camadas superiores do Modelo de Referência OSI provêm a fundação na qual muitos sistemas operacionais de rede são baseados.
Claudio Lobo Redes 2 Slide 14
Sistemas Operacionais de Redes
Sistema Operacional de Redes• O hardware de rede
• Implica em ajustes nos SO, adaptando-os para o novo ambiente de processamento.
• Os computadores que funcionavam isoladamente necessitavam de compartilhar recursos.
• Surgiram os Sistemas Operacionais de Rede (SOR).• Extensão dos sistemas locais.• Agregou conjunto de funções básicas e de uso geral.
• Tornou transparente o uso dos recursos compartilhados no sistema computacional, para as estações de trabalho.
Claudio Lobo Redes 2 Slide 15
Sistemas Operacionais de Redes
Sistema Operacional de Redes - Requisitos• Transparência
• Um dos requisitos fundamentais dos SOR.• Permite que os usuários utilizem os recursos da rede
como se estivessem operando localmente. • Mas, como fazer isso, no Sistema Operacional das
estações da rede, sem modificar sua operação local?• A introdução de um módulo redirecionador.
Aplicação
SO Local
BIOS
Hardware
Aplicação
SO Local
BIOS
Hardware
Redirecionador SW de comunicação
HW de Rede
SO sem redirecionador
SO com redirecionador
Claudio Lobo Redes 2 Slide 16
Sistemas Operacionais de Redes
Sistema Operacional de Redes - Requisitos• Funcionamento do Redirecionador
Driver de Rede
Programa de Rede
Software Servidor
Sistema Operacional
Aplicativos
SERVIDOR
DiscosPorta paralela
Cliente
Aplicativos
Redirecionador
BIOS Programade Rede
DiscosPorta paralelaPlaca de VídeoPlaca de Som
Driver de Rede
Claudio Lobo Redes 2 Slide 17
Sistemas Operacionais de Redes
Sistema Operacional de Redes - Requisitos• Funcionamento do Redirecionador
• O Redirecionador intercepta chamadas do aplicativo e envia somente as chamadas de rede para o programa de comunicação de rede (NETBIOS, IPX, NETBEUI, IP).
• O programa de rede empacota a solicitação e envia ao driver de rede.
• A placa de rede NIC-Cliente envia o pacote para o barramento para que o NIC-Servidor o receba.
• O NIC-Servidor desempacota os dados e envia ao driver de rede, que o envia ao programa de rede que tomará a decisão de acesso aos recursos da maquina-servidor.
• O resultado devidamente checado é devolvido pelas mesmas vias.
Claudio Lobo Redes 2 Slide 18
Sistemas Operacionais de Redes
SOR – Arquitetura Cliente-Servidor• A interface entre as aplicações e o sistema operacional
baseia-se em solicitação / resposta.• A aplicação solicita um serviço através de uma chamada ao sistema
operacional.• Ex.: abertura de um arquivo, impressão de dados, alocação
de uma área de memória, etc.• O sistema operacional em resposta à chamada, executa o serviço
solicitado e responde informando o status da operação (se foi executada com sucesso ou não) e transferindo os dados resultantes da execução para a aplicação quando for o caso.
Aplicação SO
Claudio Lobo Redes 2 Slide 19
Sistemas Operacionais de Redes
SOR – Arquitetura Cliente-Servidor• No modo cliente-servidor:
• Quem solicita o serviço chama-se CLIENTE.• Quem fornece o serviço chama-se SERVIDOR.
• As estações que DISPONIBILIZAM recursos devem possuir o módulo SERVIDOR do SOR SORS.
• As estações que SOLICITAM recursos devem possuir o módulo CLIENTE do SOR SORC.
SO Local
Hardware
SORS
SORC
O SOR Cliente (SORC) está restrito a fornecer serviços de comunicação de pedidos ao servidor.
No SOR Servidor (SORS), além das funções de comunicação, vários outros serviços são realizados (como compartilhamento de acesso, restrição de acesso, etc.).
Claudio Lobo Redes 2 Slide 20
Sistemas Operacionais de Redes
SOR – Arquitetura Cliente-Servidor• No modo cliente-servidor:
• Vantagens:• Gerenciamento centralizado• Clientes simples• Maior controle e segurança ao acesso aos
recursos• Facilidade de expansão
• Desvantagens:• Servidor se torna um Ponto Único de Falha
(SPoF)• Exige hardware mais caro e especializado, para
atender às demandas
Claudio Lobo Redes 2 Slide 21
Sistemas Operacionais de Redes
SOR – Arquitetura Peer-to-Peer• Nesta arquitetura, todas as estações possuem os 2
módulos interagindo entre si (estação é cliente dela mesma) e entre os módulos das outras estações.
SO Local
Hardware
SORS
SORCSO Local
Hardware
SORS
SORC
Aplicação Aplicação
Claudio Lobo Redes 2 Slide 22
Sistemas Operacionais de Redes
SOR – Arquitetura Peer-to-Peer• Nesta arquitetura, todas as estações são clientes e
servidoras umas das outras.
• Vantagens:• Fácil instalação e configuração• Menor carga em cada servidor• Baixo custo em relação à arquitetura cliente/servidor
• Desvantagens• Não permite controle centralizado• Maiores problemas de segurança
Claudio Lobo Redes 2 Slide 23
Sistemas Operacionais de Redes
SOR – Servidor Dedicado e Não-Dedicado• São variações da arquitetura Cliente-Servidor
• Servidor Dedicado.• As estações servidoras possuem o módulo SORS
e opcionalmente o módulo SORC, que somente poderá ser usado pelo SORS local (por exemplo se ele for cliente de outro servidor)
• Normalmente não são permitidos usuários locais, sendo integralmente dedicados ao atendimento de pedidos enviados pelas estações clientes através da rede.
Claudio Lobo Redes 2 Slide 24
Sistemas Operacionais de Redes
SOR – Servidor Dedicado e Não-Dedicado• São variações da arquitetura Cliente-Servidor
• Servidor Não-Dedicado.• As estações servidoras possuem um SO local
estendido por um módulo SORS e um módulo SORC.
• O módulo SORC pode ser usado tanto pelo SORS quanto pelas aplicações dos usuários locais da estação servidora.
• Assim os recursos locais das estações servidoras são compartilhados tanto pelos usuários do sistema operacional local quanto pelos usuários remotos que fazem seus pedidos através do SOR pela rede local.
Claudio Lobo Redes 2 Slide 25
Sistemas Operacionais de Redes
Sistema Operacional de Redes – Algumas considerações• Computadores conectados através de uma rede.
• Cada computador possui seu SO local.• Cada máquina possui alto grau de autonomia.
• Implementação relativamente simples.• SOs incorporam módulos para acessar recursos
remotos.
• Comunicação entre sistemas através de protocolos de transporte • Sockets• RPC
Claudio Lobo Redes 2 Slide 26
Sistemas Operacionais de Redes
Sistema Operacional de Redes• Socket
• Sockets são os elos bidirecionais de comunicação entre dois processos, numa rede.
• É definido como a combinação de um endereço IP, um protocolo, e o número da porta do protocolo.
• Socket = IP + Protocolo + Porta
• RPC• Birrell e Nelson (1984). Permitir que os programas
chamassem procedimentos localizados em hosts remotos, de forma transparente ao usuário/programador.
Claudio Lobo Redes 2 Slide 27
Sistemas Operacionais de Redes
Sistema Operacional de Redes• Transferências explícitas.
• O usuário deve conhecer a localização dos recursos.• Os recursos pertencem a computadores específicos.
• Exemplos:• Compartilhamento de impressoras e arquivos• Web, E-mail• Serviços de autenticação (NIS, LDAP)• Transferência de Arquivos.• Acesso à internet (Proxy).
Claudio Lobo Redes 2 Slide 28
Sistemas Operacionais de Redes
Sistema Operacional de Redes
APLICATIVO
SISTEMA OPERACIONAL
REDE
APLICATIVO
SISTEMA OPERACIONAL
Claudio Lobo Redes 2 Slide 29
Sistemas Operacionais de Redes
Um SO de Redes deve:• Prover Serviços básicos:
• Suporte à Multitarefa Preemptiva.• SO controla o tempo que cada processo usa a CPU.• Obs.: Multitarefa Cooperativa
• Quando chega sua vez, o sistema operacional passa o controle da CPU para o programa e aguarda que ele o devolva para passá-lo para o próximo.
• Se um programa mal feito tomar para si o controle da CPU e se recusar a devolvê-lo por um tempo demasiadamente longo, parece que os demais programas travaram.
Claudio Lobo Redes 2 Slide 30
Sistemas Operacionais de Redes
Um SO de Redes deve:• Prover Serviços básicos:
• Suporte a tarefas com prioridade.• Proteção de memória entre tarefas.• Sistema de arquivos multi-usuário.• Threads (processos leves)
• Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente.
• Permite que o programa, por exemplo, utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam cálculos.
Claudio Lobo Redes 2 Slide 31
Sistemas Operacionais de Redes
Um SO de Redes deve:• Prover Serviços Estendidos ao servidor:
• Comunicação com diversos protocolos.• Extensões de rede (arquivos distribuídos).• Suporte a BLOBs (Binary Large Objects).• Serviço de nomes universal.• Serviço de autenticação e autorização.• Serviço de tempo distribuído.• Serviço de gerência de redes.• ...
Claudio Lobo Redes 2 Slide 32
Sistemas Operacionais de Redes
Um Servidor de Redes deve:• Esperar e atender requisições dos clientes.• Suportar requisições simultâneas.• Oferecer níveis de prioridade de serviço.• Executar tarefas de gerenciamento local.• Ser robusto e confiável.• Ser modular e escalável.
Claudio Lobo Redes 2 Slide 33
Sistemas Operacionais de Redes
Um Cliente de Redes espera que o servidor forneça:• Sistema multitarefa preemptivo.• Sistema de arquivos em rede.• Proteção de memória entre tarefas.• Interface gráfica GUI ou OOUI.• Suporte a threads.
Claudio Lobo Redes 2 Slide 34
Sistemas Operacionais de Redes
Quem podem ser os Clientes de Redes ?• Clientes sem interface gráfica:
• Monotarefa: • Celulares (antigos)• Leitores de código de Barras.
• Multitarefa: • Robôs• Equipamentos industriais
• Clientes com interface gráfica
Claudio Lobo Redes 2 Slide 35
Sistemas Operacionais de Redes
Exemplos de Sistemas Operacionais de Redes• Novell Netware
• Vem decaindo seu uso.• Rápido, fácil de administrar.• Alta proteção de memória e preempção.• Comprou a SUSE Linux (2003)
novo NetWare, o
Open Enterprise Server, que mesclou Linux e Novell NetWare.
Claudio Lobo Redes 2 Slide 36
Sistemas Operacionais de Redes
Exemplos de Sistemas Operacionais de Redes• Windows (NT, XP Server, 2003 Server ...)
• Predominância já foi maior.• Excelente para redes Microsoft.• Gerência fácil, graças à interface gráfica.• SMP e segurança deficientes.• Sujeito a constantes Patches e Atualizações de
segurança.• Muito visado para ataques.
Claudio Lobo Redes 2 Slide 37
Sistemas Operacionais de Redes
Exemplos de Sistemas Operacionais de Redes• GNU/Linux
• Estável.• Versátil, confiável, seguro, 64 bits.• Falta de padrões, gerência mais complexa que a do
Windows e Netware.• Suporte rápido e, normalmente, gratuito• Open Source• Desenvolvido por comunidades.• Diferentes Distribuições (“sabores”),um para cada necessidade.
Claudio Lobo Redes 2 Slide 38
Principais serviços
• Arquivos• Impressão• Mensagem• Aplicação
Claudio Lobo Redes 2 Slide 39
Servidor de Arquivos• Oferece aos clientes os serviços de armazenamento,
acesso e compartilhamento de arquivos e discos (mídia de gravação magnética ou óptica).
• Possui uma estrutura hierárquica de diretórios, proteção de arquivos individuais ou de diretórios, chaves para atualização simultânea e segura de arquivos, etc.
• Um Servidor de Arquivos é capaz de aceitar transações independente do sistema operacional do cliente, ou seja, independente da estrutura de arquivos do cliente– Nesse caso existe uma estrutura de rede padrão usada no
servidor de arquivos nos quais os vários arquivos dos clientes devem ser convertidos.
Claudio Lobo Redes 2 Slide 40
Servidor de Arquivos
• Um Servidor de Arquivos trabalha com 3 subsistemas funcionais– Subsistema Gerenciador de Arquivos.
• Controla o acesso físico aos meios de armazenamento.– Subsistema de Cache de disco.
• Aumenta a eficiência do servidor permitindo que a leitura do disco seja sempre feita em blocos maiores, mantendo-os na RAM.
– Subsistema de Acesso Compartilhado e Segurança.• Controla o acesso simultâneo aos arquivos, permitindo o seu
compartilhamento.• 2 modelos básicos de acesso.
– Share level (nível de compartilhamento).– User lever (nível de usuário).
Claudio Lobo Redes 2 Slide 41
Servidor de Banco de Dados• As aplicações baseadas no acesso a banco de dados
compartilhado podem usar um servidor de arquivos para armazenar os arquivos dos BD, enquanto a aplicação no cliente executa as operações sobre a base.– Esta solução, além de tornar muito difícil a manutenção da
integridade da base de dados (o travamento de registros será feito no cliente e repassado ao servidor e este tempo de repasse pode ser muito longo) degrada a performance de toda a rede pelo aumento do tráfego.
• Um Servidor de Banco de Dados executa a parte das tarefas de acesso.– Assume, além das funções de armazenamento, algumas
funções de processamento de consultas.– Um aspecto importante da utilização destes servidores é o
aumento do desempenho das aplicações e da rede.
Claudio Lobo Redes 2 Slide 42
Servidor de Impressão• O cliente envia um pedido ao servidor, especificando
qual impressora será usada e os dados a serem impressos.
• Se ela estiver disponível, será alocada ao cliente até que este a libere (ou até que se esgote o tempo máximo e utilização, conforme negociação na alocação).– Caso a impressora não esteja disponível o cliente é avisado.
• Uma outra forma de implementação é o spolling.– O cliente, ao invés de pedir a alocação, envia diretamente ao
servidor o documento a ser impresso.– O documento é colocado em uma fila de impressão (um arquivo
que poderá estar no servidor de arquivos ou, se existir, no disco do próprio servidor de impressão).
Claudio Lobo Redes 2 Slide 43
Servidor de Impressão
• Vantagens do uso de impressoras em rede:– Redução do número de impressoras necessárias às
atividades da empresa.– Possibilidade de escolha de um local mais
conveniente para as impressoras.– Uso de spoolers de impressão, reduzindo o tempo
gasto pelo computador com serviço de impressão.– Possibilidade de uso simultâneo dos recursos de
impressão/fax, através do uso de filas.– Uso de impressoras para tarefas/formulários
específicos.
Claudio Lobo Redes 2 Slide 44
Servidor de Mensagens• Os serviços de mensagem incluem o armazenamento,
acesso e envio de dados, sejam arquivos de texto, binários, gráficos, de vídeo ou de áudio.– Correio Eletrônico (e-mail)
• Transferência eletrônica de dados entre dois ou mais computadores/usuários em rede.
• Originalmente apenas mensagens em texto eram transferidas.• Atualmente as mensagens incluem uma grande quantidade de
formatos, tais como gráficos, vídeo e áudio.– Muitos softwares permitem a criação de quadros de avisos
eletrônicos (Noticeboards).– Uso de fórums e listas de discussão.– SMS.
Claudio Lobo Redes 2 Slide 45
Servidor de Aplicação
• Os servidores de aplicação executam SW que podem ser acessados pelos clientes da rede.
• Permitem o compartilhamento não só de dados, mas também de processamento.
• Podem compartilhar componentes de software.• Exemplos
– Servidores gráficos.– Servidores Internet.– ORBs (Object Request Broker)
• Componente intermediário que facilita a comunicação entre o cliente e os objetos que implementam as funcionalidades que o cliente irá utilizar (objetos do servidor que são chamados de servants). Ele provê transparência de localidade para os clientes, separando os detalhes da invocação dos métodos remotos do código do cliente e permitindo assim que o cliente faça uma chamada remota da mesma forma que faria uma chamada local.