SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
das
A
Gabarito
utoatividades
SISTEMAS E APLICAÇÕES
DISTRIBUÍDAS
Centro Universitário Leonardo da Vinci
Rodovia , nº .
BR 470 Km 71, 1 040
Bairro Benedito - CEP 89130-000
I daial
n - Santa Catarina - 47 3281-9000
Elaboração:
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci - UNIASSELVI
2018
Prof. Danton Cavalcanti Franco Junior
Prof. Jan Charles Gross
3
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
GABARITO DAS AUTOATIVIDADES DE
SISTEMAS E APLICAÇÕES DISTRIBUÍDAS
UNIDADE 1
TÓPICO 1
1 	Quais são os elementos que compõem a estrutura de um sistema
computacional?
R.: São quatro elementos: o hardware, o sistema operacional, os programas
e os usuários. O hardware compreende toda a parte física, já os programas,
também conhecidos como aplicativos, fornecem funcionalidades específicas
como planilhas, editores de texto, editores gráficos etc. Os usuários são
as pessoas que interagem com esses programas, e o sistema operacional
é responsável por gerenciar os recursos de hardware, tornando o uso da
máquina transparente aos usuários.
2 	 Quais são as funções básicas de um sistema operacional?
R.: São várias as funções do sistema operacional, entretanto, são duas
as funções básicas: facilidade de acesso aos recursos do sistema,
compartilhamento de recursos de forma organizada e protegida.
Para os sistemas de rede, pode-se adicionar o controle e gerenciamento da
rede.
3 	Quais gerações são apontadas na história e qual é o período que
compreendem?
R.: Primeira geração (1940 até 1955).
Segunda geração (1956 e 1965).
Terceira geração (1966 e 1980).
Quarta geração (1981 e 1990).
Quinta geração (de 1991 até os dias atuais).
4 	 Em qual geração surgiram os sistemas operacionais de rede? Por quê?
R.: Os sistemas operacionais de rede surgiram na quarta geração,
porque houve nesse período um grande desenvolvimento do hardware
4 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
(miniaturização e barateamento), viabilizando os computadores pessoais,
a criação de conceitos inovadores como multitarefa e multiprocessamento,
assim como a criação de protocolos de redes, como TCP/IP, além das redes de
computadores locais (LAN), metropolitanas (MAN) e de longa distância (WAN).
5 	 Quais são os tipos de sistemas operacionais?
R.: Basicamente temos dois tipos de sistemas operacionais:
- os monotarefa: rodam apenas uma tarefa por vez.
- os multitarefa: executam várias tarefas simultaneamente.
Salienta-se que dentro de cada sistema pode haver subtipos de sistemas.
6 	 Em que ano surgiu a primeira versão do Windows?
R.: Windows 1.0, surgiu em novembro de 1985.
TÓPICO 2
1 	 Baseado na leitura complementar, pesquise na internet outras formas
de adaptação de equipamentos, e os sistemas operacionais utilizados
para a comunicação entre eles.
R.: Os acadêmicos devem pesquisar e apresentar técnicas como computação
paralela, computação em grid. São exemplos a pesquisa de vida extraterrestre,
simulação do clima na Terra, busca de números primos, quebras de algoritmos
de criptografia, simulações etc.
2 	 Especifique como poderiam ser conectados três computadores, duas
impressoras e um sistema de armazenamento de forma que todos
compartilhassem recursos.
R.: Esta atividade não tem padrão de resposta, mas é importante que o(a)
acadêmico(a) consiga entender e visualizar o compartilhamento de recursos
em sistemas operacionais. São soluções aceitas: a estrutura de barramento,
onde cada elemento acima seja um recurso independente, conectado ao
barramento. Outra abordagem seria a ligação de uma impressora em cada
micro, e o sistema de armazenamento no terceiro micro.
5
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
TÓPICO 3
1 	 Leia o artigo “Sistemas Operacionais”, disponível em: <http://www.lume.
ufrgs.br/bitstream/handle/10183/19242/000102159.pdf> e responda:
a) 	Faça uma resenha do artigo.
R.: Esta atividade não tem padrão de resposta. De fato, é importante apenas
que o(a) acadêmico(a) consiga sintetizar o artigo, sem que sejam efetuadas
cópias. É interessante que o tutor leia o artigo antes de discuti-lo com os
acadêmicos.
b) 	Elenque pelo menos duas características de cada item do artigo que
você julgue importante, e justifique sua resposta.
R.: Essa atividade não possui uma resposta padrão, mas o(a) acadêmico(a)
deve elencar situações de:
- Gerência do processador.
- Gerência de memória.
- Sistema de arquivos.
- Entrada/saída.
- Segurança.
- Organização interna.
- Sistemas operacionais distribuídos.
- Sistema operacional de tempo real.
UNIDADE 2
TÓPICO 1
1 	 O que é um processo?
R.: Pode-se dizer que um processo é um programa em execução (ativo) e
que programa é um conjunto de códigos (passivo) que quando carregado
em memória vira um processo.
2 	 O PBC deve armazenar que tipo de informação?
6 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
R.: É fundamental que o PCB armazene:
- Nome do processo e/ou número do processo.
- Ponteiros.
- Estado do processo.
- Prioridade.
- Registradores.
- Limites de memória.
- Listas de arquivos abertos.
3 	 Quais são os estados de um processo e qual é a sua função?
R.: Os cinco estados possíveis são:
- Novo (new): quando o processo é criado, iniciado com os valores padrão
dos seus registradores e aceito pelo sistema operacional, seu estado inicial
é novo.
- Pronto (ready): o processo encontra-se nesse estado quando aguarda
apenas que o mecanismo de escalonamento do sistema operacional o coloque
para executar na CPU.
- Execução (running): estado em que o processo entra quando a CPU
executa suas instruções. Apenas um processo pode estar nesse estado por
vez (em sistemas monoprocessados), contudo, se o hardware possuir mais
de um processador (multiprocessado), pode-se ter mais de um processo no
estado de execução.
- Espera: o processo encontra-se esperando quando aguarda a ação de
algum evento externo.
- Encerrado (finish): quando o processo termina sua execução, que pode
ocorrer de forma normal ou por erro de execução.
4 	 O estado de espera apresenta quais particularidades?
R.: Pode ser dividido em dois grupos:
- Espera (wait): quando o processo aguarda a conclusão de uma operação
em um recurso que já foi garantido.
- Bloqueado (blocked): quando o processo aguarda a liberação de um
recurso que está alocado para outro processo.
5 	 Quais são as possíveis mudanças de estado de um processo?
R.: As mudanças possíveis são:
- Novo – pronto: quando o PCB (processo) é criado e alocado na área
reservada ao sistema operacional, seguindo então para a lista de prontos.
- Pronto – executando: é realizada pelo escalonador de acordo com a política
implementada pelo sistema operacional.
7
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
- Executando – pronto: quando o processo é interrompido por outro de maior
prioridade, ou quando termina de executar em sua fatia de tempo conforme
as regras de escalonamento implementadas pelo sistema operacional.
- Executando – espera: quando o processo realiza uma operação de I/O,
ele entra na fila de espera, até que a solicitação seja realizada.
- Espera – pronto: é realizado pelo escalonador quando este recebe um sinal
indicando que a solicitação de I/O do processo foi realizada com sucesso.
- Executando – terminado: acontece quando o programa termina sua
execução com sucesso ou com erro, quem realiza essa transição é o
escalonador de processos.
6 	 Baseado na figura 31, responda:
a)	 Ao encerrar o processo F, qual(is) processo(s) será(ão) finalizado(s)?
R.: Apenas o processo F.
b) 	
Ao encerrar o processo B, qual(is) processo(s) será(ão) finalizado(s)?
R.: O próprio B, o processo D, processo E e processo F.
7 	 Conceitue:
a) 	Thread.
R.:Athread possui a mesma ideia de um subprocesso, entretanto, compartilha
a mesma área de dados com o programa principal. Sua principal vantagem
é a economia de recursos do sistema, pois não há criação de PCB, já que o
contexto da thread é comum ao programa principal.
b) 	Interrupções.
R.: São eventos que podem ser gerados por hardware ou por software e são
independentes do programa executando, devendo ser tratados pelo sistema
operacional. É exemplo de interrupção um periférico que avisa a CPU que
precisa carregar dados para a memória. São assíncronos.
c) 	Exceções.
R.: Esse tipo de evento ocorre quando o próprio programa gera um erro, por
exemplo, um estouro de pilha ou uma divisão por zero. São síncronos.
8 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
TÓPICO 2
1 	 O que é escalonamento?
R.: Um dos objetivos de um sistema multiprogramável é manter a CPU ocupada
com algum processamento, ou seja, maximizar o uso da CPU. Desta forma, o
ato de escalonar significa escolher qual processo irá executar na CPU.
2 	 Quais são os critérios de escalonamento?
R.: Os critérios são:
- Utilização do processador: desejado que o sistema fique ocupado a
maior parte do tempo. Quanto maior a utilização, melhor aproveitamento (um
sistema que utiliza 30% é bem menos eficaz que um que consegue utilizar
a CPU em 90% do tempo).
- Throughput: determina a quantidade de processos que podem ser
executados num intervalo de tempo; quanto maior a quantidade de processos
executados, maior o throughput.
- Tempo de processador (CPU): determina o tempo que um processo fica
no estado de executando, ou seja, está rodando na CPU.
- Tempo de espera: é o tempo que um processo aguarda na fila de espera
para ser executado; quanto menor esse tempo, melhor.
- Tempo de turnaround: é o tempo que um processo leva desde a sua criação
até sua conclusão, levando em consideração todo o tempo de alocação,
espera, entrada e saída. Os mecanismos de alocação de processos visam
minimizar o turnaround dos processos.
- Tempo de resposta: tempo de uma requisição ao sistema ou aplicação e
o instante em que ela é atendida.
3 	 O que significa justiça no processo de escalonamento?
R.: Processos semelhantes devem ter um critério de escalonamento
semelhante, pois não é justo dar mais tempo de CPU a um processo que tem
papel equivalente a outro. Da mesma forma é importante garantir que todos
os processos executem evitando o que chamamos de starvation, onde um
processo de menor prioridade sempre é deixado de executar em função de
outros de maior prioridade.
4 	 O que diferencia escalonamento preemptivo de não preemptivo?
R.: Um escalonamento é preemptivo quando o sistema permite a interrupção
de um processo para a execução de outro. Desta forma, processos mais
9
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
prioritários podem ganhar a atenção da CPU, com a vantagem de se ter uma
execução mais uniforme entre os processos. Já no não preemptivo quando
um processo ganha a CPU, nenhum outro pode interrompê-lo tirando-o da
execução.
5 	 Explique dois tipos de escalonamento preemptivo.
R.: Escalonamento circular: sua técnica é estipular tempos determinados
para cada processo. Desta forma, ao encerrar o tempo, o processo é
deslocado para o fim da fila. No caso de o processo encerrar antes de terminar
seu tempo, o próximo processo da fila é escalonado.
Escalonamento por prioridades: atribui prioridades aos processos (através
de um valor armazenado em seu PCB). Desta forma, os processos que
possuem o maior valor de prioridade são executados primeiro. No caso de
existir processo com prioridade igual, o mecanismo de circular é implementado
para a execução.
Múltiplas filas: quando é possível a classificação dos processos em grupos,
por exemplo, processos do sistema, processos batch, processos de alta
interação etc., é possível a implementação de filas que possuem seu próprio
mecanismo de escalonamento.
6 	 Explique dois tipos de escalonamento não preemptivo.
R.: First-in-first-out (FIFO): é um algoritmo extremamente simples, onde
basta a implementação de uma fila em que o primeiro programa que entra é
o primeiro a ser selecionado para a execução.
Escalonamento job mais curto primeiro: também conhecido por
Escalonemanto Shortest-Job-First (SJF), prioriza os processos menores, ou
seja, aqueles que executam em menos tempo.
Escalonamento cooperativo, quem determina que o tempo de execução
encerrou é o próprio processo, ou seja, o processo voluntariamente libera a
CPU para o próximo processo na fila de pronto (cooperação).
7 	Faça uma pesquisa na internet sobre deadlock e apresente um
relatório com suas conclusões.
R.: Esta pergunta não tem resposta padrão, mas é interessante que o(a)
acadêmico(a) identifique em sua resposta técnicas para controle de deadlock,
e problemas clássicos, como o dos cinco filósofos.
10 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
TÓPICO 3
1	 Qual é a vantagem de se ter independência de dispositivo?
R.: Compatibilidade com vários sistemas operacionais, pois basta apenas
escrever o driver para o dispositivo, que as demais chamadas permanecem
iguais.
2	 Por que o device driver é fortemente acoplado ao hardware?
R.: Isso é devido ao device driver ser escrito para o hardware específico, e
geralmente em linguagem de máquina. Desta forma fica totalmente ligado e
dependente do dispositivo.
3	 O que aconteceria se não existisse o device driver? Como deveriam
funcionar os sistemas operacionais para utilizar um dispositivo?
R.: Se não existisse o Device Driver seria necessário que o próprio sistema
operacional tivesse internamente os programas (drivers) para acessar/
controlar todos os dispositivos existentes, o que seria inviável. Os sistemas
operacionais deveriam funcionar de forma genérica para todos os dispositivos,
mas isso seria impossível porque novos dispositivos são lançados no
mercado semanalmente, ou até diariamente. Dessa forma, os sistemas
não conseguiriam se comunicar com muitos dispositivos novos. Somente
utilizando a técnica de Device Drivers fornecidos pelos próprios fabricantes
dos dispositivos, é que os sistemas operacionais conseguem funcionar de
forma genérica corretamente. Como exemplo podemos citar as placas de
vídeo, onde o padrão SVGAé instalado com o sistema operacional Windows,
e se desejarmos aproveitar melhor os recursos do sistema operacional,
devemos instalar os drivers que acompanham a placa de vídeo.
4	 Explique por que o buffer de um dispositivo é importante.
R.: São importantes, pois auxiliam os dispositivos lendo antecipadamente
dados, ganhando desempenho, além disso, alguns buffers são usados para
a comunicação entre os dispositivos.
5	 Qual é a importância da abstração dos comandos de acesso de um
dispositivo para o usuário?
R.: O usuário não precisa saber os comandos particulares de acesso a um
dispositivo. Pois isso é implementado pelo device driver em comunicação com
o sistema operacional. Desta forma, para gravar um arquivo, por exemplo, o
usuário precisa saber apenas o comando da linguagem como um writeFile,
que internamente, independente do tipo de disco ou fabricante, a gravação
do arquivo será efetuada.
11
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
UNIDADE 3
TÓPICO 1
1	 Os sistemas distribuídos surgiram sustentados por quais tecnologias?
R.: Resumindo, as referidas tecnologias são as redes de computadores e os
sistemas de telefonia e telecomunicações, em especial, a internet.
2	 Qual é o nível de acoplamento de um sistema distribuído?
R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
Segundo Gross (2008, p. 4), “sistemas distribuídos são uma categoria de
sistemas ditos fracamente acoplados, os quais podem utilizar uma grande
quantidade de computadores que estejam de alguma forma interligados, mas
não necessariamente dependentes.”
3	 Cite dois benefícios diretos proporcionados pela utilização de
sistemas distribuídos.
R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
Compartilhamento de recursos, crescimento incremental, concorrência,
escalabilidade, tolerância a falhas, transparência, heterogeneidade e abertura.
4	 Qual é a diferença entre crescimento incremental e escalabilidade?
R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
“O crescimento incremental pode ser realizado em nível de hardware, pela
adição de novos equipamentos oferecendo maior espaço de armazenamento,
maior poder de processamento, entre outros. E também pode ser realizado
em nível de software através da disponibilização de novos softwares para
os usuários.” (GROSS, 2008, p. 6). De acordo com Coulouris, Dollimore e
Kindberg (2007, p. 31), “um sistema é descrito como escalável se permanece
eficiente quando há um aumento significativo no número de recursos e no
número de usuários.”
12 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
5	 A sincronização é elemento importante em quais das características
de sistemas distribuídos?
R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet. Compartilhamento de recursos e concorrência.
TÓPICO 2
1	 Faça uma ilustração da arquitetura cliente-servidor contendo um
ou mais servidores de aplicativos de internet (por exemplo, correio
eletrônico ou proxy).
R.: Pode ser um desenho que represente alguns computadores mais
robustos, ditos como servidores, conforme ilustra a figura a seguir, sendo que
estes estão ligados ao modem (equipamento no canto superior direito) que
possibilita o acesso à internet, e consequentemente aos serviços solicitados
(correio eletrônico e proxy). Não precisa ilustrar as pessoas, apenas o
hardware com sua identificação de serviços implementados em cada um dos
hardwares demonstrados.
13
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
2	 Para os aplicativos citados no exercício 1, explique como os
servidores cooperam no fornecimento de seus serviços.
R.: Basicamente o(a) acadêmico(a) deve dizer quais os serviços que são
disponibilizados por cada um dos servidores demonstrados em seu desenho,
e de que forma podem interagir entre si e com os usuários de seus serviços.
Isto vai variar em função tanto do desenho que o aluno fizer quanto dos
serviços por ele demonstrados.
3	 Cite quais são os recursos locais que podem ser vulneráveis a um
ataque de um programa não confiável, cujo download foi feito a
partir de um site remoto, sendo o mesmo executado localmente no
computador do usuário.
R.: Podem ser vulneráveis tanto o sistema operacional quanto os programas e
aplicativos instalados no computador do usuário, os arquivos de dados, textos,
planilhas, imagens e outros, assim como os dispositivos locais do computador
do usuário e seus dispositivos remotos, aos quais ele esteja conectado.
4	 Usualmente, computadores utilizados em sistemas peer-to-peer são
computadoresdesktopdomésticosoudeescritóriosdosusuários.Quais
são as implicações disso referindo-se à disponibilidade e segurança dos
objetos de dados compartilhados contidos nos mesmos?
R.: Esta pergunta deixa bastante liberdade ao(à) acadêmico(a) para discorrer
sobre as implicações do uso dessa tecnologia. Pode citar problemas
relacionados à segurança dos computadores e das informações contidas
nos mesmos por conta do compartilhamento de arquivos indesejados e/ou
programas tidos como "cavalos de Troia" ou "portas dos fundos", o primeiro
que faz outra coisa diferente do que o usuário esperava, e o segundo que
abre o acesso do equipamento do usuário a invasores. Também pode citar
problemas oriundos da pirataria, do compartilhamento de programas e
arquivos de música protegidos por direitos autorais. Também pode comentar
sobre o consumo da banda de internet, por conta do compartilhamento e
troca de arquivos com outros usuários. Por fim, o(a) acadêmico(a) também
pode tratar da indisponibilidade dos seus recursos por conta da demanda
de tais sistemas. Enfim, dependendo do(a) acadêmico(a), a resposta será
mais ou menos completa.
5	 Cite três exemplos de aplicações em que o uso de código móvel seja
vantajoso.
14 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
R.: Novamente, o(a) acadêmico(o) tem bastante liberdade para ilustrar
exemplos, como instalação e atualização de programas pela internet, softwares
de auditoria computacional e de gerência de configuração, atualização sob
demanda de notícias, imagens multimídia, áudios, entre outros tantos.
TÓPICO 3
1	 O que é uma thread?
R.: Existem várias definições, porém o que se espera no mínimo é que o(a)
acadêmico(a) saiba que um processo em execução, podendo este processo
ser iniciado por outro processo (um sistema multithread, por exemplo). Podem-
se buscar mais definições para threads na internet.
2	 O que é uma API?
R.: Novamente, o(a) acadêmico(a) pode buscar qualquer definição, desde
que ele comente que é um acrônimo de Application Programming Interface
(Interface de programação de aplicativos), um conjunto de padrões de
programação que permite construir aplicativos.
3	 Quais são os principais modos de operação dos sockets?
R.:Aresposta a seguir foi extraída na íntegra do Tópico 3. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
Os sockets utilizam como principais modos de operação o modo baseado em
conexões e o modo sem conexão. Os sockets baseados no modo de operação
com conexões funcionam de maneira similar a um telefone, que precisa
estabelecer uma conexão e suspender a ligação. Todos os dados que fluem
entre os dois eventos chegam na mesma ordem em que foram transmitidos.
Já os sockets sem conexão funcionam de maneira similar ao correio no qual
a entrega não é garantida e os diferentes itens da correspondência podem
chegar em uma ordem diferente daquela em que foram enviados (HOPSON;
INGRAM, 1997).
4	 Em relação ao TCP, como é a confiabilidade do UDP?
R.:Aresposta a seguir foi extraída na íntegra do Tópico 3. O(A) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
15
UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
As operações sem conexão utilizam o protocolo UDP (User Datagram
Protocol). Um datagrama é uma unidade autônoma que tem todas as
informações necessárias para a realização da entrega dos conteúdos.
Um datagrama pode ser análogo a um envelope que tem o endereço do
destinatário e do remetente, e que contém em seu interior os conteúdos
(dados) a serem enviados. Um socket nesse modo de operação não precisa
se conectar a um socket de destino, pois ele simplesmente envia o datagrama.
O protocolo UDP realiza o melhor esforço possível para realizar a entrega do
datagrama. A operação sem conexão é rápida e eficiente, mas não possui
garantia de entrega do conteúdo (HOPSON; INGRAM, 1997).
A operação baseada em conexão utiliza o protocolo TCP (Transport Control
Protocol). Um socket nesse modo de operação precisa se conectar ao
destino antes de transmitir o conteúdo. Uma vez conectados, os sockets
são acessados pelo uso de uma interface de fluxos através da sequência
abertura, leitura, escrita e fechamento (open-read-write-close). Tudo que
é enviado por um socket é recebido pela outra extremidade da conexão,
exatamente na mesma ordem em que foi transmitido na origem. A operação
baseada em conexão é menos eficiente em termos de velocidade do que a
operação sem conexão, mas possibilita a garantia de entrega do conteúdo
(HOPSON; INGRAM, 1997).
5	 Como o protocolo TCP trata a diversidade de tamanho de mensagens?
R.: A resposta a seguir foi extraída na íntegra do Tópico 3. O(a) acadêmico(a)
pode dar outra resposta parecida, baseada em alguma consulta realizada
em bibliografia ou internet.
“Tamanhos de blocos de dados diferentes podem ser manipulados no contexto
das aplicações. Uma aplicação de correio eletrônico, por exemplo, pode ser
composta de apenas uma linha ou transportar um arquivo relativamente
grande. A diversidade de tamanho do conteúdo a ser transmitido deve ser
gerenciada pelo protocolo TCP. O tratamento dos diferentes blocos de dados
das aplicações é realizado basicamente em duas situações típicas. Primeiro,
no caso de blocos de dados muito grandes, o TCP deve fragmentá-los de
modo a entregar segmentos de tamanho mais adequado ao protocolo de nível
inferior. Segundo, no caso de blocos de dados extremamente pequenos, o
procedimento é inverso. O TCP bufferiza estes blocos e os envia em grupos
encapsulados num mesmo segmento de nível inferior. Este procedimento
permite diminuir o overhead do protocolo no envio de mensagens e otimizar
a utilização da rede (MAZZOLA, 2002).
No protocolo TCP é realizada a abstração de fluxo (streaming) que possui
características de rede que podem parecer ocultas. Algumas destas
características são o tamanho da mensagem, mensagens perdidas, controle
16 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
S
I
S
T
E
M
A
S
E
A
P
L
I
C
A
Ç
Õ
E
S
D
I
S
T
R
I
B
U
Í
D
A
S
de fluxo, duplicação e ordenamento de mensagens e destinos de mensagens.
Quanto ao tamanho das mensagens, o aplicativo pode escolher o volume de
conteúdo (dados) que vai ser enviado ou recebido em um fluxo. Ele pode tratar
com conjuntos de dados muito pequenos ou muito grandes.Aimplementação
da camada TCP possui estratégias para determinar o volume de dados a
coletar, e transmiti-los efetivamente como um ou mais pacotes IP. Ao chegar,
os dados são entregues para o aplicativo, conforme solicitado. Se necessário,
os aplicativos podem exigir que os dados sejam enviados imediatamente”
(COULOURIS; DOLLIMORE; KINDBERG, 2007, p. 126).

Weitere ähnliche Inhalte

Ähnlich wie Gabarito de autoatividades de sistemas distribuídos

Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionaisDeryk Sedlak
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoLuiz Arthur
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosCarlos Eduardo Teruel
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSilvano Oliveira
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 

Ähnlich wie Gabarito de autoatividades de sistemas distribuídos (20)

Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionais
 
sistemas_operacionais.ppt
sistemas_operacionais.pptsistemas_operacionais.ppt
sistemas_operacionais.ppt
 
Aula2 so
Aula2 soAula2 so
Aula2 so
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
 
Progeto pim ii
Progeto pim iiProgeto pim ii
Progeto pim ii
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Apostila sobre sistema operativo
Apostila sobre   sistema operativoApostila sobre   sistema operativo
Apostila sobre sistema operativo
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Apostila sobre sistema operativo
Apostila sobre   sistema operativoApostila sobre   sistema operativo
Apostila sobre sistema operativo
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 

Gabarito de autoatividades de sistemas distribuídos

  • 2. Centro Universitário Leonardo da Vinci Rodovia , nº . BR 470 Km 71, 1 040 Bairro Benedito - CEP 89130-000 I daial n - Santa Catarina - 47 3281-9000 Elaboração: Revisão, Diagramação e Produção: Centro Universitário Leonardo da Vinci - UNIASSELVI 2018 Prof. Danton Cavalcanti Franco Junior Prof. Jan Charles Gross
  • 3. 3 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S GABARITO DAS AUTOATIVIDADES DE SISTEMAS E APLICAÇÕES DISTRIBUÍDAS UNIDADE 1 TÓPICO 1 1 Quais são os elementos que compõem a estrutura de um sistema computacional? R.: São quatro elementos: o hardware, o sistema operacional, os programas e os usuários. O hardware compreende toda a parte física, já os programas, também conhecidos como aplicativos, fornecem funcionalidades específicas como planilhas, editores de texto, editores gráficos etc. Os usuários são as pessoas que interagem com esses programas, e o sistema operacional é responsável por gerenciar os recursos de hardware, tornando o uso da máquina transparente aos usuários. 2 Quais são as funções básicas de um sistema operacional? R.: São várias as funções do sistema operacional, entretanto, são duas as funções básicas: facilidade de acesso aos recursos do sistema, compartilhamento de recursos de forma organizada e protegida. Para os sistemas de rede, pode-se adicionar o controle e gerenciamento da rede. 3 Quais gerações são apontadas na história e qual é o período que compreendem? R.: Primeira geração (1940 até 1955). Segunda geração (1956 e 1965). Terceira geração (1966 e 1980). Quarta geração (1981 e 1990). Quinta geração (de 1991 até os dias atuais). 4 Em qual geração surgiram os sistemas operacionais de rede? Por quê? R.: Os sistemas operacionais de rede surgiram na quarta geração, porque houve nesse período um grande desenvolvimento do hardware
  • 4. 4 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S (miniaturização e barateamento), viabilizando os computadores pessoais, a criação de conceitos inovadores como multitarefa e multiprocessamento, assim como a criação de protocolos de redes, como TCP/IP, além das redes de computadores locais (LAN), metropolitanas (MAN) e de longa distância (WAN). 5 Quais são os tipos de sistemas operacionais? R.: Basicamente temos dois tipos de sistemas operacionais: - os monotarefa: rodam apenas uma tarefa por vez. - os multitarefa: executam várias tarefas simultaneamente. Salienta-se que dentro de cada sistema pode haver subtipos de sistemas. 6 Em que ano surgiu a primeira versão do Windows? R.: Windows 1.0, surgiu em novembro de 1985. TÓPICO 2 1 Baseado na leitura complementar, pesquise na internet outras formas de adaptação de equipamentos, e os sistemas operacionais utilizados para a comunicação entre eles. R.: Os acadêmicos devem pesquisar e apresentar técnicas como computação paralela, computação em grid. São exemplos a pesquisa de vida extraterrestre, simulação do clima na Terra, busca de números primos, quebras de algoritmos de criptografia, simulações etc. 2 Especifique como poderiam ser conectados três computadores, duas impressoras e um sistema de armazenamento de forma que todos compartilhassem recursos. R.: Esta atividade não tem padrão de resposta, mas é importante que o(a) acadêmico(a) consiga entender e visualizar o compartilhamento de recursos em sistemas operacionais. São soluções aceitas: a estrutura de barramento, onde cada elemento acima seja um recurso independente, conectado ao barramento. Outra abordagem seria a ligação de uma impressora em cada micro, e o sistema de armazenamento no terceiro micro.
  • 5. 5 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S TÓPICO 3 1 Leia o artigo “Sistemas Operacionais”, disponível em: <http://www.lume. ufrgs.br/bitstream/handle/10183/19242/000102159.pdf> e responda: a) Faça uma resenha do artigo. R.: Esta atividade não tem padrão de resposta. De fato, é importante apenas que o(a) acadêmico(a) consiga sintetizar o artigo, sem que sejam efetuadas cópias. É interessante que o tutor leia o artigo antes de discuti-lo com os acadêmicos. b) Elenque pelo menos duas características de cada item do artigo que você julgue importante, e justifique sua resposta. R.: Essa atividade não possui uma resposta padrão, mas o(a) acadêmico(a) deve elencar situações de: - Gerência do processador. - Gerência de memória. - Sistema de arquivos. - Entrada/saída. - Segurança. - Organização interna. - Sistemas operacionais distribuídos. - Sistema operacional de tempo real. UNIDADE 2 TÓPICO 1 1 O que é um processo? R.: Pode-se dizer que um processo é um programa em execução (ativo) e que programa é um conjunto de códigos (passivo) que quando carregado em memória vira um processo. 2 O PBC deve armazenar que tipo de informação?
  • 6. 6 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S R.: É fundamental que o PCB armazene: - Nome do processo e/ou número do processo. - Ponteiros. - Estado do processo. - Prioridade. - Registradores. - Limites de memória. - Listas de arquivos abertos. 3 Quais são os estados de um processo e qual é a sua função? R.: Os cinco estados possíveis são: - Novo (new): quando o processo é criado, iniciado com os valores padrão dos seus registradores e aceito pelo sistema operacional, seu estado inicial é novo. - Pronto (ready): o processo encontra-se nesse estado quando aguarda apenas que o mecanismo de escalonamento do sistema operacional o coloque para executar na CPU. - Execução (running): estado em que o processo entra quando a CPU executa suas instruções. Apenas um processo pode estar nesse estado por vez (em sistemas monoprocessados), contudo, se o hardware possuir mais de um processador (multiprocessado), pode-se ter mais de um processo no estado de execução. - Espera: o processo encontra-se esperando quando aguarda a ação de algum evento externo. - Encerrado (finish): quando o processo termina sua execução, que pode ocorrer de forma normal ou por erro de execução. 4 O estado de espera apresenta quais particularidades? R.: Pode ser dividido em dois grupos: - Espera (wait): quando o processo aguarda a conclusão de uma operação em um recurso que já foi garantido. - Bloqueado (blocked): quando o processo aguarda a liberação de um recurso que está alocado para outro processo. 5 Quais são as possíveis mudanças de estado de um processo? R.: As mudanças possíveis são: - Novo – pronto: quando o PCB (processo) é criado e alocado na área reservada ao sistema operacional, seguindo então para a lista de prontos. - Pronto – executando: é realizada pelo escalonador de acordo com a política implementada pelo sistema operacional.
  • 7. 7 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S - Executando – pronto: quando o processo é interrompido por outro de maior prioridade, ou quando termina de executar em sua fatia de tempo conforme as regras de escalonamento implementadas pelo sistema operacional. - Executando – espera: quando o processo realiza uma operação de I/O, ele entra na fila de espera, até que a solicitação seja realizada. - Espera – pronto: é realizado pelo escalonador quando este recebe um sinal indicando que a solicitação de I/O do processo foi realizada com sucesso. - Executando – terminado: acontece quando o programa termina sua execução com sucesso ou com erro, quem realiza essa transição é o escalonador de processos. 6 Baseado na figura 31, responda: a) Ao encerrar o processo F, qual(is) processo(s) será(ão) finalizado(s)? R.: Apenas o processo F. b) Ao encerrar o processo B, qual(is) processo(s) será(ão) finalizado(s)? R.: O próprio B, o processo D, processo E e processo F. 7 Conceitue: a) Thread. R.:Athread possui a mesma ideia de um subprocesso, entretanto, compartilha a mesma área de dados com o programa principal. Sua principal vantagem é a economia de recursos do sistema, pois não há criação de PCB, já que o contexto da thread é comum ao programa principal. b) Interrupções. R.: São eventos que podem ser gerados por hardware ou por software e são independentes do programa executando, devendo ser tratados pelo sistema operacional. É exemplo de interrupção um periférico que avisa a CPU que precisa carregar dados para a memória. São assíncronos. c) Exceções. R.: Esse tipo de evento ocorre quando o próprio programa gera um erro, por exemplo, um estouro de pilha ou uma divisão por zero. São síncronos.
  • 8. 8 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S TÓPICO 2 1 O que é escalonamento? R.: Um dos objetivos de um sistema multiprogramável é manter a CPU ocupada com algum processamento, ou seja, maximizar o uso da CPU. Desta forma, o ato de escalonar significa escolher qual processo irá executar na CPU. 2 Quais são os critérios de escalonamento? R.: Os critérios são: - Utilização do processador: desejado que o sistema fique ocupado a maior parte do tempo. Quanto maior a utilização, melhor aproveitamento (um sistema que utiliza 30% é bem menos eficaz que um que consegue utilizar a CPU em 90% do tempo). - Throughput: determina a quantidade de processos que podem ser executados num intervalo de tempo; quanto maior a quantidade de processos executados, maior o throughput. - Tempo de processador (CPU): determina o tempo que um processo fica no estado de executando, ou seja, está rodando na CPU. - Tempo de espera: é o tempo que um processo aguarda na fila de espera para ser executado; quanto menor esse tempo, melhor. - Tempo de turnaround: é o tempo que um processo leva desde a sua criação até sua conclusão, levando em consideração todo o tempo de alocação, espera, entrada e saída. Os mecanismos de alocação de processos visam minimizar o turnaround dos processos. - Tempo de resposta: tempo de uma requisição ao sistema ou aplicação e o instante em que ela é atendida. 3 O que significa justiça no processo de escalonamento? R.: Processos semelhantes devem ter um critério de escalonamento semelhante, pois não é justo dar mais tempo de CPU a um processo que tem papel equivalente a outro. Da mesma forma é importante garantir que todos os processos executem evitando o que chamamos de starvation, onde um processo de menor prioridade sempre é deixado de executar em função de outros de maior prioridade. 4 O que diferencia escalonamento preemptivo de não preemptivo? R.: Um escalonamento é preemptivo quando o sistema permite a interrupção de um processo para a execução de outro. Desta forma, processos mais
  • 9. 9 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S prioritários podem ganhar a atenção da CPU, com a vantagem de se ter uma execução mais uniforme entre os processos. Já no não preemptivo quando um processo ganha a CPU, nenhum outro pode interrompê-lo tirando-o da execução. 5 Explique dois tipos de escalonamento preemptivo. R.: Escalonamento circular: sua técnica é estipular tempos determinados para cada processo. Desta forma, ao encerrar o tempo, o processo é deslocado para o fim da fila. No caso de o processo encerrar antes de terminar seu tempo, o próximo processo da fila é escalonado. Escalonamento por prioridades: atribui prioridades aos processos (através de um valor armazenado em seu PCB). Desta forma, os processos que possuem o maior valor de prioridade são executados primeiro. No caso de existir processo com prioridade igual, o mecanismo de circular é implementado para a execução. Múltiplas filas: quando é possível a classificação dos processos em grupos, por exemplo, processos do sistema, processos batch, processos de alta interação etc., é possível a implementação de filas que possuem seu próprio mecanismo de escalonamento. 6 Explique dois tipos de escalonamento não preemptivo. R.: First-in-first-out (FIFO): é um algoritmo extremamente simples, onde basta a implementação de uma fila em que o primeiro programa que entra é o primeiro a ser selecionado para a execução. Escalonamento job mais curto primeiro: também conhecido por Escalonemanto Shortest-Job-First (SJF), prioriza os processos menores, ou seja, aqueles que executam em menos tempo. Escalonamento cooperativo, quem determina que o tempo de execução encerrou é o próprio processo, ou seja, o processo voluntariamente libera a CPU para o próximo processo na fila de pronto (cooperação). 7 Faça uma pesquisa na internet sobre deadlock e apresente um relatório com suas conclusões. R.: Esta pergunta não tem resposta padrão, mas é interessante que o(a) acadêmico(a) identifique em sua resposta técnicas para controle de deadlock, e problemas clássicos, como o dos cinco filósofos.
  • 10. 10 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S TÓPICO 3 1 Qual é a vantagem de se ter independência de dispositivo? R.: Compatibilidade com vários sistemas operacionais, pois basta apenas escrever o driver para o dispositivo, que as demais chamadas permanecem iguais. 2 Por que o device driver é fortemente acoplado ao hardware? R.: Isso é devido ao device driver ser escrito para o hardware específico, e geralmente em linguagem de máquina. Desta forma fica totalmente ligado e dependente do dispositivo. 3 O que aconteceria se não existisse o device driver? Como deveriam funcionar os sistemas operacionais para utilizar um dispositivo? R.: Se não existisse o Device Driver seria necessário que o próprio sistema operacional tivesse internamente os programas (drivers) para acessar/ controlar todos os dispositivos existentes, o que seria inviável. Os sistemas operacionais deveriam funcionar de forma genérica para todos os dispositivos, mas isso seria impossível porque novos dispositivos são lançados no mercado semanalmente, ou até diariamente. Dessa forma, os sistemas não conseguiriam se comunicar com muitos dispositivos novos. Somente utilizando a técnica de Device Drivers fornecidos pelos próprios fabricantes dos dispositivos, é que os sistemas operacionais conseguem funcionar de forma genérica corretamente. Como exemplo podemos citar as placas de vídeo, onde o padrão SVGAé instalado com o sistema operacional Windows, e se desejarmos aproveitar melhor os recursos do sistema operacional, devemos instalar os drivers que acompanham a placa de vídeo. 4 Explique por que o buffer de um dispositivo é importante. R.: São importantes, pois auxiliam os dispositivos lendo antecipadamente dados, ganhando desempenho, além disso, alguns buffers são usados para a comunicação entre os dispositivos. 5 Qual é a importância da abstração dos comandos de acesso de um dispositivo para o usuário? R.: O usuário não precisa saber os comandos particulares de acesso a um dispositivo. Pois isso é implementado pelo device driver em comunicação com o sistema operacional. Desta forma, para gravar um arquivo, por exemplo, o usuário precisa saber apenas o comando da linguagem como um writeFile, que internamente, independente do tipo de disco ou fabricante, a gravação do arquivo será efetuada.
  • 11. 11 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S UNIDADE 3 TÓPICO 1 1 Os sistemas distribuídos surgiram sustentados por quais tecnologias? R.: Resumindo, as referidas tecnologias são as redes de computadores e os sistemas de telefonia e telecomunicações, em especial, a internet. 2 Qual é o nível de acoplamento de um sistema distribuído? R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. Segundo Gross (2008, p. 4), “sistemas distribuídos são uma categoria de sistemas ditos fracamente acoplados, os quais podem utilizar uma grande quantidade de computadores que estejam de alguma forma interligados, mas não necessariamente dependentes.” 3 Cite dois benefícios diretos proporcionados pela utilização de sistemas distribuídos. R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. Compartilhamento de recursos, crescimento incremental, concorrência, escalabilidade, tolerância a falhas, transparência, heterogeneidade e abertura. 4 Qual é a diferença entre crescimento incremental e escalabilidade? R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. “O crescimento incremental pode ser realizado em nível de hardware, pela adição de novos equipamentos oferecendo maior espaço de armazenamento, maior poder de processamento, entre outros. E também pode ser realizado em nível de software através da disponibilização de novos softwares para os usuários.” (GROSS, 2008, p. 6). De acordo com Coulouris, Dollimore e Kindberg (2007, p. 31), “um sistema é descrito como escalável se permanece eficiente quando há um aumento significativo no número de recursos e no número de usuários.”
  • 12. 12 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S 5 A sincronização é elemento importante em quais das características de sistemas distribuídos? R.:Aresposta a seguir foi extraída na íntegra do Tópico 1. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. Compartilhamento de recursos e concorrência. TÓPICO 2 1 Faça uma ilustração da arquitetura cliente-servidor contendo um ou mais servidores de aplicativos de internet (por exemplo, correio eletrônico ou proxy). R.: Pode ser um desenho que represente alguns computadores mais robustos, ditos como servidores, conforme ilustra a figura a seguir, sendo que estes estão ligados ao modem (equipamento no canto superior direito) que possibilita o acesso à internet, e consequentemente aos serviços solicitados (correio eletrônico e proxy). Não precisa ilustrar as pessoas, apenas o hardware com sua identificação de serviços implementados em cada um dos hardwares demonstrados.
  • 13. 13 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S 2 Para os aplicativos citados no exercício 1, explique como os servidores cooperam no fornecimento de seus serviços. R.: Basicamente o(a) acadêmico(a) deve dizer quais os serviços que são disponibilizados por cada um dos servidores demonstrados em seu desenho, e de que forma podem interagir entre si e com os usuários de seus serviços. Isto vai variar em função tanto do desenho que o aluno fizer quanto dos serviços por ele demonstrados. 3 Cite quais são os recursos locais que podem ser vulneráveis a um ataque de um programa não confiável, cujo download foi feito a partir de um site remoto, sendo o mesmo executado localmente no computador do usuário. R.: Podem ser vulneráveis tanto o sistema operacional quanto os programas e aplicativos instalados no computador do usuário, os arquivos de dados, textos, planilhas, imagens e outros, assim como os dispositivos locais do computador do usuário e seus dispositivos remotos, aos quais ele esteja conectado. 4 Usualmente, computadores utilizados em sistemas peer-to-peer são computadoresdesktopdomésticosoudeescritóriosdosusuários.Quais são as implicações disso referindo-se à disponibilidade e segurança dos objetos de dados compartilhados contidos nos mesmos? R.: Esta pergunta deixa bastante liberdade ao(à) acadêmico(a) para discorrer sobre as implicações do uso dessa tecnologia. Pode citar problemas relacionados à segurança dos computadores e das informações contidas nos mesmos por conta do compartilhamento de arquivos indesejados e/ou programas tidos como "cavalos de Troia" ou "portas dos fundos", o primeiro que faz outra coisa diferente do que o usuário esperava, e o segundo que abre o acesso do equipamento do usuário a invasores. Também pode citar problemas oriundos da pirataria, do compartilhamento de programas e arquivos de música protegidos por direitos autorais. Também pode comentar sobre o consumo da banda de internet, por conta do compartilhamento e troca de arquivos com outros usuários. Por fim, o(a) acadêmico(a) também pode tratar da indisponibilidade dos seus recursos por conta da demanda de tais sistemas. Enfim, dependendo do(a) acadêmico(a), a resposta será mais ou menos completa. 5 Cite três exemplos de aplicações em que o uso de código móvel seja vantajoso.
  • 14. 14 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S R.: Novamente, o(a) acadêmico(o) tem bastante liberdade para ilustrar exemplos, como instalação e atualização de programas pela internet, softwares de auditoria computacional e de gerência de configuração, atualização sob demanda de notícias, imagens multimídia, áudios, entre outros tantos. TÓPICO 3 1 O que é uma thread? R.: Existem várias definições, porém o que se espera no mínimo é que o(a) acadêmico(a) saiba que um processo em execução, podendo este processo ser iniciado por outro processo (um sistema multithread, por exemplo). Podem- se buscar mais definições para threads na internet. 2 O que é uma API? R.: Novamente, o(a) acadêmico(a) pode buscar qualquer definição, desde que ele comente que é um acrônimo de Application Programming Interface (Interface de programação de aplicativos), um conjunto de padrões de programação que permite construir aplicativos. 3 Quais são os principais modos de operação dos sockets? R.:Aresposta a seguir foi extraída na íntegra do Tópico 3. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. Os sockets utilizam como principais modos de operação o modo baseado em conexões e o modo sem conexão. Os sockets baseados no modo de operação com conexões funcionam de maneira similar a um telefone, que precisa estabelecer uma conexão e suspender a ligação. Todos os dados que fluem entre os dois eventos chegam na mesma ordem em que foram transmitidos. Já os sockets sem conexão funcionam de maneira similar ao correio no qual a entrega não é garantida e os diferentes itens da correspondência podem chegar em uma ordem diferente daquela em que foram enviados (HOPSON; INGRAM, 1997). 4 Em relação ao TCP, como é a confiabilidade do UDP? R.:Aresposta a seguir foi extraída na íntegra do Tópico 3. O(A) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet.
  • 15. 15 UNIASSELVI NEAD GABARITO DAS AUTOATIVIDADES S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S As operações sem conexão utilizam o protocolo UDP (User Datagram Protocol). Um datagrama é uma unidade autônoma que tem todas as informações necessárias para a realização da entrega dos conteúdos. Um datagrama pode ser análogo a um envelope que tem o endereço do destinatário e do remetente, e que contém em seu interior os conteúdos (dados) a serem enviados. Um socket nesse modo de operação não precisa se conectar a um socket de destino, pois ele simplesmente envia o datagrama. O protocolo UDP realiza o melhor esforço possível para realizar a entrega do datagrama. A operação sem conexão é rápida e eficiente, mas não possui garantia de entrega do conteúdo (HOPSON; INGRAM, 1997). A operação baseada em conexão utiliza o protocolo TCP (Transport Control Protocol). Um socket nesse modo de operação precisa se conectar ao destino antes de transmitir o conteúdo. Uma vez conectados, os sockets são acessados pelo uso de uma interface de fluxos através da sequência abertura, leitura, escrita e fechamento (open-read-write-close). Tudo que é enviado por um socket é recebido pela outra extremidade da conexão, exatamente na mesma ordem em que foi transmitido na origem. A operação baseada em conexão é menos eficiente em termos de velocidade do que a operação sem conexão, mas possibilita a garantia de entrega do conteúdo (HOPSON; INGRAM, 1997). 5 Como o protocolo TCP trata a diversidade de tamanho de mensagens? R.: A resposta a seguir foi extraída na íntegra do Tópico 3. O(a) acadêmico(a) pode dar outra resposta parecida, baseada em alguma consulta realizada em bibliografia ou internet. “Tamanhos de blocos de dados diferentes podem ser manipulados no contexto das aplicações. Uma aplicação de correio eletrônico, por exemplo, pode ser composta de apenas uma linha ou transportar um arquivo relativamente grande. A diversidade de tamanho do conteúdo a ser transmitido deve ser gerenciada pelo protocolo TCP. O tratamento dos diferentes blocos de dados das aplicações é realizado basicamente em duas situações típicas. Primeiro, no caso de blocos de dados muito grandes, o TCP deve fragmentá-los de modo a entregar segmentos de tamanho mais adequado ao protocolo de nível inferior. Segundo, no caso de blocos de dados extremamente pequenos, o procedimento é inverso. O TCP bufferiza estes blocos e os envia em grupos encapsulados num mesmo segmento de nível inferior. Este procedimento permite diminuir o overhead do protocolo no envio de mensagens e otimizar a utilização da rede (MAZZOLA, 2002). No protocolo TCP é realizada a abstração de fluxo (streaming) que possui características de rede que podem parecer ocultas. Algumas destas características são o tamanho da mensagem, mensagens perdidas, controle
  • 16. 16 GABARITO DAS AUTOATIVIDADES UNIASSELVI NEAD S I S T E M A S E A P L I C A Ç Õ E S D I S T R I B U Í D A S de fluxo, duplicação e ordenamento de mensagens e destinos de mensagens. Quanto ao tamanho das mensagens, o aplicativo pode escolher o volume de conteúdo (dados) que vai ser enviado ou recebido em um fluxo. Ele pode tratar com conjuntos de dados muito pequenos ou muito grandes.Aimplementação da camada TCP possui estratégias para determinar o volume de dados a coletar, e transmiti-los efetivamente como um ou mais pacotes IP. Ao chegar, os dados são entregues para o aplicativo, conforme solicitado. Se necessário, os aplicativos podem exigir que os dados sejam enviados imediatamente” (COULOURIS; DOLLIMORE; KINDBERG, 2007, p. 126).