Você está na página 1de 3

Exerccios 3 Andr Campos Rodovalho 064896 SO UFG/EEEC 2008

Excerccios do livro: 1) Na figura 2-2, trs processos so mostrados. Na teoria, com trs estados ser possvel seis transaes, dois para cada estado. Entretanto apenas quatro transies so mostradas. H possibilidade de em alguma ou ambas transies faltando ocorrer nestas condies? Num caso especial, supondo que o processo est bloqueado para fazer troca de dados de E/S e esta troca acabe, se a CPU est ociosa, o processo pode passar diretamente de bloqueado para em execuo. J a passagem de pronto para bloqueado impossvel por que um processo pronto no pode fazer trocas de E/S ou qualquer outra coisa que esteja passvel de bloque-lo. 3) Em todos os computadores atuais, pelo menos parte do controlador de interrupes implementado em assembly, porqu? As novas linguagens, de alto-nvel, no permitem nenhum o tipo de acesso ncessrio ao hardware do processador neste caso. Sendo assim fica impossvel implementar controle de interrupes nos dispositivos de E/S ou manipular dados da pilha de processamento. 4) Quando uma interrupo ou uma chamada de sistema transfere o controle para o sistema operacional, geralmente usada uma pilha de kernel separada da pilha de processos do sistema operacional, porqu? Primeramente no bom que o sistema operacional entre em pane por conta de programas de usurios mal escritos que causem sobrecarga na pilha. E tambm se o kernel deixar os dados de sua pilha num espao comum ao programa de usurio, um usurio malicioso ser capaz de captar estes dados para achar informaes sobre outros processos no retorno de uma chamada de sistema. Exerccios do moodle: 1) Nomeie 5 principais atividades de um sistema operacional em relao gerncia de processos e descreva brevemente porque so necessrias. (a) Criao Cria pid na tabela de processos, aloca espao iniciando o PCB, inicializa bloco controle de processo, manipula ponteiro para fila apropriada, cria/amplia estrutura de dados. (b) Troca devido interrupo externa

Coloca processo na fila de prontos, interrupo de memria escalonador chamado (c) Troca devido interrupo interna Muda processo para estado de sada, reportar erro a usurio, se possvel continuar executando... (d) Troca de processo Salva contexto atual, alterar estado no PCB, mover para fila apropriada, selecionar processo pronto, atualizar PCB do processo escolhido. (e) Troca devido chamada de sistema Se necessrio troca contexto, bloquear processo chamador, chamar escalonador para trocar os processos. 2) Desenhe(ou descreva) um diagrama de filas semelhante a aquele da transparncia 19, considerando o diagrama de estados da transparncia 25.

3) Em computadores mais antigos as interrupes causavam a cpia dos registradores para posies fixas de memria, associadas a um dado sinal de interrupo. Explique porque em geral isto inconveniente. Em geral o processo de guardar e recuperar contexto (exatamente os dados que estavam guardados nos registradores, pilhas, pipe...) no momento em que gerada a interrupo caro, e despendioso. Por isso de modo geral tenta-se evitar a interrupo ao processador.

No final de todo o processo, os dados tem que voltar para o processador para que a tarefa que foi interrompida volte a ser executada exatamente como estava sendo feita antes. 4) (Requer pesquisa) O ncleo do Unix considerado inapropriado para aplicaes de tempo real porque um processo executando e modo protegido no pode ser retirado por outro processo. Comente mais sobre este problema*. * Sugesto: ver: Uresh Vahalia, Unix Internals - The New Frontier, Prentice Hall, 1996 Os sistemas UNIX assim como os outros sistemas operacionais tm que salvar seu contexto em uma interrupo de sistema. Os sistemas mais modernos (adaptados) requerem menor tempo para fazer esta tarefa, tornando-os mais adequados para este exerccio (ex. Linux RT). Ainda assim para aplicaes de alta preciso, por exemplo uma esteira de linha de produo, no h um sistema que se adqe em 100% do processo!

Você também pode gostar