2Sep

Πώς τα Windows καθορίζουν το χρόνο που απαιτείται για την εκτέλεση μιας ενέργειας με ένα αρχείο;

πώς-κάνει-παράθυρα-καθορίσει-το-ποσό-του-χρόνου-παίρνει-να-εκτελεί-μια-δράση-με-α-αρχείο-00

Οι εκτιμήσεις «χρόνου παραμονής» στα Windows είναι αρκετές για να οδηγήσουν οποιονδήποτε τρελό κατά περιόδους, αλλά έχετε αναρωτηθεί ποτέ πώς τα Windows καθορίζουν εκείνες τις στιγμές;Η σημερινή δημοσίευση του χρήστη SuperUser Q & A έχει μερικές απαντήσεις για μια περίεργη, αλλά απογοητευμένη ερώτηση του αναγνώστη.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Windows 8.1 screenshot μεταφορά εικόνας παράθυρο ευγένεια της im πραγματικά famecore.

Η ερώτηση

SuperUser αναγνώστης «im πραγματικά famecore» θέλει να ξέρει πώς τα Windows καθορίζει το χρονικό διάστημα που θα χρειαστεί για να εκτελέσετε μια εργασία με ένα αρχείο:

Ήθελα να μάθω αν υπάρχει μια εξίσωση που τα Windows χρησιμοποιεί για να καθορίσει πόσο καιρόαπαιτεί ενέργεια με ένα αρχείο όπως: διαγραφή, αντιγραφή, διαγραφή ή εγκατάσταση.

πώς-κάνει-παράθυρα-καθορίσει-το-ποσό-του-χρόνου-it-παίρνει-να-εκτελεί-a-action-with-a-file-01

Για παράδειγμα, όταν διαγράψω ένα αρχείο και τα Windows λένε

Ο χρόνος που απομένει: 18 δευτερόλεπτα , πώς υπολογίζεται αυτός ο αριθμός και τι χρησιμοποιεί για να τον υπολογίσει;

Χρησιμοποιούν τα Windows μια ειδική εξίσωση για να καθορίσουν το χρόνο που απομένουν για να εκτελέσουν μια ενέργεια ή προσφέρουν απλώς μια εκτίμηση "καλύτερης εκτίμησης";

Οι συνεργάτες της απάντησης

SuperUser Valmiky Arquissandas και Richard έχουν την απάντηση για εμάς.Αρχικά, Valmiky Arquissandas:

Έχετε παρατηρήσει ότι συνήθως δεν σας δίνει εκτιμήσεις κατά τα πρώτα λίγα δευτερόλεπτα;

Αυτό συμβαίνει επειδή κατά τη διάρκεια των πρώτων δευτερολέπτων, κάνει ακριβώς τη λειτουργία που πρέπει να κάνει.Στη συνέχεια, μετά από ένα μικρό χρονικό διάστημα, ξέρει πόσα έχει ήδη αντιγράψει /deleted/ κλπ , και πόσο καιρό πήρε .Αυτό σας δίνει τη μέση ταχύτητα της λειτουργίας.

Στη συνέχεια, διαιρέστε τα υπόλοιπα bytes με την ταχύτητα και έχετε το χρόνο που θα χρειαστεί για να ολοκληρωθεί η διαδικασία.

Αυτό είναι μαθηματικό δημοτικού σχολείου.Εάν θέλετε να ταξιδέψετε 360 χλμ. Και στο τέλος της πρώτης στιγμής που έχετε ταξιδέψει 1 χλμ., Πόσο χρόνο θα σας φτάσει για να φτάσετε στον προορισμό σας;

Η ταχύτητα είναι 1 χλμ. / Λεπτό, έτσι είναι 60 χλμ. / Ώρα.360 χλμ. Διαιρούμενο με 60 χλμ. / Ώρα, σας παρέχει μια αναμενόμενη διάρκεια 6 ωρών( ή 360 χλμ / 1 χλμ. / Λεπτό = 360 λεπτά = 6 ώρες).Δεδομένου ότι έχετε ήδη ταξιδέψει για ένα λεπτό, τότε ο αναμενόμενος χρόνος είναι 5 ώρες και 59 λεπτά.

Αντικατάσταση ταξίδι με αντίγραφο, km με bytes, και αυτό απαντά στην ερώτησή σας.

Τα διαφορετικά συστήματα έχουν διαφορετικούς τρόπους εκτίμησης του χρόνου.Μπορείτε να πάρετε την τελευταία στιγμή και οι εκτιμήσεις μπορεί να διαφέρουν άγρια.Ή μπορείτε να πάρετε το πλήρες ωράριο, και αν η ταχύτητα στην πραγματικότητα αλλάζει μόνιμα, οι εκτιμήσεις σας μπορεί να είναι μακριά από την πραγματικότητα.Αυτό που περιέγραψα είναι η απλούστερη μέθοδος.

Ακολουθούμενη από την απάντηση από τον Richard:

Αν σας ενδιαφέρει, αυτή η ερώτηση σας λέει πώς τα Windows και OSX διαμορφώνουν το χρόνο που απομένει στη γραμμή προόδου μόλις έχει ιδέα πόσο καιρό έχει παραμείνει.

Κατά τη συντόμευση των διαλόγων χρονικών εκφράσεων σε εξέλιξη, θα πρέπει να στρογγυλοποιούνται προς τα επάνω ή προς τα κάτω;

Ο Raymond Chen, ένας προγραμματιστής στην ομάδα των Windows στη Microsoft, επιβεβαιώνει αυτόν τον αλγόριθμο( βλέπε την απάντηση του Valmiky παραπάνω ) σε μια ανάρτηση στο blog του.Εξηγεί επίσης γιατί μπορεί να είναι λάθος.

Γιατί το διάλογο αντιγραφής δίνει τέτοιες τρομερές εκτιμήσεις;

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.