Subject: Re: Linux emulation for SPARC?
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
From: Jim Wise <jimw@numenor.turner.com>
List: port-sparc
Date: 11/04/1997 14:15:33
-----BEGIN PGP SIGNED MESSAGE-----

On Tue, 4 Nov 1997, Miguel de Icaza wrote:

>    - All of the Linux ports provide the same API.

Does the same numbered syscall do the same thing on different ports or
doesn't it?  Is the same errno the same error on different ports or
isn't it?  Do the different ports use the same data structures or subtly
different ones?  Sure the API is similar between the different ports,
much as SunOS and BSD are similar.  The details differ, however.

>    - When Linux is ported, it can be adapted to the new architecture
>      to ease running native applications.

But after the amount of adaptation Linux has done for each port, I think
it is reasonable to ask if it is the same OS on each platform.

>    - This technique has been used succesfully in the past.
> 
>    - This technique had great success so far. 

If this technique makes porting Linux to new platforms so much easier,
why does NetBSD (which has been around for less time) support so many
more platforms?

>    - If the native OS and Linux system call differ: 
> 		
> 	- a wrapper function for the native-OS system call is written
> 	  which takes care of the differences.
> 
> 	- There are very few wrapper functions.

Several people have pointed out how this is less flexible than NetBSD's
emulation layer...

> > 	  * It doesn't actually acheive it's stated goal, of making
> > 	    emulation of the host OS easier.
> 
> Well.  It did.  But I guess you won't take my word for it.  Go install
> Linux, and run your favorite SunOS application.  Come back to us when
> you find a problem.

With all due respect to Linux's Sun emulation, you can drop a NetBSD
kernel into a SunOS install and run without problems, and we are rapidly
approaching that point with Slolaris (Kudos, Todd!).  All this without
sacrificing NetBSD's integrity to the other platforms, which you seem to
feel is necessary for emulation...

> > In addition, I think it is exemplary of a trend I see a lot in the Linux
> > community, which is to favor a slight win in implementation time or
> > execution time over a vast win in clean design, resulting in a system
> > which is needlessly labyrinthine...
> 
> Could you provide facts, or is it something you read on a Usenet post?

You yourself said, in your last post, that your method was ugly and
confusing to newcomers, but was chosen to complete the port more
quickly.  I consider this a poor set of design priorities, and repeat
that this type of design philosophy is one of the main problems I have
with Linux.

- --
				Jim Wise
				jim.wise@turner.com

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
Charset: noconv

iQEVAwUBNF90Wxg+dMhCouwfAQH+HAf+L6ACvN2qYGpRkfWWoJ1xQzlGmTKzPDip
8pGvJtO0dHrPPhx3jIbxCkzVR8XiIA0mOBSUveCpaKy+PLCoL/b+7oHu5ZifLukJ
zOyToH3IjoB8xcolYj+eCV+n9RLp9LN9GLRtofhVPO9AqqoHg7SKpLhCBoaGUVpT
1AhlsnpswnGQUR88NBFjN0f5y9lFnxu2duKJtzZnXHSafFABWvdRpZj9lVv3iGfu
b1iTmbsCx8ka5zc/ycxihyZYCg7t5efVhaC68Pff1sLkU4A1CVxgvz7jfgaNiuhs
clAPxbLDz1e+cIJTu+/wrljoDB9ezeAYzePWg7KL8kOH9PWcvj4xTQ==
=n+b3
-----END PGP SIGNATURE-----