Instituto de Computação - UNICAMP

Sistemas Operacionais: Teoria e Prática

Islene Calciolari Garcia

Laboratório 2

Leitores - Escritores

Entrega: 17 de abril


Objetivo

Considere uma implementação em que as threads fazem acesso de leitura e escrita a um banco de dados. Em uma implementação ideal, as threads leitoras podem fazer acesso simultâneo aos dados, mas as threads escritoras precisam fazer acesso exclusivo.

Como explicado em aula, se dermos prioridade às threads leitoras, as threads escritoras podem nunca conseguir atualizar os dados. Por outro lado, se dermos prioridade às threads escritoras, as threads leitoras poderão ficar eternamente esperando.

Sua tarefa é especificar e implementar um algoritmo que garanta um compromisso entre possibilidade de leituras simultâneas e ausência de deadlock.

Entrega:

Você deverá entregar por e-mail para islene [@] ic [.] unicamp [.] br os seguintes arquivos: Para escrever as implementações você pode se basear nos códigos-exemplos fornecidos nas aulas ou criar outra aplicação de leitores-escritores diferente.