Baixe o app para aproveitar ainda mais
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.
Compartilhar