ARQUIVO TEM FIM ?

 Tópico anterior Próximo tópico Novo tópico

ARQUIVO TEM FIM ?

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
Resposta escolhida #176294 - 07/10/2006 10:52:02

CASPEREARK
SAO PAULO
Cadast. em:Maio/2001


um arquivo um recurso lgico e se assemelha muito a uma vriavel por exemplo.

Todo sistema de arquivo, seja qual for o sistema operacional, tem uma rea ou uma tabela, onde tem as informaes de COMEO e FIM do arquivo, usando um sistema de arquivos hipottico um troo mais ou menos assim:

arquivo: teste.txt
inicio: 18756
fim: 18806

levando em considerao que cada 1 posio um byte, nosso arquivo teste.txt tem 50 bytes.

Se eu abrir este arquivo, e adicionar ou remover mais 30 bytes, o mesmo que eu der um comando Redim numa vriavel ou vetor, o S.O ir realocar, em caso de adio ele ir colocar o 30 bytes adicionados depois do ultimo byte do aquivo (em sistemas como o FAT e o NTFS, nem sempre do lado, mas a a tabela tem entradas especificas) e depois ir incrementar 30 ao valor fim de 18806 que vai pra 18856. Se for pra remover ele apenas decrementa 30 de 18756 pra 18736.

Pegando o exemplo de adio,da proxima vez que o programa for ler o arquivo, o SO ir ver que o arquivo est entre 18756 18856, tudo que estiver neste intervlo ser carregado na rea de dados na RAM e passado ao programa.

Esse byte binrio de marcao de fim de arquivo,a priori no existe, mas vc como desenvolvedor ao criar seu tipo de arquivo mais sofisticados do que texto, com certeza vai usar um cdigo hash/criptografia ou de compactao dos dados, a sim, necessrio ter um cabealho e um rodap para que o algoritmo saiba o que fazer!

Os arquivos executveis do windows por exemplo, tem este cabealho e rodap, tudo que estiver entre eles, o programa em si, dentro deste intervlo tem subdivises, onde esto o cdigo bruto do programa, as bibliotecas linkadas e outras instrues asm. No cabealho est as instrues em qual verso do windows o mesmo ir rodar e quais bibliotecas do sistema (dlls e ocxs ou o .net framework) o programa vai usar.No fim do rodap, existe um hash em CRC32, o SO verifica o hash do programa e compara com o hash do rodap. Caso seja falso, o Windows ir dar o erro "arquivo corrompido". E depois do rodap, opcionalmente mas quase o obrigatrio, o arquivo de recursos (*.res) que vem com o icone do programa, com as informaes do programa e outros como tabelas de linguagens, imagens, musicas e qualquer outra coisa.

Boa Sorte!


CASPER


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45