Mostrando postagens com marcador Processos. Mostrar todas as postagens
Mostrando postagens com marcador Processos. Mostrar todas as postagens

Sockets em Redes - Transportando Informações Entre as Aplicações

Neste tutorial, iremos entender como as informações se movem entre os processos de uma aplicação, através de uma rede, que é através de sockets.

Sockets - O Que É e Para Que Serve



Ok, já entendemos que há processos no lado do cliente e processos no lado do servidor, e que estes se comunicam.

Mas como essas informações saem de um processo para chegar até o outro, ao longo da rede?
Isso é feito através de software, de uma interface muito importante e usada na internet, os sockets.

Como existem diversos tipos de processos, rodando sob os mais diversos tipos de sistemas operacionais e sistemas finais, a comunicação entre os processos precisa ser padronizada.

Ou seja, quem envia e quem recebe informações, deve fazer de uma maneira mais padrão possível, e quem cuida disso é o socket, que é uma espécie de 'intermediador' entre o processo e a rede de transporte.

Assim, os processos clientes e processos servidores apenas tem que se preocupar em enviar e receber informações para e do sockets, e este vai cuidar de todo resto. É uma interface, ela faz a 'conversa' entre os processos e o protocolo da camada de transporte.

Transporte Entre as Camadas de Aplicação

Ok, sabemos que o socket é uma interface entre o processo e o transporte de dados pela rede.
Mas, com é feito esse transporte?

Ao criar uma aplicação, você pode escolher as características de transporte, que dependem de:
  1. Confiança no Tráfego
  2. Segurança
  3. Velocidade
  4. Atraso



Você precisa ter certeza e garantia que os dados vão chegar no outro processo?
Sua aplicação deve ter nenhum ou o mínimo possível de perda de pacotes? (como no caso de e-mails e transações financeiras). Isso vai exigir protocolos mais rígidos e softwares mais elaborados, acarretando mais lentidão.

Se for uma aplicação para um banco ou loja online, por exemplo, além de ter certeza da chegada dos pacotes, você precisa garantir a segurança deles, que não vão ser espionados ou clonados.

Talvez você queira apenas que o transporte seja rápido, mesmo que perca alguns pacotes (como um serviço de streaming de vídeo, onde não há problema perder alguns pacotes) ? Então você pode 'afrouxar' a segurança dos dados, do tanto que receba uma boa vazão de pacotes, tendo uma ótima velocidade de troca de dados.




E se for um jogo online em tempo real? Aí precisa dos dois! Troca rápida de dados e com o máximo de confiança possível. Não pode ter atraso, senão foca simplesmente impossível de jogar.

Que protocolo usar? Vai depender da aplicação que você vai criar, você vai ter que balançar
Ler Tutorial

Processos na Camada de Aplicação em Redes

Neste tutorial sobre a Camada de Aplicação em Redes, iremos falar sobre algo extremamente importante e essencial para a existência dessa camada, em uma rede de computadores, que são os processos.


O Que São Processos

Processos, em Computação, nada mais são que programas em execução.
Por exemplo, nesse momento você está lendo este tutorial a partir de um browser. É um processo, pois é um programa em execução.

Tem um processo pra gerenciar a memória RAM, um processo que executa as mp3 que você está ouvindo, outro para copiar os arquivos de seu computador pro HD externo, etc etc.

Mas mais importante do que entender o que é um processo, é saber que eles se comunicam.
Um envia informação para o outro. Alguns processam só são iniciados quando outros o invocam ou quando recebem algum dado de outro processo.

Processos em Redes de Computadores

As vezes esquecemos, e vemos a internet como uma máquina ou sistema diferente, mas são apenas sistemas finais conectados à distância.

Da mesma maneira que processos se comunicam e trocam informações dentro de um mesmo computador, processos podem se comunicar através de máquinas diferentes.



Quando você usa um programa de P2P, como o bitTorrent, o processo em seu computador se comunica com o processo de outro usuário, e trocam dados (no caso, os arquivos compartilhados).

Quando você acessa a página de um site, seu browser (um processo) se comunica com o servidor onde você deseje obter as informações do site (um processo). Nesse caso, dizemos que seu browser é um processo cliente e o servidor roda um processo servidor.

De uma maneira mais formal, o processo que inicia a comunicação com outro é dito processo cliente, e o que recebe o chamado de comunicação é o processo servidor.




Em aplicações Web, são conhecidos como pares de processo comunicantes, e aprofundaremos em breve o estudos nesses pares de processos, pois são vitais na cama de aplicação de uma rede.
Ler Tutorial

Pipes em C - Sincronismo entre processos com mais de um pipe

Em nosso tutorial passado, sobre Pipes em C, falamos dessa importante ferramenta para a troca de informações e dados entre processos em um Sistema Operacional.
Agora, iremos entrar em mais detalhes sobre o uso de pipes em C.
Ler Tutorial

Disputa entre Processos e Região Crítica - Comunicação entre Processos (IPC - Interprocess Communication)

Neste tutorial sobre Sistemas Operacionais, iremos entrar em detalhes sobre como os vários processos que ocorrem em um sistema operacional trabalham entre si.

Entenderemos como ocorre uma disputa entre dois ou mais processos para acessar uma região crítica, e veremos na prática os problemas que isso pode gerar, antes de estudarmos as soluções.
Ler Tutorial

Como os processos são executados no computador

Neste tutorial sobre Sistemas Operacionais, vamos entender um pouco como o SO se comunica com a CPU de modo a organizar e executar os processos existentes em sua máquina.

O entendimento da execução dos processos é de vital importância para o estudo dos algoritmos de escalonamento, threads e diversos outros assuntos para entendermos melhor o funcionamento dos sistemas operacionais.
Ler Tutorial

A chamada de sistema fork() - Como criar e Gerenciar Processos

Nesse tutorial, da seção Programação de Sistemas Operacionais, vamos finalmente botar a mão na massa e programar, fazendo códigos com a linguagem C, para criar e gerenciar processos através da função fork(), uma importantíssima chamada de sistema (system calls), de sistemas operacionais do tipo Unix.
Ler Tutorial

Processos, Espaços de Endereçamento e Arquivos em Sistemas Operacionais

Neste tutorial sobre Sistemas Operacionais (do ponto de vista da programação) , iremos aprender três conceitos básicos, e de grande importância, para o estudo e entendimento do funcionamento dos SO's: processos, espaços de endereçamento e arquivos.

Ler Tutorial

Veja também: