Buscar

P1-16.1-INF1019

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

Prévia do material em texto

Primeira Prova de INF1019 - Sistemas da Computação I 
14 de abril de 2016 
Duração: 1 h e 45 minutos 
Atenção: Clareza conta ponto, por isso, responda as questões de forma clara e 
objetiva, a caneta e sem rasuras.	
  Escolha um conjunto de questões que some 10 
pontos. Se a soma for maior do que 10 pontos eu irei desconsiderar aleatoriamente 
alguma questão. 	
  
Questão 1 (2 pontos) 
Mostre o pseudo-código das primitivas down() e up() de semáforos e em seguida dê 
um exemplo de uso de semáforos para uma sincronização de condição entre 
processos. 
Questão 2 (2 pontos) 
Escreva o pseudo-código de um programa que implemente um controle hirerárquico 
de execução entre processos: um processo (P) cria um processo filho (F1) que por 
sua vez cria um outro processo (F2). O pai P controla a execução de F1, 
(interrompendo-o periodicamente por 1 segundo e dando continuidade a sua 
execução por outro 1 segundo), e F1 controla a execução de F2 (interrompendo-o 
periodicamente por 2 segundos e dando continuidade a sua execução por outros 2 
segundos). O processo F2, por sua vez, executa um programa passado como 
argumento na linha de comando. 
Obs: 
• no seu pseudo-código voce não precisa tratar o caso de fork() retornar um 
código de um erro. 
• seu código deve estar bem estruturado, legível, bem identado e com 
comentários em pontos-chave. Se não, haverá desconto de pontos. 
• 
Questão 3 (2 pontos) 
Dentre as seguintes ações, quais são necessariamente executadas em modo 
kernel/supervisor? Apresente uma breve justificativa para cada uma: 
1. Passar um processo do estado bloqueado para o estado pronto. 
2. Controlar se o quantum de tempo de um processo já se esgotou. 
3. Executar programas como usuário root. 
4. Gerenciar a prioridade dos processos, 
5. Tratar um sinal recebido por um processo, 
6. Executar o procedimento tratador de uma interrupção. 
7. Criar, escalonar e terminar threads. 
Questão 4 (1 ponto) 
Explique qual é a principal diferença entre o escalonamento com filas em múltiplos 
níveis (ML) e o escalonamento com filas em múltiplos níveis com feedback (MLF). 
 
Questão 5	
  (2 pontos)	
  
Sejam dois processos concorrentes P1 e P2 compartilhando apenas as variáveis A e 
B (incializadas com os valores 1 e 2, respectivamente) e o semáforo mutex s, ambos 
executando o seguinte trecho de código:	
  
… 
down(s); 
T = A; 
A = B; 
up(s); 
B = T; 
… 
 
Assumindo que as variáveis A e B não são modificadas em qualquer outra parte do 
código de P1 e P2, diga se os valores de A e B sempre serão diferentes em ambos 
os processos após a atribuição B=T? Justifique ilustrando com as possíveis 
sequências de instruções executadas. 
Questão 6 (2 pontos) 
Considere um sistema multitarefa com um único procesador e os seguintes jobs com 
seus instantes de ativação e seus tempos de CPU. Para a politica de escalonamento 
Shortest Remaining Time (SRT) desenhe o diagrama de tempo mostrando em quais 
intervalos de tempo cada job estará executando na CPU, e calcule o tempo médio 
de espera para esse conjunto de jobs. 
Job Instante de Ativação Tempo de CPU 
J1 0 u.t. 6 u.t. 
J2 1 u.t. 4 u.t. 
J3 5 u.t 4 u.t 
J4 6 u.t. 1 u.t. 
 
Obs: Lembre-se que o SRT é uma política preemptiva onde o job/processo com o 
menor tempo remanescente de CPU é escolhido para ser o próximo a executar, isto 
incluindo os jobs recém-chegados. E que quando há vários jobs com igual tempo 
remanescente de CPU, usa-se o instante de ativação como critério de desempate 
(tempos mais atuais têm maior prioridade). 
 
 Questão 7 (1 ponto) 
Apresente pelo menos uma vantagem e uma desvantagem de se implementar 
threads em modo usuário.

Outros materiais