Buscar

Nota 10 - UNIVESP - 2021 - Atividade para Avaliação - Semana 3 - Sistemas Operacionais

Prévia do material em texto

Fazer teste: Semana 3 - Atividade AvaliativaSistemas Operacionais - EEO001 - Turma 001 Atividades
Fazer teste: Semana 3 - Atividade Avaliativa 
PERGUNTA 1
Em uma aplicação concorrente que controla saldo bancário em
contas correntes, dois processos compartilham uma região de
memória onde estão armazenados os saldos dos clientes A e B.
Os processos executam concorrentemente os seguintes passos
(as linhas são numeradas 1a, 1b etc para o Processo 1 e 2a,
2b etc para o processo 2): 
 
Processo 1  Processo 2 
/* saque em A */ 
1a. x = saldo_do_cliente_A; 
1b. x = x - 200; 
1c. saldo_do_cliente_A = x; 
 
/* deposito em B */ 
1d. x = saldo_do_cliente_B; 
1e. x = x + 100; 
1f. saldo_do_cliente_B = x; 
/* saque em A */ 
2a. y = saldo_do_cliente_A; 
2b. y = y - 100; 
2c. saldo_do_cliente_A = y; 
 
/* deposito em B */ 
2d. y = saldo_do_cliente_B; 
2e. y = y + 200; 
2f. saldo_do_cliente_B = y; 
 
Supondo que saldo_do_cliente_A e saldo_do_cliente_B são
variáveis compartilhadas que re�etem, em uma base de dados,
os saldos dos clientes A e B, respectivamente; e que os valores
dos saldos de A e B sejam, respectivamente, 500 e 700, antes de
os processos executarem, quais os valores �nais dos saldos dos
clientes se a sequência temporal de execução das operações,
dentro do servidor do banco, for 1a, 2a, 1b, 2b, 1c, 2c, 1d, 2d, 1e,
2e, 1f, 2f? Quais os valores que deveriam realmente constar em
cada conta após as operações de saque? 
saldo_do_cliente_A = 400 (deveria ser
200),  saldo_do_cliente_B = 900 (deveria ser 1.000) 
saldo_do_cliente_A = 200 (deveria ser
800),  saldo_do_cliente_B = 800 (deveria ser 1000) 
saldo_do_cliente_A = 700 (deveria ser
200),  saldo_do_cliente_B = 1000 (deveria ser 900) 
saldo_do_cliente_A = 200 (deveria ser
200),  saldo_do_cliente_B = 1.000 (deveria ser 1.000) 
saldo_do_cliente_A = 500 (deveria ser
200),  saldo_do_cliente_B = 500 (deveria ser 1.000) 
1 pontos  
?
https://ava.univesp.br/webapps/blackboard/execute/courseMain?course_id=_3649_1
https://ava.univesp.br/webapps/blackboard/content/listContent.jsp?course_id=_3649_1&content_id=_491828_1&mode=reset
PERGUNTA 2
Qual a principal desvantagem da estratégia de desabilitar
interrupções, quando um processo entra na região crítica, para
implementar exclusão mútua com espera ocupada? 
O fato de ter de fazer uma chamada ao sistema para
desabilitar as interrupções 
O fato de ser adequada a sistemas monoprocessados 
O fato de ser adequado apenas a sistema multiprocessados 
Desperdício de tempo de CPU quando o processo está em
E/S e nenhum outro está rodando 
Possibilidade de inanição dos demais processos, caso o
processo rodando não reabilite as interrupções ao �nal 
1 pontos  
PERGUNTA 3
Que alternativas a semáforos temos que podem ser usadas entre
diferentes máquinas? 
Primitivas sleep e wake-up 
Monitores
Passagem de mensagens 
Solução de Peterson 
Variáveis de travamento 
1 pontos  
PERGUNTA 4
Por que as operações up e down em semáforos precisam ser
atômicas? 
Para que o processo possa rodar até o �m 
Para que possa ser implementada a espera ocupada 
Para evitar que sejam interrompidas enquanto rodam 
Para que possam rodar rapidamente 
Para serem menores 
1 pontos  
PERGUNTA 5
Cinco tarefas, A, B, C, D e E, chegam a um centro de
computação praticamente ao mesmo tempo.  Elas são agrupadas
em um único lote possuindo tempos de execução estimados
1 pontos  
em um único lote, possuindo tempos de execução estimados
em 9, 5, 2, 3 e 8 min, respectivamente. Qual o tempo médio de
execução completa (mean turnaround time) do algoritmo de
escalonamento First-come, First-served (supondo que os
processos cheguem na ordem A, B, C, D e E)? Ignore o tempo
gasto com a troca de cada processo pelo seguinte. 
17
16
15
20
19
PERGUNTA 6
Considere 4 processos, P1, P2, P3 e P4, com prioridades 1, 3, 2 e
5, respectivamente, em que 5 é a mais alta. Seguindo o algoritmo
de loteria, mostre a ordem de escalonamento dos processos
acima, sabendo que a cada um é atribuído um número de
bilhetes igual à sua prioridade (ou seja, P1 recebe o bilhete de
número 1, P2 recebe os bilhetes 2 a 4, P3 recebe os bilhetes 5 e 6,
e P4 recebe os bilhetes 7 a 11), e que os bilhetes sorteados são os
de número 11, 5, 10, 3, 9, 4, 2, 6, 8, 1, e 7, nessa ordem. 
P4, P3, P2, P1, P4, P3, P2, P4, P2, P4, P4 
P4, P4, P4, P4, P4, P1, P2, P2, P2, P3, P3 
P1, P2, P2, P2, P3, P3, P4, P4, P4, P4, P4 
P4, P3, P4, P2, P4, P2, P2, P3, P4, P1, P4 
P1, P2, P3, P4, P2, P3, P4, P2, P4, P4, P4 
1 pontos  
PERGUNTA 7
Cinco tarefas, A, B, C, D e E, chegam a um centro de
computação praticamente ao mesmo tempo.  Elas são agrupadas
em um único lote, possuindo tempos de execução estimados
em 9, 6, 2, 3 e 8 min, respectivamente. Qual o tempo médio de
execução completa (mean turnaround time) do algoritmo de
escalonamento Shortest job �rst para escalonamento dessas
tarefas dentro do processador? Ignore o tempo gasto com a troca
de cada processo pelo seguinte. 
14
16
13
15
12
1 pontos  
PERGUNTA 8
Uma condição de corrida se caracteriza por: 
Dois ou mais processos rodando em processadores paralelos
ao mesmo tempo 
Dois ou mais processos aguardando em memória ao mesmo
tempo 
Dois ou mais processos tentando acessar o mesmo recurso
ao mesmo tempo 
Dois ou mais processos tentando acessar recursos distintos
ao mesmo tempo 
Dois ou mais processos rodando em threads distintas ao
mesmo tempo 
1 pontos  
PERGUNTA 9
Um processo rodando com um escalonador de múltiplas �las
(CTSS) necessita de 55 quanta para ser �nalizado. Quantas vezes
ele será colocado para rodar, incluindo a primeira vez (antes que
tenha começado a rodar)? 
8
55
6
1
4
1 pontos  
PERGUNTA 10
Monitores nada mais são do que implementações pré-de�nidas
de semáforos, de modo a auxiliar o programador. Nesse
contexto, por que razão métodos alternativos para o mesmo �m,
como os próprios semáforos por exemplo, ainda são usados? 
Porque são poucas as linguagens de programação que
apresentam essa facilidade 
Porque alguns processadores não suportam monitores 
Para evitar falhas na de�nição dos monitores dentro da
linguagem 
Porque um leque de opções é sempre bom 
Porque alguns programadores não gostam de usar essa
facilidade 
1 pontos  
Clique em Salvar e Enviar para salvar e enviar. Clique em Salvar todas as respostas para
salvar todas as respostas.

Continue navegando