Домашня » як » Як Windows визначає кількість часу, необхідного для виконання дії з файлом?

    Як Windows визначає кількість часу, необхідного для виконання дії з файлом?

    Оцінок часу, що залишився, на Windows достатньо для того, щоб когось зводити з розуму, але ви колись замислювалися, як Windows визначає ці часи? Сьогоднішня посада SuperUser Q&A має деякі відповіді на цікаве, але розчароване запитання читача.

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..

    Windows 8.1 вікно передачі файлів скріншот люб'язно ім дійсно famecore.

    Питання

    Читач SuperUser 'Im really famecore' хоче знати, як Windows визначає кількість часу, необхідного для виконання операції з файлом:

    Я хотів би знати, чи існує рівняння, яке використовує Windows, щоб визначити, скільки часу потрібно для виконання дії з файлом, наприклад: видалення, копіювання, стирання або встановлення.

    Наприклад, коли я видаляю файл і Windows говорить Залишок часу: 18 секунд, як він обчислює це число, і що він використовує для його обчислення?

    Чи використовує Windows спеціальне рівняння, щоб визначити час, що залишився, щоб виконати операцію, або ж він просто надає оцінку "найкращого припущення"?

    Відповідь

    Співробітники SuperUser Valmiky Arquissandas і Richard мають відповідь для нас. Перший вгору, Valmiky Arquissandas:

    Ви помітили, що зазвичай не дають вам жодних оцінок протягом перших декількох секунд?

    Це відбувається тому, що протягом перших декількох секунд, це просто робить операцію, яку він повинен зробити. Потім, через короткий проміжок часу, він знає скільки він скопіював / видалив / і т.д., і як довго це тривало. Це дає вам Середня швидкість операції.

    Потім поділіть залишилися байти на швидкість, і у вас є час, необхідний для завершення операції.

    Це математика початкової школи. Якщо ви хочете подорожувати 360 км, і в кінці першої хвилини ви проїхали 1 км, скільки часу знадобиться, щоб дістатися до місця призначення?

    Ну, швидкість дорівнює 1 км / хв, тобто 60 км / год. 360 км, розділений на 60 км / год, дає оціночний час 6 годин (або 360 км / 1 км / хвилину = 360 хвилин = 6 годин). Оскільки ви вже проїхали одну хвилину, то розрахунковий час залишилося 5 годин і 59 хвилин.

    Замініть подорож копією, км з байтами, і це відповідає на ваше запитання.

    Різні системи мають різні способи оцінки часу. Ви можете взяти останню хвилину, і оцінки можуть сильно відрізнятися. Або ви можете взяти весь час, і якщо швидкість дійсно змінюється назавжди, ваші оцінки можуть бути далеко від реальності. Те, що я описав, є найпростішим методом.

    Далі йшла відповідь від Річарда:

    Якщо ви зацікавлені, це питання розповість вам про те, як Windows і OSX форматують час, що залишився на панелі прогресу, як тільки він має уявлення про те, скільки часу залишається..

    При скороченні часових виразів у діалогових вікнах прогрес вони повинні бути округлені вгору або вниз?

    Raymond Chen, розробник з команди Windows у Microsoft, підтверджує цей алгоритм (див. відповідь Валміки вище) у публікації на своєму блозі. Він також пояснює, чому це може бути неправильним.

    Чому діалог копіювання дає такі жахливі оцінки?


    Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.