Dlaczego menedżerowie plików nie używają głównej tabeli plików do natychmiastowych wyników wyszukiwania? [Zamknięte]

27

Właśnie odkryłem UltraSearch i zaskoczyła mnie szybkość wyszukiwania plików i folderów. To jest natychmiastowe . I nie korzysta z żadnej usługi indeksowania. Po prostu używa głównej tabeli plików NTFS , która już przechowuje wszystkie nazwy plików na partycji NTFS.

Pytanie brzmi, dlaczego nie jest to zdolność sposób bardziej popularne wśród menedżerów plików i Windows Explorer Search (Win + F), aby rozpocząć?

Dan Dascalescu
źródło
2
Zobacz także Everything by VoidTools, który robi to samo.
David d C e Freitas
1
Świetni faceci zamykający pytanie z ponad 20 pozytywnymi ocenami jako „nie konstruktywni”!
Dan Dascalescu

Odpowiedzi:

29

Ze względu na bezpieczeństwo!

To jest prawdziwy powód. (I jedyny prawdziwy powód, moim zdaniem - nie jest tak trudno zrobić czytnik dla dużych systemów plików, chociaż nie jest to wcale łatwe; stworzenie pisarza to prawdziwe wyzwanie.)

Taki program omija całą infrastrukturę bezpieczeństwa systemu (plików), więc tylko administrator (lub ktoś inny, kto ma uprawnienia „Zarządzaj woluminem”) może go uruchomić.

Oczywiście nie zadziałałoby to w wielu scenariuszach - i nie sądzę, że Microsoft (lub jakakolwiek inna duża firma) kiedykolwiek pomyślałaby o stworzeniu takiego produktu, a następnie zachęceniu użytkowników do działania jako administratorzy , ze względu na konsekwencje bezpieczeństwa.

To byłoby teoretycznie możliwe, aby system, który działa w tle i odfiltrowuje zabezpieczonych danych, ale w praktyce byłoby to dużo pracy, aby uzyskać poprawne i bez dziur bezpieczeństwa dla produkcji.

Nawiasem mówiąc, nie korzystałem z UltraSearch, ale kilka lat temu sam napisałem bardzo podobny program, który otworzyłem w zeszłym miesiącu! Sprawdź, jeśli jesteś zainteresowany. :)

Mehrdad
źródło
1
To nie wydaje się słusznym powodem. System operacyjny może wyświetlać widok dla niezabezpieczonego wyszukiwania, tak jak DMBS. Interfejs API lub ograniczony widok powinien umożliwiać publiczny dostęp do plików publicznych. A jeśli tabela plików nie wie nic o bezpieczeństwie różnych katalogów, prawdopodobnie jest to zły projekt po zakończeniu projektowania systemu operacyjnego
LifeH2O
@ LifeH2O: Problem polega na tym, że dodanie kontroli bezpieczeństwa będzie ogromnym hitem wydajności, który całkowicie pokonuje cel narzędzia.
Mehrdad
1
W jaki sposób wydajność może być ważniejsza niż skanowanie katalogów? Konieczne będzie sprawdzenie tylko bezpieczeństwa wewnętrznych katalogów. Nie wiem, ile można zrobić z tabelą plików Windows.
LifeH2O
1
@ LifeH2O: Czy zastanawiałeś się, jak skomplikowane jest „sprawdzenie” czegoś? Użytkownicy należą do wielu grup, grupy i użytkownicy mogą mieć uprawnienia zezwalające / odmawiające / na dowolny katalog w łańcuchu lub na sam plik, a Ty musisz ustalić efektywne uprawnienia dla bieżącego użytkownika na każdym pliku za pomocą jego ACL . Teraz dodaj do tego wymaganą synchronizację z podsystemem menedżera bezpieczeństwa jądra, a ogromne zyski osiągniesz po prostu „sprawdzając” wszystkie pliki.
Mehrdad
1
Musisz podać coś autorytatywnego wskazującego na to, co mówisz, w przeciwnym razie ludzie nie będą w stanie odróżnić spekulacji od informacji. Zgadzam się z innymi, to czysto spekulacje.
user34660,
6

Menedżery plików muszą być w stanie obsługiwać każdy pojedynczy system plików, który można napotkać. W związku z tym muszą wywoływać system VFS za pośrednictwem interfejsu API . Nie ma (rozsądnego) sposobu na zwrócenie dużej tablicy z wywołania API, co powoduje, że wyliczenie pliku jest szeregowe, niezależnie od obecności MFT / FAT / superblock.

Ignacio Vazquez-Abrams
źródło
1
Gdybyś był programistą, wiedziałbyś, jak interfejsy API zarządzają dużymi ilościami danych, tak jak mówisz. I nie, program do wyszukiwania nie jest wymagany do obsługi wielu systemów plików.
user34660,
@ user34660: Mają dwie możliwości: 1) Użyj wyliczenia. 2) Pracuj bardzo wolno podczas obsługi bardzo dużych zestawów danych. Narzędzie wyszukiwania, które obsługuje tylko jeden system plików, ma bardzo ograniczone zastosowanie.
Ignacio Vazquez-Abrams,
3

Usługa indeksowania plików jest przeznaczona dla użytkowników, którzy chcieliby przeszukiwać zawartość (najprawdopodobniej tekst) i metadane plików, a nie tylko nazwę pliku. Dlatego przejście wszystkich plików zajmuje dużo czasu, a indeks zbudowany z takich usług jest duży i stosunkowo wolny. Możesz wyłączyć usługę indeksowania w systemie Windows, ale Eksplorator Windows jest na tyle głupi, aby przeszukiwać zawartość pliku po nazwach plików. Jak powiedział Ignacio Vazquez-Abrams, menedżerowie plików nie mogą korzystać z niskiego poziomu systemu plików.

neo
źródło