Arquivo de computador - Computer file

Um arquivo de computador é um recurso de computador para registrar dados em um dispositivo de armazenamento de computador . Assim como as palavras podem ser escritas no papel, os dados também podem ser gravados em um arquivo de computador. Os arquivos podem ser editados e transferidos pela Internet nesse sistema de computador específico.

Diferentes tipos de arquivos de computador são projetados para diferentes propósitos. Um arquivo pode ser projetado para armazenar uma imagem , uma mensagem escrita, um vídeo , um programa de computador ou qualquer grande variedade de outros tipos de dados. Certos arquivos podem armazenar vários tipos de dados de uma vez.

Usando programas de computador, uma pessoa pode abrir, ler, alterar, salvar e fechar um arquivo de computador. Os arquivos do computador podem ser reabertos, modificados e copiados um número arbitrário de vezes.

Os arquivos são normalmente organizados em um sistema de arquivos , que rastreia os locais dos arquivos no disco e permite o acesso do usuário.

Etimologia

Um arquivo de cartão perfurado
Os arquivos de disco gêmeo de um sistema IBM 305

A palavra "arquivo" deriva do latim filum ("um fio").

"Arquivo" foi usado no contexto de armazenamento de computador já em janeiro de 1940. Em Métodos de cartão perfurado em computação científica , WJ Eckert declarou: "O primeiro uso extensivo do tabulador Hollerith na astronomia foi feito por Comrie . Ele o usou para construir uma tabela a partir de diferenças sucessivas, e para adicionar um grande número de termos harmônicos ". “As tabelas de funções são construídas a partir de suas diferenças com grande eficiência, seja como tabelas impressas ou como arquivo de cartões perfurados ”.

Em fevereiro de 1950, em um anúncio da Radio Corporation of America (RCA) na revista Popular Science descrevendo um novo tubo de vácuo de "memória" que havia desenvolvido, a RCA afirmou: "os resultados de incontáveis ​​cálculos podem ser mantidos 'em arquivo' e retirados novamente . Esse 'arquivo' agora existe em um tubo de 'memória' desenvolvido nos Laboratórios RCA. Eletronicamente ele retém números alimentados em máquinas de calcular, os mantém em armazenamento enquanto memoriza novos - acelera soluções inteligentes através de labirintos de matemática. "

Em 1952, "arquivo" denotava, entre outras coisas, informações armazenadas em cartões perfurados .

No uso inicial, o hardware subjacente, ao invés do conteúdo armazenado nele, era denominado um "arquivo". Por exemplo, as unidades de disco IBM 350 foram denominadas "arquivos de disco". A introdução, por volta de 1961, pelo Burroughs MCP e o MIT Compatible Time-Sharing System do conceito de um " sistema de arquivos " que gerenciava vários "arquivos" virtuais em um dispositivo de armazenamento é a origem da denotação contemporânea da palavra. Embora o " arquivo de registro " contemporâneo demonstre o conceito inicial de arquivos, seu uso diminuiu muito.

Conteúdo do arquivo

Na maioria dos sistemas operacionais modernos , os arquivos são organizados em matrizes unidimensionais de bytes . O formato de um arquivo é definido por seu conteúdo, uma vez que um arquivo é apenas um contêiner de dados, embora em algumas plataformas o formato seja geralmente indicado por sua extensão de nome de arquivo , especificando as regras de como os bytes devem ser organizados e interpretados de forma significativa. Por exemplo, os bytes de um arquivo de texto simples ( .txt no Windows) são associados a caracteres ASCII ou UTF-8 , enquanto os bytes de arquivos de imagem, vídeo e áudio são interpretados de outra forma. A maioria dos tipos de arquivo também aloca alguns bytes para metadados , o que permite que um arquivo carregue algumas informações básicas sobre si mesmo.

Alguns sistemas de arquivos podem armazenar dados arbitrários (não interpretados pelo sistema de arquivos) específicos do arquivo fora do formato do arquivo, mas vinculados ao arquivo, por exemplo, atributos estendidos ou bifurcações . Em outros sistemas de arquivos, isso pode ser feito por meio de arquivos auxiliares ou bancos de dados específicos de software. Todos esses métodos, no entanto, são mais suscetíveis à perda de metadados do que os formatos de contêiner e arquivo .

Tamanho do arquivo

A qualquer momento, um arquivo pode ter um tamanho, normalmente expresso como número de bytes , que indica quanto armazenamento está associado ao arquivo. Na maioria dos sistemas operacionais modernos, o tamanho pode ser qualquer número inteiro não negativo de bytes até um limite do sistema. Muitos sistemas operacionais mais antigos controlavam apenas o número de blocos ou trilhas ocupadas por um arquivo em um dispositivo de armazenamento físico. Em tais sistemas, o software empregava outros métodos para rastrear a contagem exata de bytes (por exemplo, CP / M usava um caractere de controle especial, Ctrl-Z , para sinalizar o fim dos arquivos de texto).

A definição geral de um arquivo não requer que seu tamanho tenha qualquer significado real, no entanto, a menos que os dados dentro do arquivo correspondam aos dados dentro de um conjunto de armazenamento persistente. Um caso especial é um arquivo de zero byte ; esses arquivos podem ser arquivos recém-criados que ainda não tiveram nenhum dado gravado neles, ou podem servir como algum tipo de sinalizador no sistema de arquivos, ou são acidentes (resultados de operações de disco abortadas). Por exemplo, o arquivo para o qual o link / bin / ls aponta em um sistema semelhante ao Unix provavelmente tem um tamanho definido que raramente muda. Compare isso com / dev / null que também é um arquivo, mas como um arquivo especial de caractere , seu tamanho não é significativo.

Organização de dados em um arquivo

As informações em um arquivo de computador podem consistir em pacotes menores de informações (geralmente chamados de " registros " ou "linhas") que são individualmente diferentes, mas compartilham algumas características comuns. Por exemplo, um arquivo de folha de pagamento pode conter informações sobre todos os funcionários de uma empresa e os detalhes de sua folha de pagamento; cada registro no arquivo da folha de pagamento diz respeito a apenas um funcionário e todos os registros têm a característica comum de estar relacionado à folha de pagamento - isso é muito semelhante a colocar todas as informações da folha de pagamento em um arquivo específico em um escritório que não tem um computador. Um arquivo de texto pode conter linhas de texto, correspondendo a linhas impressas em um pedaço de papel. Como alternativa, um arquivo pode conter uma imagem binária arbitrária (um blob ) ou pode conter um executável .

A maneira como as informações são agrupadas em um arquivo depende inteiramente de como ele é projetado. Isso levou a uma infinidade de estruturas de arquivos mais ou menos padronizadas para todos os fins imagináveis, desde os mais simples aos mais complexos. A maioria dos arquivos de computador é usada por programas de computador que criam, modificam ou excluem os arquivos para seu próprio uso conforme a necessidade. Os programadores que criam os programas decidem quais arquivos são necessários, como eles devem ser usados ​​e (freqüentemente) seus nomes.

Em alguns casos, os programas de computador manipulam arquivos que se tornam visíveis para o usuário do computador. Por exemplo, em um programa de processamento de texto , o usuário manipula arquivos de documentos que ele nomeia pessoalmente. Embora o conteúdo do arquivo de documento seja organizado em um formato que o programa de processamento de texto entenda, o usuário pode escolher o nome e a localização do arquivo e fornecer a maior parte das informações (como palavras e texto) que serão armazenados no arquivo.

Muitos aplicativos empacotam todos os seus arquivos de dados em um único arquivo denominado arquivo morto , usando marcadores internos para discernir os diferentes tipos de informação contidos nele. Os benefícios do arquivo compactado são reduzir o número de arquivos para facilitar a transferência, reduzir o uso de armazenamento ou apenas organizar arquivos desatualizados. O arquivo archive deve frequentemente ser descompactado antes do próximo uso.

Operações

As operações mais básicas que os programas podem realizar em um arquivo são:

  • Crie um novo arquivo
  • Alterar as permissões de acesso e atributos de um arquivo
  • Abra um arquivo, o que torna o conteúdo do arquivo disponível para o programa
  • Ler dados de um arquivo
  • Grave dados em um arquivo
  • Excluir um arquivo
  • Feche um arquivo, encerrando a associação entre ele e o programa
  • Truncar um arquivo, encurtando-o para um tamanho especificado no sistema de arquivos sem reescrever qualquer conteúdo

Os arquivos em um computador podem ser criados, movidos, modificados, aumentados, reduzidos ( truncados ) e excluídos. Na maioria dos casos, os programas de computador executados no computador realizam essas operações, mas o usuário de um computador também pode manipular os arquivos, se necessário. Por exemplo, os arquivos do Microsoft Word são normalmente criados e modificados pelo programa Microsoft Word em resposta aos comandos do usuário, mas o usuário também pode mover, renomear ou excluir esses arquivos diretamente usando um programa gerenciador de arquivos como o Windows Explorer (em computadores Windows ) ou por linhas de comando (CLI).

Em sistemas semelhantes ao Unix, os programas de espaço do usuário não operam diretamente, em um nível baixo, em um arquivo. Apenas o kernel lida com arquivos e lida com toda a interação do espaço do usuário com os arquivos de uma maneira que seja transparente para os programas do espaço do usuário. O sistema operacional fornece um nível de abstração , o que significa que a interação com um arquivo do espaço do usuário ocorre simplesmente por meio de seu nome de arquivo (em vez de seu inode ). Por exemplo, não excluirá o arquivo em si, mas apenas um link para o arquivo. Pode haver muitos links para um arquivo, mas quando todos são removidos, o kernel considera o espaço de memória do arquivo livre para ser realocado. Esse espaço livre é comumente considerado um risco de segurança (devido à existência de software de recuperação de arquivos ). Qualquer programa de exclusão segura usa funções de espaço do kernel (sistema) para limpar os dados do arquivo. rm filename

As movimentações de arquivos em um sistema de arquivos são concluídas quase imediatamente porque o conteúdo dos dados não precisa ser regravado. Apenas os caminhos precisam ser alterados.

Métodos de movimentação

Existem duas implementações distintas de movimentação de arquivos.

Ao mover arquivos entre dispositivos ou partições, alguns softwares de gerenciamento de arquivos excluem cada arquivo selecionado do diretório de origem individualmente após serem transferidos, enquanto outros softwares excluem todos os arquivos de uma vez ' somente após cada arquivo ter sido transferido.

Com o mvcomando, por exemplo, o primeiro método é usado para selecionar arquivos individualmente, possivelmente com o uso de curingas (exemplo :,mv -n sourcePath/* targetPath enquanto o último método é usado para selecionar diretórios inteiros (exemplo mv -n sourcePath targetPath:). O Microsoft Windows Explorer usa o primeiro método para massa O arquivo de armazenamento é removido, mas o último método usa o Protocolo de transferência de mídia , conforme descrito em Protocolo de transferência de mídia § Comportamento de movimentação de arquivo .

O primeiro método (exclusão individual da origem) tem a vantagem de liberar espaço do dispositivo ou partição de origem imediatamente após o início da transferência, ou seja, após o término do primeiro arquivo. Com o último método, o espaço só é liberado após o término da transferência de toda a seleção.

Se uma transferência de arquivo incompleta com o último método for abortada inesperadamente, talvez devido a um desligamento inesperado, interrupção do sistema ou desconexão de um dispositivo, nenhum espaço será liberado no dispositivo ou partição de origem. O usuário precisaria mesclar os arquivos restantes da fonte, incluindo o último arquivo escrito incompletamente (truncado).

Com o método de exclusão individual, o software de movimentação de arquivos também não precisa manter o controle cumulativo de todos os arquivos que foram transferidos, caso um usuário aborte manualmente a transferência de arquivos. Um gerenciador de arquivos usando o último método (exclusão posterior) terá que excluir apenas os arquivos do diretório de origem que já tenham sido transferidos.

Identificando e organizando

Arquivos e pastas organizados em uma hierarquia

Em sistemas de computador modernos, os arquivos são normalmente acessados ​​por meio de nomes (nomes de arquivos ). Em alguns sistemas operacionais, o nome está associado ao próprio arquivo. Em outros, o arquivo é anônimo e é apontado por links que possuem nomes. No último caso, um usuário pode identificar o nome do link com o próprio arquivo, mas isso é um falso análogo, especialmente onde existe mais de um link para o mesmo arquivo.

Os arquivos (ou links para arquivos) podem ser localizados em diretórios. No entanto, de forma mais geral, um diretório pode conter uma lista de arquivos ou uma lista de links para arquivos. Dentro desta definição, é de suma importância que o termo "arquivo" inclua diretórios. Isso permite a existência de hierarquias de diretório, ou seja, diretórios contendo subdiretórios. Um nome que se refere a um arquivo em um diretório deve ser normalmente exclusivo. Em outras palavras, não deve haver nomes idênticos em um diretório. No entanto, em alguns sistemas operacionais, um nome pode incluir uma especificação de tipo que significa que um diretório pode conter um nome idêntico para mais de um tipo de objeto, como um diretório e um arquivo.

Em ambientes nos quais um arquivo é nomeado, o nome de um arquivo e o caminho para o diretório do arquivo devem identificá-lo exclusivamente entre todos os outros arquivos no sistema de computador - dois arquivos não podem ter o mesmo nome e caminho. Quando um arquivo é anônimo, as referências nomeadas a ele existirão em um namespace. Na maioria dos casos, qualquer nome dentro do namespace se referirá a exatamente zero ou um arquivo. No entanto, qualquer arquivo pode ser representado em qualquer namespace por zero, um ou mais nomes.

Qualquer sequência de caracteres pode ser um nome bem formado para um arquivo ou link, dependendo do contexto do aplicativo. Se um nome é bem formado ou não, depende do tipo de sistema de computador que está sendo usado. Os primeiros computadores permitida apenas algumas letras ou dígitos no nome de um arquivo, mas os computadores modernos permitem nomes longos (alguns até 255 caracteres), contendo quase qualquer combinação de unicode letras ou dígitos unicode, tornando-o mais fácil de entender o propósito de um arquivo Num relance. Alguns sistemas de computador permitem que os nomes dos arquivos contenham espaços; outros não fazem. A distinção entre maiúsculas e minúsculas dos nomes de arquivo é determinada pelo sistema de arquivos . Os sistemas de arquivos Unix geralmente diferenciam maiúsculas de minúsculas e permitem que aplicativos de nível de usuário criem arquivos cujos nomes diferem apenas no caso de caracteres. O Microsoft Windows oferece suporte a vários sistemas de arquivos, cada um com políticas diferentes relacionadas à diferenciação de maiúsculas e minúsculas. O sistema de arquivos FAT comum pode ter vários arquivos cujos nomes diferem apenas no caso de o usuário usar um editor de disco para editar os nomes dos arquivos nas entradas do diretório . Os aplicativos do usuário, no entanto, geralmente não permitem que o usuário crie vários arquivos com o mesmo nome, mas diferindo em maiúsculas e minúsculas.

A maioria dos computadores organiza arquivos em hierarquias usando pastas, diretórios ou catálogos. O conceito é o mesmo, independentemente da terminologia usada. Cada pasta pode conter um número arbitrário de arquivos e também pode conter outras pastas. Essas outras pastas são chamadas de subpastas. As subpastas podem conter ainda mais arquivos e pastas e assim por diante, construindo assim uma estrutura em árvore na qual uma "pasta mestre" (ou "pasta raiz" - o nome varia de um sistema operacional para outro) pode conter qualquer número de níveis de outras pastas e arquivos. As pastas podem ser nomeadas da mesma forma que os arquivos (exceto para a pasta raiz, que geralmente não tem um nome). O uso de pastas facilita a organização dos arquivos de forma lógica.

Quando um computador permite o uso de pastas, cada arquivo e pasta tem não apenas um nome próprio, mas também um caminho, que identifica a pasta ou pastas nas quais um arquivo ou pasta reside. No caminho, algum tipo de caractere especial - como uma barra - é usado para separar os nomes de arquivo e pasta. Por exemplo, na ilustração mostrada neste artigo, o caminho / Folha de pagamento / Salários / Gerentes identifica exclusivamente um arquivo chamado Gerentes em uma pasta chamada Salários , que por sua vez está contido em uma pasta chamada Folha de pagamento . Os nomes da pasta e do arquivo são separados por barras neste exemplo; a pasta superior ou raiz não tem nome e, portanto, o caminho começa com uma barra (se a pasta raiz tivesse um nome, ele precederia a primeira barra).

Muitos sistemas de computador usam extensões em nomes de arquivo para ajudar a identificar o que eles contêm, também conhecido como tipo de arquivo. Em computadores Windows, as extensões consistem em um ponto (ponto) no final de um nome de arquivo, seguido por algumas letras para identificar o tipo de arquivo. Uma extensão de .txt identifica um arquivo de texto; uma extensão .doc identifica qualquer tipo de documento ou documentação, geralmente no formato de arquivo do Microsoft Word ; e assim por diante . Mesmo quando as extensões são usadas em um sistema de computador, o grau em que o sistema de computador as reconhece e as considera pode variar; em alguns sistemas, eles são obrigatórios, enquanto em outros sistemas, eles são completamente ignorados se forem apresentados.

Proteção

Muitos sistemas de computador modernos fornecem métodos para proteger arquivos contra danos acidentais e deliberados. Os computadores que permitem a vários usuários implementam permissões de arquivo para controlar quem pode ou não modificar, excluir ou criar arquivos e pastas. Por exemplo, um determinado usuário pode receber permissão apenas para ler um arquivo ou pasta, mas não para modificá-lo ou excluí-lo; ou um usuário pode receber permissão para ler e modificar arquivos ou pastas, mas não para executá-los. As permissões também podem ser usadas para permitir que apenas determinados usuários vejam o conteúdo de um arquivo ou pasta. As permissões protegem contra adulteração ou destruição não autorizada de informações em arquivos e mantém as informações privadas confidenciais de usuários não autorizados.

Outro mecanismo de proteção implementado em muitos computadores é um sinalizador somente leitura. Quando este sinalizador é ativado para um arquivo (o que pode ser feito por um programa de computador ou por um usuário humano), o arquivo pode ser examinado, mas não pode ser modificado. Este sinalizador é útil para informações críticas que não devem ser modificadas ou apagadas, como arquivos especiais que são usados ​​apenas por partes internas do sistema do computador. Alguns sistemas também incluem um sinalizador oculto para tornar certos arquivos invisíveis; este sinalizador é usado pelo sistema do computador para ocultar arquivos essenciais do sistema que os usuários não devem alterar.

Armazenar

Qualquer arquivo que tenha algum propósito útil deve ter alguma manifestação física. Ou seja, um arquivo (um conceito abstrato) em um sistema de computador real deve ter um análogo físico real para que possa existir.

Em termos físicos, a maioria dos arquivos de computador são armazenados em algum tipo de dispositivo de armazenamento de dados. Por exemplo, a maioria dos sistemas operacionais armazena arquivos em um disco rígido . Os discos rígidos têm sido a forma onipresente de armazenamento não volátil desde o início dos anos 1960. Quando os arquivos contêm apenas informações temporárias, eles podem ser armazenados na RAM . Arquivos de computador podem também ser armazenados em outros meios de comunicação, em alguns casos, tais como fitas magnéticas , discos compactos , Digital Versatile Discs , Zip drives , drives flash USB , etc. O uso de drives de estado sólido também está começando a rivalizar com a unidade de disco rígido.

Em sistemas operacionais do tipo Unix, muitos arquivos não têm nenhum dispositivo de armazenamento físico associado. Os exemplos são / dev / null e a maioria dos arquivos nos diretórios / dev , / proc e / sys . Esses são arquivos virtuais: eles existem como objetos dentro do kernel do sistema operacional.

Conforme visto por um programa de usuário em execução, os arquivos geralmente são representados por um bloco de controle de arquivo ou por um identificador de arquivo . Um bloco de controle de arquivo (FCB) é uma área da memória que é manipulada para estabelecer um nome de arquivo, etc., e então passada para o sistema operacional como um parâmetro; era usado por sistemas operacionais IBM mais antigos e sistemas operacionais de PC anteriores, incluindo CP / M e versões anteriores do MS-DOS . Um identificador de arquivo é geralmente um tipo de dados opaco ou um inteiro; foi introduzido por volta de 1961 pelo Burroughs MCP baseado em ALGOL rodando no Burroughs B5000, mas agora é onipresente.

Corrupção de arquivo

Foto de uma criança
Arquivo JPEG original
Arquivo JPEG corrompido, com um único bit invertido (alterado de 0 para 1 ou vice-versa)
Embora haja corrupção visível no segundo arquivo, ainda é possível ver a aparência da imagem original.

Quando se diz que um arquivo está corrompido, é porque seu conteúdo foi salvo no computador de tal forma que não pode ser lido corretamente, seja por um ser humano ou por um software. Dependendo da extensão do dano, o arquivo original pode às vezes ser recuperado ou pelo menos parcialmente compreendido. Um arquivo pode ser criado corrompido ou pode ser corrompido posteriormente por meio da substituição.

Existem muitas maneiras pelas quais um arquivo pode ser corrompido. Mais comumente, o problema ocorre no processo de gravação do arquivo em um disco . Por exemplo, se um programa de edição de imagens travar inesperadamente ao salvar uma imagem, esse arquivo pode ser corrompido porque o programa não pôde salvar sua totalidade. O próprio programa pode avisar o usuário de que houve um erro, permitindo outra tentativa de salvar o arquivo. Alguns outros exemplos de motivos pelos quais os arquivos foram corrompidos incluem:

Embora a corrupção de arquivos geralmente aconteça acidentalmente, também pode ser feita propositalmente , para enganar alguém fazendo-a pensar que uma tarefa estava pronta em uma data anterior, ganhando tempo para terminar a tarefa. Existem serviços que fornecem arquivos corrompidos sob demanda, que essencialmente preenchem um determinado arquivo com dados aleatórios para que ele não possa ser aberto ou lido, mas ainda assim parece legítimo.

Uma das medidas defensivas mais eficazes para a corrupção não intencional de arquivos é o backup de arquivos importantes. No caso de um arquivo importante ser corrompido, o usuário pode simplesmente substituí-lo pela versão do backup.

Cópia de segurança

Quando os arquivos do computador contêm informações extremamente importantes, um processo de backup é usado para proteger contra desastres que podem destruir os arquivos. Fazer backup de arquivos significa simplesmente fazer cópias dos arquivos em um local separado para que possam ser restaurados se algo acontecer ao computador ou se forem excluídos acidentalmente.

Existem várias maneiras de fazer backup de arquivos. A maioria dos sistemas de computador fornece programas utilitários para auxiliar no processo de backup, que pode se tornar muito demorado se houver muitos arquivos para proteger. Os arquivos são frequentemente copiados para mídia removível, como CDs graváveis ​​ou fitas de cartucho. Copiar arquivos para outro disco rígido no mesmo computador protege contra falha de um disco, mas se for necessário proteger contra falha ou destruição de todo o computador, as cópias dos arquivos devem ser feitas em outra mídia que possa ser retirada o computador e armazenado em um local seguro e distante.

O método de backup avô-pai-filho faz automaticamente três backups; o arquivo avô é a cópia mais antiga do arquivo e o filho é a cópia atual.

Sistemas de arquivos e gerenciadores de arquivos

A maneira como um computador organiza, nomeia, armazena e manipula arquivos é globalmente chamada de sistema de arquivos . A maioria dos computadores possui pelo menos um sistema de arquivos. Alguns computadores permitem o uso de vários sistemas de arquivos diferentes. Por exemplo, em computadores MS Windows mais novos, os sistemas de arquivos do tipo FAT mais antigos do MS-DOS e as versões antigas do Windows são suportados, além do sistema de arquivos NTFS que é o sistema de arquivos normal para as versões recentes do Windows. Cada sistema tem suas próprias vantagens e desvantagens. O FAT padrão permite apenas nomes de arquivo de oito caracteres (mais uma extensão de três caracteres) sem espaços, por exemplo, enquanto o NTFS permite nomes muito mais longos que podem conter espaços. Você pode chamar um arquivo de " registros da folha de pagamento " em NTFS, mas em FAT você ficaria restrito a algo como payroll.dat (a menos que esteja usando VFAT , uma extensão FAT que permite nomes de arquivo longos).

Os programas gerenciadores de arquivos são programas utilitários que permitem aos usuários manipular arquivos diretamente. Eles permitem que você mova, crie, exclua e renomeie arquivos e pastas, embora não permitam realmente que você leia o conteúdo de um arquivo ou armazene informações nele. Cada sistema de computador fornece pelo menos um programa gerenciador de arquivos para seu sistema de arquivos nativo. Por exemplo, o File Explorer (anteriormente Windows Explorer) é comumente usado em sistemas operacionais Microsoft Windows e o Nautilus é comum em várias distribuições do Linux.

Veja também

Referências

links externos