2Sep

W jaki sposób system Windows określa ilość czasu potrzebną do wykonania działania z plikiem?

how-does-windows-określa-ilość-czasu-bierze-do-wykonania-akcji-z-plikiem-00

Oszacowanie czasu pozostające w systemie Windows wystarcza, by czasami doprowadzić do szaleństwa, ale czy kiedykolwiek zastanawiałeś się, jak system Windows określa te czasy? Dzisiejszy post SuperUser Q & A ma kilka odpowiedzi na ciekawe, ale sfrustrowane pytanie czytelnika.

Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.

Windows 8.1 okno transferu plików screenshot dzięki uprzejmości im really famecore.

Pytanie Czytnik

SuperUser "im really famecore" chce wiedzieć, jak system Windows określa czas potrzebny na wykonanie operacji z plikiem:

Chciałem wiedzieć, czy istnieje równanie używane przez system Windows do określenia, jak długo to trwa.wykonuje czynność z plikiem takim jak: usuwanie, kopiowanie, usuwanie lub instalowanie.

how-does-windows-określa-ilość-czasu-bierze-do-wykonania-akcji-z-plikiem-01

Na przykład, gdy usuwam plik, a system Windows mówi: Pozostały czas: 18 sekund , w jaki sposób oblicza się tę liczbę i co wykorzystuje do jej obliczenia?

Czy system Windows używa specjalnego równania w celu określenia czasu pozostałego do wykonania operacji, czy też zapewnia jedynie oszacowanie "najlepszego prawdopodobieństwa"?

Odpowiedź Odpowiedzi

SuperUser Valmiky Arquissandas i Richard mają dla nas odpowiedź.Najpierw Valmiky Arquissandas:

Czy zauważyłeś, że zazwyczaj nie daje żadnych szacunków w ciągu pierwszych kilku sekund?

Dzieje się tak dlatego, że przez pierwsze kilka sekund po prostu wykonuje operację, którą musi wykonać.Następnie, po krótkim czasie, wie jak dużo już skopiowało /deleted/ itp. , i jak długo trwało .To daje średnią prędkość operacji.

Następnie podziel pozostałe bajty przez prędkość i masz czas potrzebny na dokończenie operacji.

To jest matematyka w szkole podstawowej. Jeśli chcesz podróżować 360 km, a pod koniec pierwszej minuty przejechałeś 1 km, ile czasu zajmie Ci dotarcie do celu?

Prędkość wynosi 1 km / minutę, czyli 60 km / h.360 km podzielone przez 60 km / godzinę daje szacowany czas 6 godzin( lub 360 km / 1 km / minutę = 360 minut = 6 godzin).Ponieważ podróżowałeś już przez minutę, pozostały szacunkowy czas to 5 godzin i 59 minut.

Podróż zastępcza z kopią, km z bajtami, która odpowiada na twoje pytanie.

Różne systemy mają różne sposoby szacowania czasu. Możesz wziąć ostatnią minutę, a szacunki mogą się znacznie różnić.Lub możesz wziąć cały czas, a jeśli prędkość rzeczywiście zmienia się na stałe, twoje prognozy mogą być dalekie od rzeczywistości. To, co opisałem, jest najprostszą metodą.

Po odpowiedzi od Richarda:

Jeśli jesteś zainteresowany, to pytanie wyjaśnia, w jaki sposób system Windows i OSX formatuje czas pozostały na pasku postępu, gdy tylko ma pojęcie, ile czasu pozostało.

Czy podczas skracania wyrażeń czasowych w okienkach postępu należy je zaokrąglać w górę lub w dół?

Raymond Chen, programista zespołu Windows w firmie Microsoft, potwierdza ten algorytm( , patrz odpowiedź Valmiky powyżej ) w swoim blogu. Wyjaśnia również, dlaczego może być nie tak.

Dlaczego okno dialogowe kopiowania podaje tak okropne dane szacunkowe?

Czy chcesz coś dodać do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.