As modificações do
hardware em favor das redes implicaram em ajustes
nos Sistemas Operacionais, adaptando-os para o novo
ambiente de processamento. Os computadores pessoais,
que antes funcionavam isoladamente, já possuíam seus
respectivos Sistemas Operacionais Locais (SOL). Posteriormente
surgiram os Sistemas Operacionais de Rede (SOR), como
extensão dos sistemas locais, complementando-os com
o conjunto de funções básicas e de uso geral, necessárias
à operação das estações de trabalho, de forma a tornar
transparente o uso dos recursos compartilhados no
sistema computacional.
Transparência
A transparência é
um dos requisitos fundamentais dos Sistemas Operacionais
de Rede. Nesse sentido, os SORs devem atuar de forma
que os usuários utilizem os recursos da rede como
se estivessem operando localmente. A solução encontrada
para estender o Sistema Operacional das estações da
rede, sem modificar sua operação local, foi a introdução
de um módulo redirecionador.
O redirecionador funciona
interceptando as chamadas feitas pelas aplicações
ao Sistema Operacional Local, desviando aquelas que
dizem respeito a recursos remotos para o módulo do
Sistema Operacional em Rede, responsável pelos serviços
de comunicação que providenciam conexão ao dispositivo
remoto.
Para as aplicações
dos usuários, a instalação do Sistema Operacional
de Rede é percebida apenas pela adição de novos recursos
(chamados recursos verticais) aos que elas possuíam
anteriormente. O redirecionador, como apresentado,
foi o mecanismo sobre o qual foram desenvolvidos os
Sistemas Operacionais de Rede atuais.
Arquiteturas
Cliente-Servidor e Peer-to-Peer
A interface entre
as aplicações de usuário e o Sistema Operacional baseia-se
usualmente, em interações solicitação/resposta, onde
a aplicação solicita um serviço (abertura de um arquivo,
impressão de bloco de dados, alocação de uma área
de memória etc.) através de uma chamada ao sistema
operacional. O sistema operacional, em resposta, executa
o serviço solicitado e responde, informando o status
da operação (se foi executado com sucesso ou não)
e transferindo os dados resultantes da execução para
a aplicação, quando for o caso. No modo de interação
Cliente-Servidor, a entidade que solicita um serviço
é chamada cliente e a que presta o serviço é o servidor.
A interação cliente-servidor
constitui-se no modo básico de interação dos sistemas
operacionais de redes atuais. As estações que disponibilizam
a outras estações o acesso aos seus recursos através
da rede devem possuir a entidade (ou módulo) servidor.
As estações que permitem que suas aplicações utilizem
recursos compartilhados com outras estações devem
possuir a entidade (ou módulo) cliente.
Nas estações que possuem
o módulo cliente, o Sistema Operacional de Rede ao
receber um pedido de acesso a um recurso localizado
em outra estação da rede, monta uma mensagem contendo
o pedido e a envia ao módulo servidor da estação onde
será executado o serviço. Na estação remota, o SOR
recebe a mensagem, providencia a execução (nos casos
onde o pedido envolve a devolução para o SOR na estação
requerente). Quando o SOR na estação que requisitou
o serviço recebe a mensagem transportando a resposta,
ele faz sua entrega à aplicação local.
Módulos Cliente e
Servidor
As funções necessárias
do SOR nos módulos clientes são diferentes das funções
nos módulos servidores. No módulo cliente, o SOR restringe-se
praticamente a fornecer serviços de comunicação de
pedidos para o servidor e a entregar as respostas
às aplicações. No módulo servidor além das funções
de comunicação, vários outros serviços são executados.
Um desses serviços é o controle do acesso aos recursos
compartilhados por vários usuários através da rede,
para evitar, por exemplo, que um usuário não autorizado
apague arquivos que não lhe pertencem.
Portanto, podemos
classificar os módulos de um Sistema Operacional de
Rede, instalados nas estações, em módulo cliente e
módulo servidor do sistema operacional. Na arquitetura
Peer-to-Peer, em todas as estações o sistema
operacional de rede possui o módulo cliente (SORC)
e módulo servidor (SORS), conforme mostra a Figura
2.
Na arquitetura Cliente-Servidor,
as estações da rede se dividem em estações clientes,
que só possuem as funções do módulo cliente acopladas
ao seu sistema operacional local, e em estações servidoras.
As estações servidoras
necessariamente possuem as funções do módulo servidor
e podem, opcionalmente, possuir também as funções
do módulo cliente (possibilitando, por exemplo, que
um servidor seja cliente de outro, caso típico da
relação entre servidores de impressão de arquivos).
Nessa arquitetura, usualmente, as estações servidoras
não permitem usuários locais. Elas são integralmente
dedicadas ao atendimento de pedidos enviados pelas
estações clientes através da rede.
Na arquitetura Cliente-Servidor
com servidor não dedicado, as estações servidoras
possuem sistema operacional local (SOL) que é estendido
por um módulo servidor (SORS) e um módulo cliente
(SORC). O módulo cliente pode ser usado tanto pelo
servidor, 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 atendidos pelo sistema operacional local
(que também podem ter acesso a serviços de outros
servidores) quanto pelos usuários remotos que fazem
pedidos ao Sistema Operacional de Rede através da
rede.
É importante observar
que, como uma estação servidora possui um módulo cliente,
seu módulo servidor pode ser cliente de outra estação
servidora, como em alguns servidores dedicados.