You are on page 1of 5

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE ENSINO SUPERIOR DO SERID CERES DEPARTAMENTO DE CINCIAS EXATAS E APLICADAS - DCEA

A CURSO DE SISTEMAS DE INFORMAO DISCIPLINA DE SISTEMAS OPERACIONAIS PROF. JOO BORGES ATIVIDADE EM GRUPO SOBRE PROGRAMAO CONCORRENTE FERNANDA CARDINALY DE A SILVA

1. Implementaco do problema da seo crtica descrito no livro Sistemas Distribudos Uir Ribeiro, Cap. 5, pg. 114:

A partir desta implementao, descrever: Qual o resultado esperado da execuo deste cdigo;

Atividade em grupo sobre programao concorrente

Espera-se que os processos sejam sincronizados ao ponto que os recursos compartilhados entre eles estejam sempre ordenados, para que o resultado esperado (7000000),seja sempre o resultado final do algoritmo. Qual motivo da inconsistncia dos resultados obtidos aps a execuo do cdigo. Segundo o livro, a varivel compartilhada entre t1 e t2 acessada simultaneamente,de forma que se na troca de controle de processador entre as threads tudo seja feito ordenadamente como o programador esperava, o resultado dar sempre certo, mas se um processo que estava programado para aparecer depois "ganhar" o controle de processador antes, o resultado tende a ser incoerente. 2. Implementao do problema da seo crtica do tpico anterior, mas desta vez solucionando este problema por meio da utilizao do algoritmo de Peterson (Cap 5, pg. 116).

Atividade em grupo sobre programao concorrente

Descrever o algoritmo de Peterson e como ele obtm a excluso mtua para solucionar o problema da seo crtica; Observando o algoritmo de Peterson analisei que a idia dele fazer excluso mtua para dois processos ( genericamente,claro, na realidade so bem mais ), usando 4 variveis: turn, flag, tid0 e tid1. tid0 e tid1 demonstram o interesse do processo em entrar na seo crtica e o turn d a vez a um dos processos ao tempo que o flag sinaliza que o processo est na seo crtica, caso os processos queiram entrar no mesmo instante na seo crtica, o algoritmo d a vez a um deles. Qual problema pode ser identificado com a utilizao deste algoritmo, do ponto de vista da execuo dos processos concorrentes. O processo que est fora da seo crtica tem que estar sempre testando se j pode ou no entrar nela, caso ele no possa entrar o mesmo perde a vez e o tempo destinado a ele para sua execuo. 3. Implementar a soluo para o mesmo problema da seo crtica, mas desta vez utilizando o semforo binrio de Dijkstra (Cap 5, pg. 128).

Atividade em grupo sobre programao concorrente

A partir desta implementao, descrever: Como o funcionamento geral de um semforo; Cada semforo tem um recurso para controlar e uma fila de processos que esperam o semforo dizer que a sua vez de entrar, ele garante a atomicidade das operaes e bloqueia os processos em espera. Como o funcionamento especfico de um semforo binrio de Dijkstra, suas funes P e V; O semforo fica controlando um recurso compartilhado entre os processos . Usando a funo P( ), um determinado processo bloqueia o recurso para manipul-lo, nesse momento nenhum outro processo consegue acess-los, at que o processo que est usando libere com a funo V( ) esses recursos compartilhados Quais os benefcios de sua utilizao, com relao `a implementao de excluso mtua utilizando o algoritmo de Peterson? O grande benefcio que agora ao invs dos processos ficarem testando se podem entrar ou no na seo crtica, perdendo sua fatia de tempo e execuo como no algoritmo de Peterson, o semforo binrio cria uma fila de processos bloqueados onde toda vez que um

Atividade em grupo sobre programao concorrente

recurso compartilhado liberado o apontador do semforo se auto incrementa e sempre aponta para o primeiro processo bloqueado da fila, dando a vez a ele para manipular o recurso, e assim conseqentemente segue at que a fila fique vazia.