Вы находитесь на странице: 1из 2

Andr Campos Rodovalho - 064896 - Engenharia de Computao - EEEC/ UFG

Ex. Sistemas Operacionais

18) Concorrncia quando dois processos (ou mais) praticam a mesma ao. Dependendo do tempo de execuo um ou outro deve executar primeiro, se um for primeiro tudo funciona perfeitamente, mas se o outro executar primeiro ocorre um erro. 21) Funciona com escalonamento preemptivo. Quando no preemptivo provavelmente falhar. A causa seria um loop infinito, que ultilizaria a CPU indiscriminadamente. 22) Pode sim. utilizada como uma condio de parada, quando 0 nada est utilizando aups variveis crticas e 1 caso oposto. Coloque 1 no registrador e execute, se o registrador conteiver 0 depois da execuo o acesso foi aceito se nao, o acesso foi negado. 23) Para fazer uma operao de semfaro primeiramente preciso desabilitar interrupes CPU. Depois ele le o valor do semforo. Se estier fazendo um down e o semforo 0, ele coloca o processon uma lista de bloqueados. Se a operao up, ele deve verificar se algum processo est bloqueado. Se um ou mais processos estiverem bloqueados, um deles removido da lista de bloqueados setado "em execuo". Quando todas operaes estiverem concludas, as interrupes voltam a funcionar. 24) Para cada contador h 2 semforos binrios. M para excluso mtua e para bloqueio B. Existe tambm um contador que guarda o nmero de processos up menos o nmero de processos down, alm de uma lista de processos bloqueados no semforo. Para implementar um down primeiramente um processo ganha acesso exclusivo ao semforo, contadores e lista fazendo um down em M. Ento decrementa-se o contador, e se for 0 ou mais o processo faz um up em M e termina. Se for negativo o processo colocado na lista de bloqueados. S a partir de ento um up feito em M e um down em B para bloquear o processo. Para implementar o up primeiramente faz-se M down para garantir a exlcuso mtuae ento o contador incrementado. Se for mais que zero, ningum foi bloqueado, ento tudo que precisa ser feito um up em M. Se por algum motivo, o contador estiver negativo ou zero, algum processo deve ser removido da lista. Finalmente, um up feito no B e em M respectivamente. 25) Se um programa opera em fase, e nenhum processo pode passar pra prxima fase at que ambos tenham finalizado, faz sentido utilizar alguma barreira.

27) Com threads em nvel de kernel, uma thread pode bloquear pode ser bloqueada em um semforo e o kernel pode executar outra thread no mesmo processo. Ento no h problemas em usar semforos. J com threads em nvel de usurio, quando uma thread bloqueada em um semforo, o kernel acha que o processo est bloqueado e no o executa novamente. Da o processo falha. 30) No lida com concorrncia de processos - nada ser perdido, mas est efetivamente "ocupado em espera". 31) Se um filsofo bloqueia, os vizinhos podem ver que ele est faminto verificando seu estado, em test, ento ele pode ser "acordado" quando o fork puder ser disparado. 32) A mudana significaria que depois que um filfoso para de comer, nenhum dos vizinhos poderia ser escolhido como prximo. Como se espera, eles no poderiam ser escolhidos. Os vizinhos deste no podero comer mesmo quando estiverem com fome e o fork disponvel, pois nada os iniciariam.

Вам также может понравиться