Você está na página 1de 5

Exerccios Sincronizao e Comunicao entre Processos 1- Que problema pode ocorrer quando dois ou mais processos acessam um mesmo

o recurso compartilhado, como uma posio de memria, por exemplo? Explique. Caso no haja uma gerencia no uso concorrente dos recursos compartilhados, inconsistencias nos dados podem ocorrer. 2- O que Excluso Mtua e quais suas formas de tratamento (implementao)? impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acess-lo devero esperar pelo trmino da utilizao do recurso. Para resolver os problemas decorrentes do compartilhamento da matriz utilizando o conceito de excluso mtua, garantindo que na aplicao somente um nico processo pode estar acessando a matriz por vez. 3- O que Starvation e como podemos solucionar este problema? a situao onde um processo nunca consegue executar sua regiao critica e ,consequentemente, acessar o recurso compartilhado. A soluo para o problema depende de estabelecimentos de mecanismos de acesso pelo sistema operacional que garatam o acesso ao recurso por todos os processos que solicitarem uso. 4- Explique o que Sincronizao Condicional e d um exemplo de sua utilizao. uma situao onde o acesso ao recurso compartilhado exige a sincronizao de processos vinculada a uma condio de acesso. Um recurso

pode no se encontrar pronto para uso devido a uma condio especifica Nesse caso, o processo que deseja acessa-lo devera permanecer bloqueado ate que o recurso fique disponivel.Um exemplo clssico desse tipo de sincronizao a comunicao entre dois processos atravs de operaes de gravao e leitura em um buffer. 5- Explique para que serve Semforos. D dois exemplos de problemas clssicos de sincronizao de processos, cuja soluo se d por Semforos, explique-os. Um semforo uma varivel inteira, no negativa, que s pode ser manipulada por duas instrues: DOWN e UP. O semforo uma varivel inteira que pode ser mudada por apenas duas operaes primitivas (atmicas): Testar (P/DOWN/WAIT) e Incrementar (V/UP/SIGNAL). Fundamentalmente, a idia utilizar o semforo para permitir a cooperao entre processos por meio de sinais. Dessa maneira, um processo pode ser forado a esperar num determinado lugar at que receba um sinal especfico. Quando um processo executa uma operao P, o valor do semforo decrementado. O processo pode ser eventualmente bloqueado e inserido na fila de espera do semforo. Numa operao V, o semforo incrementado e, eventualmente, um processo que aguarda na fila de espera deste semforo acordado Monitores so elementos de uma linguagem de programao que provem funcionalidade equivalente a dos semforos, mas so de mais fcil controle. Um monitor pode ser visto como um bloco que contm internamente dados para serem compartilhados e procedimentos do monitor, isto , a nica maneira pela qual um processo pode acessar os dados compartilhados indiretamente, por meio de procedure entries.

Apenas um processo pode estar executando em um monitor. Qualquer outro processo que tenha invocado o monitor bloqueado (esperando pela disponibilidade do monitor). 6- Como se d a implementao da Excluso Mtua em Monitores? *Implementao da excluso mtua nos monitores realizada pelo compilador. Conjunto de procedimentos, variveis e estrutura de dados definidos dentro de um mdulo.Somente um processo pode estar executando um dos procedimentos do monitor em um determinado instante. Monitores so mecanismos de sincronizao de alto nvel que torna mais simples o desenvolvimento de aplicaes concorrentes 7- O que e quando ocorre Deadlock? Situao onde dois ou mais processos esto esperando por um evento que s pode ser gerado por algum dos mesmos processos em espera.Ou seja: Cada processo de um conjunto em deadlock est esperando por um recurso que foi entregue a outro processo do mesmo conjunto. Deadlocks ocorrem quando 4 condies so verdadeiras: Excluso mtua - Cada recurso s pode estar alocado a um nico processo em um determinado instante. Um processo, alm dos recursos j alocados, pode estar esperando por outros recursos. No-preempso Um recurso no pode ser liberado de um processo s porque outros processos desejam o mesmo recurso. Espera circular Um processo pode Ter de esperar por um recurso alocado a outro processo e vice-versa.

Sistemas Operacionais Lista 2 (P2) Exerccios Gerncia do Processador

1- O que poltica de escalonamento de um SO? Trata-se da abordagem utilizada pelo sistema operacional para gerenciar o processador e tornar possvel a multiprogramao do sistema operacional. 2- Quais as funes do scheduler (escalonador) e do dispatcher? Scheduler o mecanismo de inserir um processo no final da fila do Estado de Pronto. Dispatcher o mecanismo de eleger o processo da fila de Pronto para a utilizao do processador ou seja, eleger um processo para a execuo 3- Quais os principais critrios utilizados em uma poltica de escalonamento? Tempo de espera Tempo de resposta Tempo de turnaround Tempo de cpu Utilizao do processador 4- Diferencie os tempos de processador, espera, turnaround e resposta. Espera Permanece na fila Turnaround Tempo de vida do ciclo do processo desde sua criao at o trmino Tempo de resposta Tempo entre a chamada e a resposta do CPU. 5- Diferencie os escalonamentos preemptivos e no-preemptivos. Preemptivo permite parar a execuo de um processo e iniciar outro. J o no-preemptivo transfere somente tarefas que ainda no executaram e, portanto, no necessitam de transferncia de contexto. No caso de nodos sobrecarregados, o mais comum escolher a tarefa que causou a sobrecarga

6- Qual a diferena entre o escalonamento FIFO e Circular? O escalonamento FIFO procura primeiro terminar um processo antes de comear outro,enquanto o escalonamento circular, reserva um determinado tempo para que o processo circule compartilhando o mesmo momento com outros processos. O circular do tipo preemptivo enquanto FIFO First In First Out. 7- Qual a diferena entre preempo por tempo e preempo por prioridade? A preempo por tempo visa iterromper os processos baseados no menor tempo de processo, enquanto quando basedo na prioridade visa processar a fila atravs do nvel de prioridade. 8- Explique a poltica de escalonamento em sistemas de Tempo Compartilhado e de Tempo Real. Os sistemas de tempo compartilhado (time-sharing) permitem que diversos programas sejam executados a partir da diviso do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo no seja suficiente para a concluso do programa, ele interrompido pelo sistema operacional e substitudo por um outro, enquantofica aguardando por uma nova fatia de tempo. O sistema cria para cada usurio um ambientede trabalho prprio, dando a impresso de que todo o sistema est dedicado exclusivamente a ele. Os sistemas de tempo real (real-time) so implementados de forma semelhante aos sistemas de tempo compartilhado. O que caracteriza a diferena entre os dois tipos de sistemas o tempo exigido no processamento das aplicaes. Enquanto em sistemas de tempo compartilhado o tempo de processamento pode variar sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de processamento devem estar dentro de limites rgidos, que devem ser obedecidos, caso contrrio, podero ocorrer problemas irreparveis.

Você também pode gostar