Michael Neumann wrote: > Another great application of vkernels could be for laptops. Imagine your > laptop runs on DragonFly, and your host kernel is running a X11 display > server, while all your X11 clients run inside the vkernel. This enables > you to checkpoint the vkernel, shut down the laptop, and to later > restore where you left off (assuming X11 doesn't keep state on the > X11-server).
That won't work, because various client data is stored inside the X server (resources, properties, bitmaps, ...). Usually an X client will terminate immediately when its connection to the X server is lost. Also, the X server will drop all data related to an X client when it loses the connection to that client. In order to make the scenario work that you describe, you would also have to checkpoint the X server at the same time (which would be difficult because of dependencies on hardware and drivers), and freeze the connections between X server and X clients somehow so they're not lost. Alternatively you could run the X server within the same vkernel, and find a way to pass graphics hardware access to the vkernel (not trivial either, because you will have to restore the graphics hardware state correctly upon thaw). But I guess this would have serious performance problems. A third way to do what you want would be to use Xvnc inside the vkernel. This would be easy to do, and might even be fast enough. The X clients connect to the Xvnc server inside the vkernel, so no connections are lost upon check- point. Upon thaw, you simply re-connect to the Xvnc server with your VNC client (e.g. tightvnc) running under the host kernel's X server. I think this should be feasible. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd