Por que os gerenciadores de arquivos não usam a Tabela mestre de arquivos para resultados de pesquisa instantânea? [fechadas]

27

Acabei de descobrir o UltraSearch e fiquei impressionado com a velocidade de pesquisa de arquivos e pastas. É instantâneo . E não usa nenhum serviço de indexação. Ele simplesmente usa a tabela de arquivos mestre do NTFS , que já armazena todos os nomes de arquivos na partição NTFS.

A questão é, por que não é esta capacidade maneira mais popular entre os gerenciadores de arquivos, e Windows Explorer Search (Win + F) para começar?

Dan Dascalescu
fonte
2
Veja também Everything by VoidTools, que faz a mesma coisa.
David d C e Freitas
1
Bom pessoal, fechando uma pergunta com mais de 20 upvotes como "não construtivos"!
Dan Dascalescu

Respostas:

29

Por causa da segurança!

Essa é a verdadeira razão. (E a única verdadeira razão, na minha opinião - não é que difícil fazer um leitor para os principais sistemas de arquivos, embora seja de modo algum fácil, fazendo um escritor é o verdadeiro desafio.)

Um programa como esse ignora toda a infra-estrutura de segurança do sistema (arquivo), para que apenas um administrador (ou alguém com privilégios de "Gerenciar volume") possa executá-lo.

Então, obviamente, isso não funcionaria em muitos cenários - e eu não acho que a Microsoft (ou qualquer outra grande empresa) considere criar um produto como esse e encoraje os usuários a executarem como administradores , por causa das implicações de segurança.

Ele iria ser teoricamente possível fazer um sistema que roda em segundo plano e filtra dados seguros, mas, na prática, seria um monte de trabalho para obter falhas de segurança corretos e sem para a produção.

A propósito, eu não usei o UltraSearch, mas eu mesmo escrevi um programa muito parecido há alguns anos atrás, que desenvolvi em código aberto apenas no mês passado! Confira se você estiver interessado. :)

Mehrdad
fonte
1
Isso não parece um motivo certo. O sistema operacional pode oferecer uma pesquisa não segura, como um DMBS. Uma API ou uma exibição restrita deve conceder acesso público a arquivos públicos. E se a tabela de arquivo não sabe nada sobre a segurança dos diretórios diferentes do que é provavelmente ruim projeto no final design OS
LifeH2O
@ LifeH2O: O problema é que a adição de verificações de segurança será um enorme impacto no desempenho, o que derrota completamente o objetivo da ferramenta.
Mehrdad 24/05
1
Como o impacto no desempenho pode ser mais do que verificar diretórios? Somente a segurança dos diretórios internos precisará ser verificada. Não sei quanto pode ser feito com a tabela de arquivos do Windows.
LifeH2O
1
@ LifeH2O: Você já pensou em como é complicado "verificar" alguma coisa? Os usuários pertencem a vários grupos, os grupos e os usuários podem ter permissões de permissão / negação / nem em algum diretório da cadeia ou no próprio arquivo, e você precisa descobrir as permissões efetivas para o usuário atual em cada arquivo usando sua ACL . Agora, adicione a isso a sincronização necessária com o subsistema de gerenciador de segurança do kernel, e você obterá resultados de desempenho massivos apenas "verificando" todos os arquivos.
Mehrdad
1
Você precisa fornecer algo autoritário indicando o que está dizendo, caso contrário, as pessoas não podem diferenciar especulação de informação. Concordo com os outros, isso é puramente especulação.
user34660
6

Os gerenciadores de arquivos precisam suportar todos os sistemas de arquivos que podem ser encontrados. Como tal, eles precisam chamar o VFS por meio de sua API . Não existe uma maneira (sã) de retornar uma matriz grande de uma chamada de API, o que resulta na enumeração do arquivo ser serial, independentemente da presença de um superblock MFT / FAT /.

Ignacio Vazquez-Abrams
fonte
1
Se você fosse um programador, saberia como as APIs gerenciam grandes quantidades de dados, como você diz. E não, um programa de pesquisa não é necessário para suportar vários sistemas de arquivos.
user34660
@ user34660: Eles têm duas opções: 1) Usar enumeração. 2) Execute muito lentamente ao lidar com conjuntos de dados muito grandes. E uma ferramenta de pesquisa que suporta apenas um único sistema de arquivos é de utilidade muito limitada.
Ignacio Vazquez-Abrams
3

O serviço de indexação de arquivos é para usuários que desejam pesquisar conteúdo (provavelmente texto) e metadados de arquivos, não apenas o nome do arquivo. É por isso que demora muito tempo a percorrer todos os arquivos e o índice criado a partir desses serviços é grande e relativamente lento. Você pode desativar o serviço de indexação no Windows, mas o Windows Explorer é estúpido o suficiente para continuar pesquisando o conteúdo do arquivo após os nomes dos arquivos. Como Ignacio Vazquez-Abrams disse, os gerenciadores de arquivos não podem tirar proveito do sistema de arquivos de baixo nível.

neo
fonte