Windows update
Moderator: Moderator Team
Windows update
Well i'm just in hell waiting for this windows update to finish. Why does it take 10 hours.
ReactOS Donator ~ $5.00 | Linux Mint Donator ~ $1.00 in BTC
- Fraizeraust
- Posts: 234
- Joined: Thu Jan 05, 2017 11:46 am
- Location: Italy
- Contact:
Re: Windows update
Windows Update, by its core design, it is a very sophisticated component which means it is also very complex. Windows Update uses Component-Based Servicing which has to work tremendously to determine the files, components and the dependencies as well as allowing you to uninstall certain updates without breaking other components.
Furthermore, for WU in order to fetch the list of updates for you, Windows Update must check carefully your hardware, the OS and its components. There are like a gazillion of hardware combinations that WU must take care of . What's worse is, with the release of Windows 10, the latest OS of Microsoft has more priority over previous releases at checking for updates. It'll be a burden for people who use Windows 7.
As for the installation of the updates, if your PC isn't that powerful then expect to wait a considerable time until all of them are installed successfully. I've used Windows 7 in the past and turns out that when I check/install updates the first core seems to max out.
Furthermore, for WU in order to fetch the list of updates for you, Windows Update must check carefully your hardware, the OS and its components. There are like a gazillion of hardware combinations that WU must take care of . What's worse is, with the release of Windows 10, the latest OS of Microsoft has more priority over previous releases at checking for updates. It'll be a burden for people who use Windows 7.
As for the installation of the updates, if your PC isn't that powerful then expect to wait a considerable time until all of them are installed successfully. I've used Windows 7 in the past and turns out that when I check/install updates the first core seems to max out.
a.k.a. GeoB99 -- ReactOS Kernel developer -- My Wiki page
Re: Windows update
Windows Update is written by sadists, that hate Windows. In past, I have been experiencing so many frustration and lost so many nerves because of it. It's the most annoying and uncomfortable thing in the Windows realm. Once it was so slow on a new installation of Windows 7 and upgraded hardware, that I decided that my motherboard chipset cannot deal with the freshly bought 8GB 4x DDR2 memory modules and pulled them out. Only after a lot of time, I've realized that was a Windows Update just so slow. sooooo f&&&&&cking slooow.
If one takes all the time Windows Update takes to do its stuff per its session, and translate it into the computational power spent, I bet, it would be enough to decipher the whole human genome. Looking at the constant CPU load and no network activity, no I/O, you think it just barely loops while(TRUE) cycle. Yes, I know it dumps huge chunks on disk periodically during the session (of course, sitting hours staring at the monitor hopelessly, one could learn everything about its sadistic behavior), but the most time it's a pure CPU load without anything else.
If one takes all the time Windows Update takes to do its stuff per its session, and translate it into the computational power spent, I bet, it would be enough to decipher the whole human genome. Looking at the constant CPU load and no network activity, no I/O, you think it just barely loops while(TRUE) cycle. Yes, I know it dumps huge chunks on disk periodically during the session (of course, sitting hours staring at the monitor hopelessly, one could learn everything about its sadistic behavior), but the most time it's a pure CPU load without anything else.
Re: Windows update
Yes, Microsoft Windows 7's on-line update sometimes takes a long time to run--especially if many interim updates have missed. But given the problem that Microsoft Update is trying to solve, what alternative solution is there?
Eventually, ReactOS will face the same problem if it allows hotfixes and in-place updates. ReactOS does not have Microsoft's resources. ReactOS will require a simpler, cheaper solution for distributing updates than the one Microsoft chose.
If Microsoft Update showed more progress information as it runs, I would be less frustrated during updates.
Eventually, ReactOS will face the same problem if it allows hotfixes and in-place updates. ReactOS does not have Microsoft's resources. ReactOS will require a simpler, cheaper solution for distributing updates than the one Microsoft chose.
If Microsoft Update showed more progress information as it runs, I would be less frustrated during updates.
Re: Windows update
Could ReactOS be like Linux when updating? You can still use it while updating?
ReactOS Donator ~ $5.00 | Linux Mint Donator ~ $1.00 in BTC
Re: Windows update
^ nice joke.
linux loads CPU even when does nothing. all these package managers on different linux distributives are the same bloated monsters. just without cute GUI. But if WU is a hog, then whole linux is just a piece of shate.
in fact, Windows is usable while updating. One can keep using it. As of responsiveness while being heavily loaded - linux always sucked at this hard compared to Windows. It just doesn't have as sophisticated scheduling policies as Windows does. Especially regarding prioritizing threads among different classes of applications - background/interactive.
linux loads CPU even when does nothing. all these package managers on different linux distributives are the same bloated monsters. just without cute GUI. But if WU is a hog, then whole linux is just a piece of shate.
in fact, Windows is usable while updating. One can keep using it. As of responsiveness while being heavily loaded - linux always sucked at this hard compared to Windows. It just doesn't have as sophisticated scheduling policies as Windows does. Especially regarding prioritizing threads among different classes of applications - background/interactive.
Re: Windows update
But most of Linux package managers manage rebootless updates due to non-use of exclusive file locks.
You can replace it if you do not like.anthracen wrote:It just doesn't have as sophisticated scheduling policies as Windows does
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Re: Windows update
And how do you update your shiny kernel that is currently running in memory without rebooting, when you don't support hotpatching?erkinalp wrote:But most of Linux package managers manage rebootless updates due to non-use of exclusive file locks.You can replace it if you do not like.anthracen wrote:It just doesn't have as sophisticated scheduling policies as Windows does
- Fraizeraust
- Posts: 234
- Joined: Thu Jan 05, 2017 11:46 am
- Location: Italy
- Contact:
Re: Windows update
That only applies to general/application updates that don't require a restart. For kernel updates you must reboot your computer in order to take effect.erkinalp wrote:But most of Linux package managers manage rebootless updates due to non-use of exclusive file locks.
a.k.a. GeoB99 -- ReactOS Kernel developer -- My Wiki page
Re: Windows update
Push state, jump into new kernel and restore state aka kspawn().
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Re: Windows update
I suppose Microsoft's Windows can do something like that (push state, jump into new kernel and restore state) for its stand by, hibernate, and sleep features.
Last edited by middings on Tue May 22, 2018 2:35 am, edited 1 time in total.
Re: Windows update
I'm pretty sure kexec (kspawn isn't a thing as far as I can tell) will not preserve running user processes, so it's like an OS reboot -- it just skips the system firmware part of the process.
And sleep/hibernate preserve the exact contents of memory, including the state of running threads, so while it's somewhat similar to what would be needed for hotpatching, it's not the same. Dropping in a new kernel binary would crash in almost all cases, and probably do severe damage in the rest.
(Some of?) The hard things about hotpatching are:
Finally, Windows Update is indeed trying to solve a problem that's quite hard: managing the state of thousands of updates that may supersede one another, may or may not affect the same files etc. This causes OSes with many updates, like Win7, to take a while to figure it all out. There's likely potential for optimization there, but I for one can't blame MS for not rewriting the whole update process for an OS version that's not the latest. They did mitigate this somewhat by moving to monthly rollups, which significantly decreases the number of necessary updates to manage.
And sleep/hibernate preserve the exact contents of memory, including the state of running threads, so while it's somewhat similar to what would be needed for hotpatching, it's not the same. Dropping in a new kernel binary would crash in almost all cases, and probably do severe damage in the rest.
(Some of?) The hard things about hotpatching are:
- Dealing with running threads. They must be able to continue executing where they left off (original function) while future callers of the same function should run the new version. This is where the whole "mov edi, edi" thing (as well as function alignment/slack space) comes in
- Generating the patch. Because (per the above) hotpatching must be done on a per-function basis, you can't just say "load this new kernel binary", so the "hot-patcher" actually needs a description of which functions to modify how, and that description has to be generated... which I can't imagine happening fully automatically
- You can't change too much. Running applications and drivers will have certain assumptions about the OS they run on. E.g. they might have done version/feature checks when they started and will assume that the results of these cannot change. It's possible to design the API to avoid this, but since we're talking about existing OSes, that's not really an option.
- Hacky/buggy drivers and apps. Function hooks or other modification of OS/library internals will mess with all of the above assumptions, meaning you're likely to get lots of app compat issues.
That sounds like hearsay from 20 years ago. cgroups should improve the default behavior immensely in this regard. And of course it is highly customizable, so it'll heavily depend on what options were used to build the kernel.anthracen wrote:It just doesn't have as sophisticated scheduling policies as Windows does. Especially regarding prioritizing threads among different classes of applications - background/interactive.
Finally, Windows Update is indeed trying to solve a problem that's quite hard: managing the state of thousands of updates that may supersede one another, may or may not affect the same files etc. This causes OSes with many updates, like Win7, to take a while to figure it all out. There's likely potential for optimization there, but I for one can't blame MS for not rewriting the whole update process for an OS version that's not the latest. They did mitigate this somewhat by moving to monthly rollups, which significantly decreases the number of necessary updates to manage.
Re: Windows update
I know kexec is equivalent to a hot reboot. kspawn would equal to save+kexec+restore.I'm pretty sure kexec (kspawn isn't a thing as far as I can tell) will not preserve running user processes, so it's like an OS reboot -- it just skips the system firmware part of the process.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Re: Windows update
I couldn't find any information on kspawn. Does it exist or are you hypothesizing? If the former, can you provide a link, e.g. to the sources? (If the latter, I would argue it has the same problem as the "re-use sleep code" suggestion). Thanks!erkinalp wrote:I know kexec is equivalent to a hot reboot. kspawn would equal to save+kexec+restore.I'm pretty sure kexec (kspawn isn't a thing as far as I can tell) will not preserve running user processes, so it's like an OS reboot -- it just skips the system firmware part of the process.
Who is online
Users browsing this forum: No registered users and 33 guests