Como o sistema operacional localiza arquivos no sistema de arquivos? [fechadas]

2

Estou curioso sobre como um sistema operacional encontra arquivos no sistema de arquivos.
Por exemplo, eu sei que no sistema de arquivos FAT existe um banco de dados dos arquivos.

Eu sei que o SO encontra arquivos muito rápido, então eu quero saber se usa pesquisa binária para passar pelo banco de dados FAT?
Ou existe um método mais rápido para fazer isso?

e existe um método para o sistema operacional para deduzir a localização dos arquivos no sistema de arquivos imediatamente sem procurar o banco de dados FAT?

    
por fiftyeight 29.07.2011 / 18:03

1 resposta

0

Honestamente ... essa pergunta tem muitas respostas ... muitas para enumerar aqui. Em grande parte isso depende do tipo do sistema de arquivos ... e do sistema operacional lendo ... e também quais recursos do sistema de arquivos estão habilitados.

Todo sistema de arquivos tem algum tipo de "banco de dados", como você descreveu para traduzir um nome / caminho para um ou mais locais no disco. Como esse "banco de dados" funciona é o que torna cada sistema de arquivos diferente. Alguns métodos são melhores para algumas tarefas do que outros. Alguns são mais recuperáveis & redundante no caso de uma falha ... alguns são estritamente orientados para a velocidade e quase não têm recuperação no caso de uma única falha.

Dependendo do sistema operacional e do tipo de sistema de arquivos, o "banco de dados" pode ser parcial ou totalmente carregado na memória RAM para ajudar a acelerar o processo de localização da posição no disco. Alguns sistemas de arquivos fazem uso de listas vinculadas & b-trees ou outros tipos de árvores ordenadas, a fim de localizar rapidamente os arquivos. O registro no diário também pode acelerar os processos de leitura / gravação dramaticamente (dadas as condições certas). Existem até sistemas de arquivos (principalmente proprietários) que realmente são um banco de dados.

A verdadeira questão é ... Por que você quer saber ... e o que você está tentando realizar? Se você quer respostas mais específicas ... dê mais detalhes sobre o sistema operacional / plataforma / arquivo de que você está falando.

    
por 29.07.2011 / 18:46