O que é um bloco de controle de arquivos?
Um bloco de controle de arquivo (FCB), também chamado de descritor de arquivo, é um tipo de estrutura de dados temporariamente alocada por um sistema operacional de computador para manter o status de um arquivo de dados que está sendo criado ou manipulado. Na maioria dos casos, um bloco de controle de arquivo é usado para armazenar informações básicas sobre um arquivo, como nome, extensão e local em uma unidade lógica, além de informações dinâmicas, como o endereço atual do arquivo que está sendo lido. Originalmente, um bloco de controle de arquivo era uma estrutura muito bem definida em certos sistemas operacionais, mas desde então se tornou um termo mais genérico para a estrutura usada para rastrear informações sobre um arquivo tratado ativamente. Um objetivo importante de um bloco de controle de arquivo é ajudar o sistema de arquivos a controlar em que estado o arquivo está para impedir que operações diferentes tentem modificar o arquivo de maneiras conflitantes, como a leitura de uma área do arquivo que está sendo atualmente escrito para. A estrutura não é usada apenas para arquivos de dados, mas também pode ser usada para rastrear informações sobre diretórios, embora a estrutura de dados geralmente seja reduzida para remover campos desnecessários, porque um diretório não pode conter dados.
Dois sistemas operacionais, especificamente o Microsoft® Disk Operating System (MS-DOS) e o Control Program for Microprocessors (CP / M), foram os primeiros sistemas operacionais a usar um esquema de blocos de controle de arquivos para gerenciar arquivos. Esses sistemas usavam estruturas muito semelhantes para ajudar a gerenciar arquivos que estavam sendo acessados. À medida que outros sistemas operacionais e sistemas de arquivos foram desenvolvidos, o conceito de bloco de controle de arquivos permaneceu, mas a implementação mudou e a estrutura de dados variou bastante de um sistema para o outro. A maioria dos sistemas operacionais de computador em uso em 2011 usa alguma forma de bloco de controle de arquivos, especialmente ao usar sistemas de arquivos personalizados para hardware removível, embora a estrutura de dados empregada não seja compatível com versões anteriores sem emulação e geralmente seja maior e oculta à maioria dos sistemas. aplicativos de programação de alto nível.
De maneira geral, um bloco de controle de arquivo contém informações que podem ser alteradas durante o uso de um arquivo pelo sistema operacional. Além do nome e do local, são mantidos ponteiros de memória para diferentes pontos no próprio arquivo. Isso permite leitura e gravação sequencial, bem como leitura e gravação de acesso aleatório quando emparelhado com uma variável no FCB que armazena o tamanho de um registro de acesso aleatório. Permissões de arquivo, como status somente leitura ou executável, também são rastreadas. O uso de um FCB também fornece um mecanismo para impedir que dois ou mais processos operem no mesmo arquivo de maneira imprevisível, como tentar acrescentar informações ao final de um arquivo enquanto esse mesmo arquivo está sendo copiado para outro local.