Prévia do material em texto
Os conceitos de processos e comunicação entre processos guiam o desenvolvimento de sistemas comunicantes, entre eles, os sistemas distribuídos. Além disso, considere a citação a seguir: A passagem de mensagens entre um par de processos pode ser suportada por duas operações de comunicação de mensagem: send e receive, definidas em termos de destinos e de mensagens. Para que um processo se comunique com outro, um deles envia (send) uma mensagem (uma sequência de bytes) para um destino e o outro processo, no destino, recebe (receive) a mensagem. Essa atividade envolve a comunicação de dados do processo remetente para o processo destino e pode implicar na sincronização dos dois processos (COULOURIS, 2013, p. 147). A questão tem por objetivo avaliar a capacidade do estudante de entender os conceitos de processos e comunicação entre processos. Considerando o que foi exposto, responda: qual a utilidade de um processo em um sistema distribuído? Onde o processo está localizado: no lado do cliente, no lado do servidor ou ambos? Justifique suas respostas e dê exemplos de, pelo menos, 3 processos que executa no seu computador. Fonte: COULOURIS, G. Sistemas distribuídos: conceitos e projeto. São Paulo, Bookman, 2013. [Recurso eletrônico]. R: Conforme abordado no material, o conceito de processos em sistemas distribuídos é, resumidamente, uma abstração de um programa em execução contendo todos os recursos necessários para seu funcionamento, incluindo as threads (fluxos de execução, que auxiliam no compartilhamento de recursos e variáveis, permitindo paralelismo). Logo, processos são extremamente importantes para os sistemas distribuídos, uma vez que dentro deles, diversos processos estão sendo executados. Os processos estão localizados em ambos os lados para que seja viável a troca de mensagens. Conforme explica Couloris (2013, p. 147), para que esta comunicação funcione corretamente, são necessários dois processos, o que envia a mensagem, o send(), e o que recebe a mensagem, receive(). É importante ressaltar, que neste processo de comunicação temos dois tipos de chamadas, as síncronas e as assíncronas. As síncronas, tem caráter bloqueante, ou seja, o cliente faz a solicitação (send), e fica aguardando a resposta do servidor (receive), sendo impedido de realizar qualquer outro processamento. Já na assíncrona, é possível realizar ações de forma simultânea, ou seja, enquanto a mensagem pelo cliente é enviada ao servidor, este mesmo cliente pode realizar outros processamentos. Alguns exemplos de chamadas assíncronas que utilizamos rotineiramente em nossos computadores são o OneDrive da Microsoft, o Dropbox da Dropbox Inc. e o Google Drive da Google, todos estes aplicativos possuem a mesma funcionalidade de armazenamento de dados em “nuvem” (cloud computing), permitindo aos usuários que enviem seus arquivos (upload), enquanto executam outras atividades. Referências Bibliográficas: ZETTLER, Kev. O que é um sistema distribuído? Uma visão geral dos sistemas distribuídos e das arquiteturas de microserviços. Disponível em: https://www.atlassian.com/br/microservices/microservices- architecture/distributed- architecture#:~:text=Os%20sistemas%20distribu%C3%ADdos%20costumam% 20ajudar,centrais%20de%20falha%20e%20gargalos. Acesso em: 06/11/2023; WIKIPÉDIA. Sistema de processamento distribuído. Disponível em: https://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo#: ~:text=Um%20sistema%20de%20processamento%20distribu%C3%ADdo,mes mo%20subdividido%20por%20v%C3%A1rios%20n%C3%B3s. https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture#:~:text=Os%20sistemas%20distribu%C3%ADdos%20costumam%20ajudar,centrais%20de%20falha%20e%20gargalos https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture#:~:text=Os%20sistemas%20distribu%C3%ADdos%20costumam%20ajudar,centrais%20de%20falha%20e%20gargalos https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture#:~:text=Os%20sistemas%20distribu%C3%ADdos%20costumam%20ajudar,centrais%20de%20falha%20e%20gargalos https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture#:~:text=Os%20sistemas%20distribu%C3%ADdos%20costumam%20ajudar,centrais%20de%20falha%20e%20gargalos https://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo#:~:text=Um%20sistema%20de%20processamento%20distribu%C3%ADdo,mesmo%20subdividido%20por%20v%C3%A1rios%20n%C3%B3s https://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo#:~:text=Um%20sistema%20de%20processamento%20distribu%C3%ADdo,mesmo%20subdividido%20por%20v%C3%A1rios%20n%C3%B3s https://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo#:~:text=Um%20sistema%20de%20processamento%20distribu%C3%ADdo,mesmo%20subdividido%20por%20v%C3%A1rios%20n%C3%B3s Acesso em: 06/11/2023; NEVES, Julia. Comunicação assíncrona e síncrona. Ano 2023. Disponível em: https://www.oitchau.com.br/blog/comunicacao-assincrona-e- sincrona/#:~:text=S%C3%A3o%20exemplos%20de%20comunica%C3%A7%C 3%A3o%20s%C3%ADncrona,v%C3%ADdeo%20e%20conversas%20por%20t elefone. Acesso em: 06/11/2023; DROPBOX. O que é comunicação assíncrona. Disponível em: https://experience.dropbox.com/pt-br/resources/asynchronous- communication. Acesso: 06/11/2023. https://www.oitchau.com.br/blog/comunicacao-assincrona-e-sincrona/#:~:text=S%C3%A3o%20exemplos%20de%20comunica%C3%A7%C3%A3o%20s%C3%ADncrona,v%C3%ADdeo%20e%20conversas%20por%20telefone https://www.oitchau.com.br/blog/comunicacao-assincrona-e-sincrona/#:~:text=S%C3%A3o%20exemplos%20de%20comunica%C3%A7%C3%A3o%20s%C3%ADncrona,v%C3%ADdeo%20e%20conversas%20por%20telefone https://www.oitchau.com.br/blog/comunicacao-assincrona-e-sincrona/#:~:text=S%C3%A3o%20exemplos%20de%20comunica%C3%A7%C3%A3o%20s%C3%ADncrona,v%C3%ADdeo%20e%20conversas%20por%20telefone https://www.oitchau.com.br/blog/comunicacao-assincrona-e-sincrona/#:~:text=S%C3%A3o%20exemplos%20de%20comunica%C3%A7%C3%A3o%20s%C3%ADncrona,v%C3%ADdeo%20e%20conversas%20por%20telefone https://experience.dropbox.com/pt-br/resources/asynchronous-communication https://experience.dropbox.com/pt-br/resources/asynchronous-communication