Utworzenie pliku 1,3 GB zajmuje tylko 1 sekundę. W jaki sposób?

44

Mam folder, który zawiera ponad 200 plików i ma rozmiar ponad 1,3 GB:

wprowadź opis zdjęcia tutaj

Korzystam z oprogramowania Gizmo Drive, aby utworzyć plik .iso z tego folderu.

wprowadź opis zdjęcia tutaj

Co ciekawe, zajmuje to tylko 1–2 sekundy !

wprowadź opis zdjęcia tutaj

Próbowałem tego kilka razy. Próbowałem nawet utworzyć plik .iso na innym woluminie. Ponownie zajmuje to tylko 1 lub 2 sekundy.

Próbowałem zamontować plik .iso, wszystko działa dobrze. Pomyślałem, że może to być plik .iso odwołujący się do folderu źródłowego, a następnie przeniosłem folder źródłowy w inne miejsce, ale bez powodzenia. Nawet skopiowanie wyprodukowanego pliku .iso zajmuje kilka minut!

Dlaczego więc utworzenie pliku .iso zajmuje tylko 1 sekundę! Czy masz na to jakieś wytłumaczenie?

Notatki

  1. Wszystkie testy przeprowadzane na zwykłym dysku twardym, bez dysku SSD.
  2. Korzystając z systemu Windows 7 x64, masz 16 gigabajtów, procesor Core i5.

Użyłem sync.exe do opróżnienia wszystkich danych systemu plików na dysk zaraz po utworzeniu pliku .iso, a sync.exe potrzebował 14 sekund na opróżnienie danych. Oznacza to, że utworzenie pliku .iso zajmuje 14 sekund. Szybki test porównawczy na moim dysku D: pokazuje, że może on zapisać ten sam plik .iso z dysku SSD na mój dysk D: w 14 sekund i że potwierdza, że ​​folder źródłowy znajduje się w pamięci RAM, a czyszczenie danych zajmuje 14 sekund. **

Ramazan Polat
źródło
28
Wiesz ... buforowanie.
mg30rg
1
Czy próbowałeś powtarzać po pełnym ponownym uruchomieniu komputera?
ADTC
1
Sugeruję również wypróbowanie innego oprogramowania, takiego jak CDBurnerXP, w celu utworzenia ISO i sprawdź, czy uzyskasz takie same wyniki. Mam również nadzieję, że D:nie jest to pamięć RAM - mało prawdopodobne, ale możliwe.
ADTC
1
Spróbuj uruchomić Synckomendę wymienioną tutaj po utworzeniu ISO, zobacz, jak długo to potrwa.
Barmar
1
@Barmar Użyłem Synchronizacji i możesz zobaczyć wynik w ostatnim akapicie pytania. Dziękuję Ci.
Ramazan Polat

Odpowiedzi:

69

Dzięki 16 GB pamięci RAM prawdopodobnie masz dużo wolnego miejsca na buforowanie dysku. System operacyjny najprawdopodobniej właśnie buforował całkowicie pamięć RAM. zostanie zapisany na dysk później, ale aplikacje nie muszą na to czekać.

Wyzard - Stop Harming Monica--
źródło
42
Tak, jeśli wyłączyć komputer bez robienia właściwego zamykania, dane, które zostały niedawno napisana przez aplikacje mogą nie być faktycznie zostały jeszcze zapisane na dysku.
Wyzard
3
Nie zajmuje dużo czasu, aby „zarezerwować” miejsce w systemie plików, zrobiłem to dla bardzo dużych plików w C ++ (kilka TB), szukając ostatniego bajtu przesunięcia pliku od początku - natychmiastowa alokacja plików wielu terrabajtów ; w rzeczywistości zapisanie tak dużej ilości informacji zajmuje trochę czasu, ale w systemie Windows 7 pliki są buforowane w „wolnej” pamięci - pliki wcześniej odczytane lub zapisane zostaną zachowane jako strony, dopóki nie pojawi się presja pamięci, aby zwolnić strony przy założeniu, że plik najprawdopodobniej być potrzebnym było ostatnio używane - jest to nowość w systemie Windows 7.
Michael Stimson
10
Nie odczytał plików źródłowych ... są już buforowane w pamięci RAM, ponieważ ostatnio do nich dostęp. Uruchom ponownie, aby wyczyścić pamięć podręczną, a następnie spróbuj utworzyć plik ISO, a będzie on wolniejszy.
psusi
8
Wchodzi stażysta Microsoft. Mój menedżer dużo pracował na NTFS i powiedział mi (IIRC), że od momentu połączenia do momentu, gdy dane zaczną uderzać w kontroler dysku, może upłynąć całe szesnaście sekund . W tym czasie wywołania odczytu / zapisu będą odnosić się do wersji w pamięci. Flaga zapisu pozwoli ci ominąć pamięć podręczną systemu Windows, ale nadal jesteś na łasce pamięci podręcznej kontrolera dysku. WriteFile
zneak
2
Jeśli skopiujesz plik na inny dysk, skopiujesz prawidłowe dane z pamięci podręcznej, nawet jeśli nie zostały jeszcze zapisane na dysku. Cały dostęp do plików przechodzi przez pamięć podręczną dysku systemu operacyjnego, więc system operacyjny może przedstawić poprawny i spójny widok tego, co zostało zapisane w systemie plików, nawet jeśli rzeczywisty zapis na dysku fizycznym nie został jeszcze zakończony. (I nie jestem pewien, co masz na myśli przez zapisywanie wszystkich zer - wartość bajtów nie wpływa na to, jak szybko można je zapisać w pamięci RAM.)
Wyzard