Messages in this thread | | | Date | Sat, 19 Jun 1999 02:42:46 -0700 | From | David <> | Subject | Re: Binary Kernel Patching - Upgrading without a reboot |
| |
"Michael B. Trausch" wrote:
> On Fri, 18 Jun 1999, Jordan Mendelson wrote: > > I know a while back there was talk of a method of upgrading your > > kernel for things like security holes, new features, etc using a > > binary method similar to the way we use insmod to load kernel modules. > You know, I don't know a whole lot about the internals of an operating > system... but I do believe that you have to be crazy to think that you can > change the *core* of an OS and not reboot it... Think about it. You can't > do that with a user-level program, the exact reason escapes my mind now, > but it has to do with how the memory is mapped during execution.
eh? you certainly can. use the same concept of process migration across cpu/machine against the kernel. migrate all the parts of a section that are being used to the new section and disable/purge the old section. modules are a blunt rudimentary approach to this already. unload the legacy module, load the new module, resume operation.
You can do this with a user level program just as well. Note the usage of dl_open(...) and related functions. Simply signal your program to unload that section, replace the code, and reload.
This is dynamic libraries. The concept is of dynamics is already surrounding you, just in a very simple form. Extend it's functionality.
> The OS is nothing but a user level program from the CPU's view instead of > the user's view. (That's not exactly what I mean to say, but I think I > convey my idea... that's the best way I can think of to describe it at the > moment.) You have to restart that program if you want to change it.
Not always. You change the way things operate when you load modules into apache, into the kernel, etc.
As a final note, yes that project got off the ground, got some starting success and we haven't heard much about it lately. In the near future the Linux kernel will be able to handle things like this. The design of it employs consideration of "what if bank0 memory faults...migrate checksummed memory contents and err handle the rest, then disable bank0 for operator swapout." after the operator has swapped the bad memory out, the kernel tests it then returns bank0 to operation.
The only thing impossible is the unthinkable. If you can't dream it, you can't do it.
-d
-- This is Linux Country. On a quiet night, you can hear Windows NT reboot! Do you remember how to -think- ? Do you remember how to experiment? Linux __ is an operating system that brings back the fun and adventure in computing. \/ for linux-kernel: please read linux/Documentation/* before posting problems
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |