Bagaimana Windows Menentukan Jumlah Masa yang Dibawa untuk Melakukan Tindakan dengan Fail?
Anggaran 'baki masa' pada Windows cukup untuk memandu orang gila pada masa-masa, tetapi adakah anda pernah tertanya-tanya bagaimana Windows menentukan masa-masa itu? Jawatan Q & A SuperUser hari ini mempunyai beberapa jawapan untuk soalan pembaca yang ingin tahu, namun frustrasi.
Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.
Windows 8.1 tangkapan skrin pemindahan gambar ihsan daripada saya benar-benar terkenal.
Soalan
Pembaca SuperUser 'im really famecore' ingin tahu bagaimana Windows menentukan jumlah masa yang diperlukan untuk melakukan operasi dengan fail:
Saya ingin tahu sama ada terdapat persamaan yang digunakan oleh Windows untuk menentukan berapa lama masa yang diperlukan untuk melakukan tindakan dengan fail seperti: memadam, menyalin, memadam, atau memasang.
Sebagai contoh, apabila saya memadam fail dan kata Windows Baki masa: 18 saat, bagaimana ia mengira nombor ini, dan apa yang digunakan untuk mengiranya?
Adakah Windows menggunakan persamaan khas untuk menentukan masa yang tinggal untuk melaksanakan operasi, atau adakah ia hanya memberikan anggaran 'best guess'?
Jawapan
Penyumbang SuperUser Valmiky Arquissandas dan Richard mempunyai jawapan untuk kami. Pertama, Valmiky Arquissandas:
Pernahkah anda perasan bahawa ia biasanya tidak memberi sebarang anggaran semasa beberapa saat pertama?
Itulah kerana dalam beberapa saat pertama, ia hanya melakukan operasi yang perlu dilakukannya. Kemudian, selepas masa yang singkat, ia tahu berapa banyak yang telah disalin / dipadam / sebagainya, dan berapa lama ia mengambil masa. Itu memberikan anda kelajuan purata daripada operasi.
Kemudian, bahagikan baki baki dengan kelajuan, dan anda mempunyai masa yang diperlukan untuk menyelesaikan operasi.
Ini adalah matematik sekolah rendah. Sekiranya anda ingin bergerak 360 km, dan pada akhir minit pertama anda telah mengembara 1 km, berapa lama ia akan membawa anda untuk sampai ke destinasi anda?
Nah, kelajuan adalah 1 km / minit, jadi 60 km / jam. 360 km dibahagikan dengan 60 km / jam memberikan anda masa yang dianggarkan sebanyak 6 jam (atau 360 km / 1 km / minit = 360 minit = 6 jam). Oleh kerana anda telah pun mengembara selama satu minit, maka anggaran masa yang tinggal adalah 5 jam dan 59 minit.
Perjalanan pengganti dengan salinan, km dengan bait, dan itu menjawab soalan anda.
Sistem yang berbeza mempunyai cara yang berbeza untuk menganggarkan masa. Anda boleh mengambil minit terakhir dan anggaran mungkin berbeza-beza. Atau anda boleh mengambil masa penuh, dan jika kelajuan sebenarnya berubah secara kekal, anggaran anda mungkin jauh dari realiti. Apa yang saya nyatakan adalah kaedah yang paling mudah.
Diikuti oleh jawapan daripada Richard:
Jika anda berminat, soalan ini memberitahu anda bagaimana Windows dan OSX memformat masa yang tersisa ke bar kemajuan sebaik sahaja ia mempunyai idea berapa lama ia masih ada.
Apabila memendekkan ungkapan masa dalam dialog kemajuan, sekiranya mereka dibundarkan atau turun?
Raymond Chen, pemaju pada pasukan Windows di Microsoft, mengesahkan algoritma ini (lihat jawapan Valmiky di atas) dalam catatan di blognya. Dia juga menjelaskan mengapa ia salah.
Kenapa dialog salin memberikan anggaran yang mengerikan itu?
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.