18.05.2014 Views

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

leitura, escrita, exclusão e fechamento de arquivos. Caso ocorram erros deve<br />

tomar ações apropriadas para resolver estes problemas;<br />

• Disputa por Dados. Se muitas tarefas tentam acessar o mesmo objeto do<br />

banco de dados ao mesmo tempo, algumas serão forçadas a esperar enquanto<br />

as outras completam o processamento. Um meio de melhorar este problema<br />

é restringir o acesso somente ao registro que está sendo disputado e não ao<br />

arquivo todo.<br />

• Transferência de dados entre memória e discos magnéticos. Mover<br />

dados entre memória e discos magnéticos causam gargalos de desempenho ao<br />

sistema. Uma maneira de melhorar este problema é usar buffers de memória<br />

RAM para armazenar dados provenientes de escrita e leitura de um disco<br />

magnético, isto reduz o número de escritas e leituras ao disco. Se o fator custo<br />

permitir usar memória RAM para substituir os discos magnéticos pode ser<br />

uma boa opção, principalmente para banco de dados pequenos, mas rotinas<br />

de monitoração da tensão da bateria de back-up da memória RAM devem ser<br />

rotineiramente executadas.<br />

• Deadlock. Situação quando um primeiro processo quer acessar um recurso<br />

de posse de um segundo processo e este, por sua vez, quer acessar o recurso de<br />

posse do primeiro processo, mas nenhum pode usar o recurso do outro, pois,<br />

para isto, cada um espera que o outro libere o recurso, o que nunca vai ocorrer.<br />

Sistemas de banco de dados embarcados possuem mecanismos que verifiquem<br />

a existência de deadlock. Aplicações com um único usuário ou operações de<br />

leitura com vários usuários não apresentam problema de deadlock.<br />

8.1 Banco de dados em nosso estudo de caso<br />

Em nossa aplicação, estamos fazendo o uso da biblioteca fornecido pelo próprio<br />

fabricante do hardware (módulo Rabbit RCM3200). Deve-se mais uma vez lembrar,<br />

que não temos suporte há acessos de escrita e leitura concorrentes, sendo<br />

necessário uso de ferramentas como o sistema operacional uC/OS para este gerenciamento.<br />

Bibliotecas como a da FreeSoftware apresentam o mesmo problema de<br />

204

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!