Perché i file manager non usano la tabella dei file master per risultati di ricerca istantanei? [chiuso]


27

Ho appena scoperto UltraSearch ed è stato spazzato via dalla sua velocità di ricerca di file e cartelle. E ' istantanea . E non utilizza alcun servizio di indicizzazione. Utilizza semplicemente la tabella dei file master NTFS , che contiene già tutti i nomi di file sulla partizione NTFS.

La domanda è: perché questa funzionalità non è molto più popolare tra i file manager e Windows Explorer Search (Win + F) per cominciare?


2
Vedi anche Tutto di VoidTools che fa la stessa cosa.
David d C e Freitas,

1
Ottimo lavoro ragazzi che chiudono una domanda con oltre 20 voti come "non costruttivo"!
Dan Dascalescu il

Risposte:


29

Per motivi di sicurezza!

Questa è la vera ragione. (E l' unica vera ragione, secondo me - non è così difficile creare un lettore per i principali file system, anche se non è affatto facile; fare uno scrittore è la vera sfida.)

Un programma come questo ignora l'intera infrastruttura di sicurezza del sistema (file), quindi solo un amministratore (o qualcun altro che ha i privilegi di "Gestisci volume") può effettivamente eseguirlo.

Quindi, ovviamente, non funzionerebbe in molti scenari - e non credo che Microsoft (o qualsiasi altra grande azienda) prenderebbe mai in considerazione l'idea di realizzare un prodotto come questo e quindi di incoraggiare gli utenti a correre come amministratori , a causa delle implicazioni di sicurezza.

Si sarebbe teoricamente possibile realizzare un sistema che viene eseguito in background e filtra i dati protetti, ma in pratica sarebbe un sacco di lavoro per ottenere buchi di sicurezza corretti e senza per la produzione.

A proposito, non ho usato UltraSearch, ma alcuni anni fa avevo scritto un programma molto simile, che ho aperto da solo il mese scorso! Dai un'occhiata se sei interessato. :)


1
Questo non sembra una ragione giusta. Il sistema operativo può fornire una vista per la ricerca non protetta proprio come un DMBS. Un'API o una vista ristretta dovrebbero consentire l'accesso pubblico ai file pubblici. E se la tabella dei file non conosce nulla sulla sicurezza di directory diverse da quella che probabilmente è una cattiva progettazione alla fine della progettazione del sistema operativo
LifeH2O

@ LifeH2O: Il problema è che l'aggiunta di controlli di sicurezza sarà un enorme successo in termini di prestazioni, che sconfigge completamente il punto dello strumento.
Mehrdad,

1
In che modo l'hit di prestazioni può essere più che la scansione delle directory? Sarà necessario controllare solo la sicurezza delle directory interne. Non so quanto si possa fare con la tabella dei file di Windows.
LifeH2O

1
@ LifeH2O: Hai considerato quanto sia complicato "controllare" qualcosa? Gli utenti appartengono a più gruppi, i gruppi e gli utenti possono disporre di autorizzazioni non consentite / negate / nessuna delle autorizzazioni su alcune directory della catena o sul file stesso e è necessario individuare le autorizzazioni effettive per l'utente corrente su ciascun file utilizzando l'ACL . Ora aggiungi a questo la sincronizzazione richiesta con il sottosistema del gestore della sicurezza del kernel, e otterrai enormi prestazioni solo "controllando" tutti i file.
Mehrdad,

1
Devi fornire qualcosa di autorevole che indichi ciò che stai dicendo, altrimenti le persone non possono differenziare la speculazione dalle informazioni. Sono d'accordo con gli altri, questa è puramente speculazione.
user34660

6

I file manager devono essere in grado di supportare ogni singolo filesystem che si potrebbe incontrare. Pertanto, devono chiamare il VFS tramite la sua API . Non esiste un modo (sano) per restituire un array di grandi dimensioni da una chiamata API, il che comporta che l'enumerazione dei file sia seriale indipendentemente dalla presenza di un MFT / FAT / superblock.


1
Se tu fossi un programmatore, allora sapresti come le API gestiscono grandi quantità di dati come dici tu. E no, non è necessario un programma di ricerca per supportare più file system.
user34660

@ user34660: hanno due opzioni: 1) Usa l'enumerazione. 2) Eseguire molto lentamente quando si gestiscono set di dati molto grandi. E uno strumento di ricerca che supporta solo un singolo filesystem è di utilità molto limitata.
Ignacio Vazquez-Abrams il

3

Il servizio di indicizzazione dei file è rivolto agli utenti che desiderano cercare contenuti (molto probabilmente testo) e metadati di file, non semplicemente nomi di file. Ecco perché ci vuole molto tempo per percorrere tutti i file e l'indice creato da tali servizi è grande e relativamente lento. Puoi disabilitare il servizio di indicizzazione in Windows ma Windows Explorer è abbastanza stupido da continuare a cercare il contenuto dei file dopo i nomi dei file. Come ha detto Ignacio Vazquez-Abrams, i file manager non possono trarre vantaggio dal file system di basso livello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.