Re: implementing the process abstraction in movitz
Pascal J.Bourguignon <[email protected]> Tue, 23 Nov 2004 16:43:05 +0100
| Newsgroups | gmane.lisp.movitz.devel |
|---|---|
| Organization | InformatiMago. |
| Message-ID | <[email protected]> |
Frode Vatvedt Fjeld writes: > Pascal J.Bourguignon <[email protected]> writes: > > > It seems to me that if the goal is Linux, it would be much better to > > approach it from the virtual machine point of view: provide a > > hardware abstraction layer, and adapt UML, User-Mode-Linux (or Linux > > using User-Mode-linux as a model) to your hardware abstraction > > virtual machine. > > This is quite possible. However, I think the goals "running linux" and > "running linux processes" are quite different. It's a bit unclear to > me what the value of lisp would be in providing a VM that more or less > runs a complete linux (etc) kernel: essentially the entire static blob > remains. In the latter case (the running linux processes goal), only > individual processes remain as blobs, and they at least are defined > somewhat properly in terms of address-space and system-calls etc. To > me, the interesting thing is to remove as much as possible of the > tradidional unix-style static blobs and have interactive, > introspective etc lisp instead. But of course others will have > different goals and interests. Indeed, it all depends on the purpose. For example, on Movitz, do we need to run emacs/linux unchanged, or would we prefer to run Hemlock in a Common-Lisp OS enviroment? Do we need to run Apache/linux, or do we want to run PortableAlegroServe? At the kernel level, once you implement the unix syscall API, you've essentially re-implemented yet another unix kernel, be it monolithically, or in guise of microkernel or exokernel, like minix or bsd/mach. Would a mere unix kernel implemented in lisp be a better OS? I doubt it: it would just be another unix kernel. On the other hand, once we have a virtualizer, we can explore new OS avenues, benefiting the fluidity of lisp, while being able to run in another virtual machine the legacy OS(es) we need to get the needed legacy programs running. (In addition, judging by the size of the source of xen, a virtualizer is much smaller than a unix kernel...) -- __Pascal Bourguignon__ http://www.informatimago.com/ The world will now reboot; don't bother saving your artefacts.