Modern OS are complex chaotic systems with almost no predictability. So unless you are using real-time systems* (such as those used by the military or launch rockets), it is impossible to estimate the exact time remaining (nor its rate of change) just like it's impossible to estimate the exact driving time from your home to workplace due to unpredictable traffic as our world is a chaotic system.<br><br>*real-time systems are difficult to program with and have a lot of limitations on what can be done due to its real time constraints. This makes it practically infeasible for noncritical applications in most consumer devices.