FIJ – Faculdades Integradas de Jacarepaguá – 2015.1 Disciplina: Sistemas Operacionais – prof. Mauricio Reis T2.1 – primeiro trabalho para VA.2 Trabalho em grupo de 2 a 4 alunos. Prazo de entrega: 18/05 – não será aceito trabalho entregue após essa data. Faça os seguintes exercícios do capítulo 3 do livro. 3.3 Por que não faz sentido manter a lista de bloqueados em ordem de prioridade? 3.5 Em sistemas dedicados de usuário único, geralmente é óbvio quando um programa entra em laço infinito. Mas, em sistemas multiusuário que executam grandes números de processos, não é fácil determinar que um processo não está progredindo. a) O sistema operacional consegue determinar que um processo entrou em laço infinito? b) Quais salvaguardas razoáveis poderiam ser construídas no sistema operacional para impedir que processos em laço infinito continuem a executar indefinidamente? 3.6 Escolher o tamanho correto do quantum é importante para o funcionamento efetivo de um sistema operacional. Mais adiante no texto vamos examinar com profundidade a questão da determinação do quantum. Por enquanto, anteciparemos alguns dos problemas. Considere um sistema de processador único de tempo compartilhado que suporta grande número de usuários interativos. Cada vez que o processo obtém o processador, o relógio de interrupção é acertado para interromper após a expiração do quantum, o que permite que o sistema operacional impeça que qualquer processo isolado monopolize o processador e, assim, dê respostas rápidas aos processos interativos. Suponha um mesmo quantum para todos os processos do sistema. a) Que efeito teria estabelecer um valor extremamente grande para o quantum, por exemplo, 10 minutos? b) E se o valor estabelecido fosse extremamente pequeno, digamos, alguns ciclos de processador? c) É óbvio que um valor apropriado para o quantum estaria entre (a) e (b). Suponha que você pudesse girar um mostrador e variar o quantum começando com um valor pequeno e aumentando gradativamente. Como você saberia quando estivesse escolhido o valor “correto”? 3.7 Em um mecanismo de bloqueio/despertar, um processo bloqueia a si mesmo para esperar que um evento ocorra. Um outro processo deve detectar que o evento ocorreu e acordar o processo bloqueado. É possível que um processo bloqueie a si mesmo para esperar por um evento que nunca ocorrerá. a) O sistema operacional pode detectar que um processo bloqueado está esperando por um evento que nunca ocorrerá? b) Quais salvaguardas razoáveis poderiam ser inseridas em um sistema operacional para impedir processos de esperar indefinidamente por um evento? 3.11 Como veremos repetidamente por todo este texto, o gerenciamento da espera é uma parte essencial de todo o sistema operacional. Neste capitulo vimos diversos estados de espera, a saber, pronto, bloqueado, suspensopronto e suspenso-bloqueado. Para cada um desses estados, discuta como um processo poderia entrar no estado em questão, o que o processo está esperando e a possibilidade de que o processo possa “ser perdido” esperando indefinidamente naquele estado. Quais características os sistemas operacionais deveriam incorporar para enfrentar a possibilidade de processos começarem a esperar por um evento que talvez nunca aconteça? 3.13 Um sistema de processador único pode não ter nenhum processo pronto e nenhum processo em execução? Esse é um sistema “morto”? Explique sua resposta.