From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,6394e5e171f847d1 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-09-05 10:59:05 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!netnews.com!xfer02.netnews.com!newsfeed2.earthlink.net!newsfeed.earthlink.net!news.mindspring.net!not-for-mail From: "Brian Catlin" Newsgroups: comp.lang.ada Subject: Re: Ada OS Kernel features Date: Wed, 5 Sep 2001 10:58:55 -0700 Organization: Sannas Consulting Message-ID: <9n5p52$isr$1@slb6.atl.mindspring.net> References: <9n4euv$t9m$1@slb6.atl.mindspring.net> <3B964C7A.BC04374E@icn.siemens.de> <3B965086.B9D8E007@nbi.dk> NNTP-Posting-Host: d1.56.dc.81 X-Server-Date: 5 Sep 2001 17:58:58 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Xref: archiver1.google.com comp.lang.ada:12764 Date: 2001-09-05T17:58:58+00:00 List-Id: "Jacob Sparre Andersen" wrote in message news:3B965086.B9D8E007@nbi.dk... > Alfred: > > > Brian Catlin wrote: > > > > > > What sort of features would be desirable/required in the kernel? > [...] > > You should be able to load/unload a driver dynamically (I hate rebooting > > because of driver change). > > And it would be nice if the kernel was prepared for kernel > updates on-the-fly (load new kernel image, copy process > information to the new kernel image, hand over operations to > the new kernel). A hugely difficult problem. Think about any running program. Your want to replace it, while it is running, with a new and updated version of itself. The new version has different data structures. How do you stop the running program (which a user might be using), and start up the new one transparently to the user, with the same state as the old program? It is possible to do, however, the notion of a checkpoint needs to be added to the system and applications. When a checkpoint happens, all internal state needs to be saved somewhere, then the new program/system has to be loaded, and then the old state information needs to be interpreted to put the new program/system in the same state. This will not be an instantaneous process. I've been thinking about how to implement this for the last few years, and I've been looking for the opportunity to implement it. One of the ramifications of implementing this type of checkpointing, is that you now have the ability to move running processes (applications) from one system to another (of the same architecture) at run-time. This opens the door for true "compute servers". You could start an application on your system, and then decide to move it off to another machine if its taking too long, or you needed to reboot your machine. Obviously, there are many constraints to such a thing, but the 24x7 crowd would love it. -Brian