P1 - Sistemas Operacionais I Professor: Leandro Marzulo 2012-1 Nome: Instruções: Esta prova é composta de seis questões totalizando 12 (doze) pontos, sendo a nota máxima 10 (dez). Responda as questões de forma sucinta e clara. O uso de lápis é permitido, no entanto, pedidos de revisão serão considerados apenas para questões respondidas a caneta. BOA PROVA! 1) (3,0) Com relação às técnicas de E/S, responda: a) (1,0) O que é E/S programada (com pooling)? Quais são suas vantagens e desvantagens? b) (1,0) O que é E/S dirigida por interrupção? Quais são suas vantagens e desvantagens? c) (1,0) Qual o significado da sigla DMA? Como funciona o DMA? Quais são suas vantagens e desvantagens? 2) (1.0) Suponha que dois programas, A e B, estejam para serem executados no processador. O programa A executa por 6s, sendo que 20% deste tempo é gasto esperando pelo término de uma operação de E/S. Já o programa B, que não faz operações de E/S, executa por 2s no processador. Se o sistema operacional não implementa o conceito de multiprogramação, o processador poderá ficar ocioso? Em caso afirmativo, qual será o tempo de ociosidade do processador? Justifique a sua resposta. 3) (1,0) Suponha que um sistema operacional esteja executando sobre uma máquina virtual. Suponha ainda que o processador virtual possua um poder de processamento 25% menor do que o do processador real, e que o tempo de execução de uma chamada ao sistema aumente de 10ms para 12ms. Se um determinado programa, tendo feito 25 chamadas ao sistema, executou em 25s, qual seria o tempo de execução diretamente sobre o hardware do computador? 4) (1,5) Considerando o trecho de código abaixo, responda: pid_t pid; pid = fork(); if (pid > 0) pid = fork(); if (pid == 0) fork(); fork(); if (pid == 0) fork();
a)
(1,0) Como fica a sub-árvore de processos do processo inicial, com todos os filhos criados (considerando que nenhum deles terminou e assumindo que não houve falha na execução de nenhuma chamada fork())? b) (0,5) Ao