Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Painel ► Cursos ► INE5611-04238A (20221) ► Provas ► Prova
Iniciado em Tuesday, 14 Jun 2022, 18:30
Estado Finalizada
Concluída em Tuesday, 14 Jun 2022, 19:31
Tempo empregado 1 hora 1 minuto
Notas 7,75/8,00
Avaliar 9,69 de um máximo de 10,00(97%)
https://moodle.ufsc.br/my/
https://moodle.ufsc.br/course/index.php
https://moodle.ufsc.br/course/view.php?id=160261
https://moodle.ufsc.br/mod/quiz/view.php?id=4040019
Questão 1
Correto
Atingiu 1,00 de
1,00
Relacione cada árvore de processos criados via fork() com o código-fonte
correspondente. Nas árvores, processos são representados por esferas, e as setas
apontam do processo �lho para o processo pai.
for (int i = 0; i < 2 && fork(); ++i); 
fork(); 
fork(); 
 
for (int i = fork(); i <= 1; ++i) 
 if (!fork()) break; 
 
if (!fork()) 
 fork(); 
 
Sua resposta está correta.
A resposta correta é:
for (int i = 0; i < 2 && fork(); ++i); 
→ D,
fork(); 
fork(); 
→ C,
for (int i = fork(); i <= 1; ++i) 
 if (!fork()) break; 
→ A,
if (!fork()) 
 fork(); 
→ B.
D
C
A
B
Questão 2
Correto
Atingiu 1,00 de
1,00
Questão 3
Correto
Atingiu 1,00 de
1,00
Quando dois processos A e B não concluem as suas execuções porque o
processo A depende do término do processo B que, por sua vez, depende
da conclusão do processo A, tem-se uma situação denominada:
Escolha uma opção:
a. pipeline.
b. interrupção de CPU.
c. compartilhamento de recursos.
d. Deadlock. 
e. state wait.
A resposta correta é: Deadlock.
Assumindo o escalonamento First-Come, First-Served e uma �la de
processos indicada abaixo, determine o tempo de espera médio. A tabela
representa a ordem de chegada dos processos (primeira linha indica o
primeiro processo) e o tempo de CPU que eles demandam.
 
 
 
Processo Tempo de CPU
P1 28
P2 23,8
P3 12 
 
ATENÇÃO: O resultado deve ser dado com precisão de 2 casas decimais usando
arredondamento padrão. 
 
Resposta: 26,60
 
 
A resposta correta é: 26,60
Questão 4
Correto
Atingiu 1,00 de
1,00
Estratégia de escalonamento de processos que se baseia em um
temporizador, onde os processos ganham uma parcela de tempo para
utilização da CPU, caracteriza o escalonamento de processos do tipo
Escolha uma opção:
a.
First in, �rst out
b.
Shortest Job First
c.
Shortest Remaining Time
d.
Round-Robin 
e.
First come, �rst served
Sua resposta está correta.
A resposta correta é:
Round-Robin
Questão 5
Correto
Atingiu 1,00 de
1,00
Em Sistemas Operacionais modernos, para que uma operação possa
invocar uma instrução privilegiada, o processador implementa o
mecanismo de modos de acesso duais. Esse mecanismo está dividido
basicamente nos modos de acesso conhecidos por:
Escolha uma opção:
a.
cluster e modo kernel
b.
modo assíncrono e modo usuário
c.
system calls e modo protegido
d.
modo usuário e modo kernel 
e.
modo protegido e cluster
Sua resposta está correta.
A resposta correta é:
modo usuário e modo kernel
Questão 6
Correto
Atingiu 1,00 de
1,00
Durante parte do tempo, um processo está ocupado realizando computações
internas e outras coisas que não levam a condições de corrida. No entanto, às
vezes, um processo tem de acessar uma memória compartilhada ou arquivos, ou
realizar outras tarefas críticas que podem levar a corridas. Essa parte do programa
onde a memória compartilhada é acessada é chamada de região crítica ou seção
crítica. Se conseguíssemos arranjar as coisas de maneira que dois processos jamais
estivessem em suas regiões críticas ao mesmo tempo, poderíamos evitar as
corridas. Embora essa exigência evite as condições de corrida, ela não é su�ciente
para garantir que processos em paralelo cooperem de modo correto e e�ciente
usando dados compartilhados. Precisamos que quatro condições se mantenham
para chegar a uma boa solução.
1. Dois processos jamais podem simultaneamente estar dentro de suas regiões
críticas.
2. Nenhuma suposição pode ser feita a respeito de velocidades ou de número de
CPUs.
3. Nenhum processo executando fora de sua região crítica pode bloquear qualquer
processo.
4. Nenhum processo deve ser obrigado a esperar eternamente para entrar em sua
região crítica.
Em um sentido abstrato, o comportamento que queremos é mostrado na �gura a
seguir.
Considerando o texto e a �gura apresentados, avalie as asserções a seguir e a
relação proposta entre elas.
I. Em algumas situações, a exclusão mútua pode ser obtida por meio da
desabilitação da interrupção controlada pelo Sistema Operacional, não sendo
permitido que o seu controle seja feito pelo usuário.
PORQUE
II. A desabilitação da interrupção é uma técnica que pode impedir que o
processador que está executando um processo em sua região crítica seja
interrompido para executar outro código, sendo mais e�ciente em sistemas de
multiprocessadores devido a quantidade de processos concorrentes.
A respeito dessas asserções, assinale a opção correta
Questão 7
Correto
Atingiu 1,00 de
1,00
 
Escolha uma opção:
a. As asserções I e II são proposições falsas.
b. As asserções I e II são proposições verdadeiras, mas a II não é uma
justi�cativa correta da I.
c. As asserções I e II são proposições verdadeiras, e a II é uma justi�cativa
correta da I.
d. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
e. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Sua resposta está correta.
A resposta correta é: A asserção I é uma proposição verdadeira, e a II é uma
proposição falsa.
Seja a seguinte rotina simpli�cada para saque em uma conta corrente:
int saque(conta_t *conta, double valor){
 if (conta.saldo >= valor) {
 *conta->saldo = *conta->saldo - valor;
 return 1;
 }
 return 0;
}
 
Supondo que um conta corrente é compartilhada por Ana e Beto e tem um saldo
de R$ 500. Ambos, em terminais diferentes, realizam um saque de R$ 350 e  R$ 300
, respectivamente. Qual será um saldo �nal inesperado em decorrência de condição
de corrida?
 
 
 
-150
Uma possível resposta correta é: -150
Sua resposta está correta.
Questão 8
Parcialmente
correto
Atingiu 0,75 de
1,00
Selecione as a�rmativas verdadeiras sobre os conceitos de Programação
Concorrente. 
ATENÇÃO: Cada resposta incorreta anula uma resposta correta. Este desconto não
interfere na nota das demais questões.
Escolha uma ou mais:
a. Podemos evitar que deadlocks ocorram garantindo que todos os bloqueios
de recursos compartilhados sejam realizados na mesma ordem.
b. Um deadlock é a situação em que uma thread realiza sucessivas tentativas
de obter um recurso que nunca será liberado.
c. O código a seguir, executado por várias threads, não possui deadlock,
apesar de realizar busy-waiting (espera ocupada). Lembre que
pthread_mutex_trylock()retorna 0 se obteve sucesso (conseguiu obter o
mutex). 
d. A chamada de sistema fork() cria um processo com o mesmo código
executável do processo que realizou a chamada. 
e. Por padrão, uma thread que já adquiriu um mutex através de uma
chamada pthread_mutex_lock(&m) pode fazer um
novo pthread_mutex_lock(&m) sem bloquear.
f. A função fork() retorna o PID do processo �lho que foi criado, ou o valor
zero caso a criação do processo �lho tenha falhado.
g. Uma thread em deadlock retém um núcleo do processador
inde�nidamente, impedindo que ele seja utilizado por outras threads.
h. Cada processo do Linux possui um espaço de endereçamento próprio, que
é compartilhado entre suas threads. Isso signi�ca que threads de um mesmo
processo compartilham memória e podem trocar dados por meio de variáveis
globais. 
i. Regiões críticas são trechos de código onde dados compartilhados não
podem ser acessados por múltiplas threads simultaneamente. Essas regiões
sensíveis do código podem ser protegidas usando mecanismos de controle de
concorrência, como mutexes, monitores e semáforos. 
j. Um semáforo que foi adquirido por uma thread só poderá ser liberado por
essa mesma thread.
Sua resposta está parcialmente correta.
Você selecionou corretamente 3.
As respostas corretas são: A chamada de sistema fork() criaum processo com o
mesmo código executável do processo que realizou a chamada., Cada processo do
Linux possui um espaço de endereçamento próprio, que é compartilhado entre
suas threads. Isso signi�ca que threads de um mesmo processo compartilham
memória e podem trocar dados por meio de variáveis globais., Regiões críticas são
trechos de código onde dados compartilhados não podem ser acessados por
◄ A.3 Guia de comandos do Linux
múltiplas threads simultaneamente. Essas regiões sensíveis do código podem ser
protegidas usando mecanismos de controle de concorrência, como mutexes,
monitores e semáforos., Podemos evitar que deadlocks ocorram garantindo que
todos os bloqueios de recursos compartilhados sejam realizados na mesma ordem.
Seguir para...
https://moodle.ufsc.br/mod/wiki/view.php?id=3936894&forceview=1

Mais conteúdos dessa disciplina