Running Unix programs under LispOS

P. Srinivas srini@cs.usask.ca
Fri, 2 May 1997 15:49:58 -0600


Mike McDonald writes:
 > 
 > >Date: Fri, 2 May 1997 11:30:07 -0600
 > >From: "P. Srinivas" <srini@cs.usask.ca>
 > >To: CsO 3335 <colin.oliver@gecm.com>
 > >Subject: Re: Running Unix programs under LispOS
 > 
 > >This is what I was also thinking. Instead of the horrible
 > >monolithic Linux kernal, we are better of the Hurd along with
 > >micro kernal.
 > >
 > >Another note: People are suggesting that we start with linux
 > >and slowly re-implement all the linux in LISP.
 > >Unix coded in LISP will still be UNIX not a LISPOS. 
 > >We should try not to duplicate all the garbage of Unix. We should
 > >start with small micro kernal or a nano-kernal (is there any such
 > >thing?) and provide a very simple and powerful OS interface.
 > 
 >   I don't believe anyone was seriously suggesting that we reimplement
 > Unix in Lisp. I certainly wasn't. The idea is to start doing useful
 > work today on the part that don't need direct OS support. As more and
 > more of the system is functional and there's a need, replace services
 > provided by the Unix kernel with Lisp based ones. Not ones that
 > provide identical interfaces but better ones in terms of what lisp
 > wants. As an example, networking. We can start today by implementing a
 > generic networking layer in lisp that works on top of the existing
 > Unix socket/streams interface. Lisp apps would then be written to use

     Now that is the problem. When we start with the initial choice of
     working on UNIX, we will invariable making decisions based on
     that goal. In the design of the generic networking layer, we tend
     to make many commitments that would not be needed otherwise.

     If we can come up with a very detailed design WITHOUT making
     commitments because of the goal of running on UNIX, and then
     try to glue it onto the existing UNIX with some
     throw away glue layer. It might work. But there are many 
     pitfalls. We probably are better of placing the generic layer
     on a very small kernel (may be such as Flux toolkit) than the
     full blown Unix.

 >   LispOS based upon Unix -> native LispOS w/o Unix -> native LispOS
 > with other OS compatibility, including Unix
 > 
 >   I'd guess a lot of people would avoid the middle step, but it's
 > necessary. But that can be limited to the die hard types. I believe we
 > need the Unix environment inorder for us to bootstrap the LispOS. It's
 > really nice to have things like editors, news readers, Email while
 > writing things like editors, news readers, and Email. It also allows
 > us to use more people's talents. Not everyone wants to hack the kernel
 > code. (I know, it's hard to believe!) While the kernel types work on
 > their thing, the apps types can work on their's. Then, when the kernel
 > is ready, maybe there will be something to run on it.

   
   We can certainly use Linux as our DEVELOPMENT environment. In the
   same way FSF uses GNU/Linux for developing Hurd OS. Until we get
   to the level of LISPOS bootstrapping itself, we can do a "cross
   development". But we should be careful as to what choices and
   commitments we are making. 


srini