why do computers need to reboot after an update

841 views

I thought more recent OS had ways to update files currently in use and not require reboots.
Corporate policy of rebooting once a week and forcing it is killing me: I usually have tens of excel windows interlinked, and having to reboot daily just saps my will to live….

In: 68

24 Answers

Anonymous 0 Comments

They dont, windows needs to do that.

That is in no way fundamental to upgrading and just windows design for uppdating. Linux does uppdating without reboots for years.

Rebooting just makes it easy, because you have a clean state again and dont have to manage some applications still using the old interfaces and libaries.

Anonymous 0 Comments

If the update replaces drivers then Windows needs to go through the boot process to load the new ones into memory and use them. Otherwise the could be a mixture of updated and not updated code loaded with strange results or just the supposedly critical update not taking effect until a reboot. Besides what we typically think of as a device driver, the system contains drivers for the network stack and the file system that often get updated.

Not every update might strictly require a reboot, but it’s simpler to just reboot unconditionally. It’s also easier to identify a bugged update immediately.

Anonymous 0 Comments

When you launch some software the code is copied from the hard drive to the memory and then launched from there. Changing the software on the hard drive will only affect the software for the next time it launches. The issue is that while the software is running there are lots of references to specific areas of the code in the memory. And the structure of the memory is implied by the code. Imagine if Excel stored formulas and data in separate files, updating the formulas without changing the data would cause all kinds of havoc. Data being in the wrong columns, formulas updating the wrong cell, etc. So you can not just change the code in memory of some running software without restarting it to clear the variable data stored in memory.

It should be noted that there are a few notable solutions. Back in the 80s Ericson came up with a different way to use references between code and data for their Erlang programming language which allowed them to upgrade code on live software. But there were disadvantages to this that made it less popular then other programming languages at the time, although it have recently gained a lot of popularity. The other notable solution is to have some special software that can go through the data and update the references. However this is very ineffective and often require developers to test and fix each patch. Currently this is only available for some Linux distributions and only for the kernel and some core libraries that is hard to restart. And even then it is a paid enterprise option for use on high value servers.

Your companies policy is not just related to updates though. Most modern updates do not require a full reboot. They might require certain applications to restart or drivers to be reloaded. Updates to the core system kernel and core libraries are not that frequent. But there are bugs in the system which manifests over time rather then at once, especially on Windows computers. So rebooting once a week is a way to keep the number of support issues down.

Anonymous 0 Comments

They don’t always! It depends what was updated.

When you turn on a computer, it has to go through A LOT of steps to get everything ready. One of those steps is to load all the software it needs into memory. A lot of this software is ONLY loaded into memory at this stage, because, for example, it might do something like control delicate/complicated hardware, and reloading or unloading it from memory, even temporarily, could cause it to malfunction.

So if you update software, then how to you activate the updated version? You have to do the thing that causes it to be loaded into memory. If it’s a piece of software that is only loaded when you turn on the computer, that’s what you have to do.

Anonymous 0 Comments

Stand on a rug. Now change out the rug that’s underneath you. It’s pretty hard to do while standing in the rug, isn’t it?

It’s the same way with code. It’s very hard to alter code while it’s running because if you touch the wrong thing at the wrong time, everything can go wrong. The operating system is the most basic function of the computer, and if something goes wrong there, you will have to reinstall the entire operating system.

Open a file on your computer and then try to delete it while it’s open. You’ll run into the same issue because the computer is currently using the data you’re trying to delete.

Anonymous 0 Comments

You can’t delete files that are currently open / in-use by a program or the operating system.

I have see people try to delete huge log files but had no increase in free space since they were busy.

Anonymous 0 Comments

The others already gave good answers, but another that might help:

Recent versions of office can save all the time to OneDrive so your data is always saved.

If you have tens of interlinked Excel sheets open, you might enjoy moving to a real database.

Anonymous 0 Comments

Can you replace your car’s fuel pump without stopping the engine?

Anonymous 0 Comments

Because windows is poorly made, the developers working on it don’t truely understand how the underlying core code works. Thier best solution is to force a reboot rather than rewrite the complex code that runs everything. I’ve heard it argued that it’s for security, you can’t edit, add or remove system files in windows while the os is operating. But since Linux is a more secure and stable operating system this argument doesn’t make much sense.

Anonymous 0 Comments

When you apply an update to an OS a couple of things could be happening. The first is that you could be updating some OS service. In these cases the OS should simply be able to stop the service, update the files, and then restart the service.

The other thing that could be happening is that a core component of the OS could be getting that update. We call this part the kernel, and everything the OS does is centered on the kernel. Just like with a service, and kernel would need to be stopped, updated, and then restarted. However, stopping the kernel would stop the OS. The simplest way to deal with this is to have 1 or more reboots occur during an update to allow a piece of the kernel to update and then restart the whole thing.

The reason most OS updates (in the Windows world at least) require a restart is that you get a bunch of updates to various things all at once, and this often includes some kernel updates.