l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: POSIX Layer, Stronger Chassis (Was: Re: Compatibility)


From: Jonathan S. Shapiro
Subject: Re: POSIX Layer, Stronger Chassis (Was: Re: Compatibility)
Date: Tue, 25 Oct 2005 20:44:02 -0400

On Tue, 2005-10-25 at 18:47 -0500, William Grim wrote:
> Secondly, I agree with AMS that POSIX should not be considered a
> second class citizen.

Just to be clear, I agree. There is good news about this: the UNIX
emulation work that was done on KeyKOS was pretty fast, and the relevant
EROS microbenchmark measurements were much faster than KeyKOS.

But it is also true that a POSIX partial compatibility library will be
good enough to let us migrate the majority of the FSF/GNU tool chain for
native use. Fortunately, very few of these tools make any demanding use
of POSIX.

>   Yes, a lot of command-line interfaces (CLI) are based on POSIX
> interfaces, but so are a lot of other software.  I suppose an example
> of this would be any sort of app a developer may write in python or
> perl.

Actually, this is a counter-example, because both programming languages
work fine in non-POSIX environments.

>   Things like IPC semantics are derived from the POSIX idea of IPC.

This is simply not true at all. In fact, it was the other way around:
POSIX borrowed these ideas from microkernels, and mangled them badly.

>   I know that this now sounds like I'm arguing for a developer's sake,
> but developers write software for end users.  If developers don't have
> familiar platform when coding, a lot less developers code for the
> platform; hence, less end users get software they really need.

Good! This is an *excellent* argument for why developers are important:
developers are necessary to support end users. My only suggestion is
that we should be clear with ourselves that the *primary* goal is to
support end users, and these will be the vast majority of users, so if
we are faced with a design decision that must trade one user base
against another we should make it in favor of end users unless there is
an *extremely* good reason to do otherwise.

> So, I think that what we should really be concentrating on is a good
> chassis (primary system design) and add a POSIX layer as we go.  I
> think having the POSIX layer should be the de-facto layer that
> end-users see.

Perhaps you should spend some time watching people who are not computer
scientists as they use a recent Macintosh. The vast majority of these
users have no awareness that POSIX is even present, and they are quite
happy this way. POSIX is a *fine* environment to have available for
developers. It is a *lousy* environment for most end users.

End users don't care whether it is POSIX, NT, DOS, or little purple mice
inside. What they care about is: can they get their task accomplished
effectively and without distraction.

End users *do* care if their machine gets compromised in a way that
negatively impacts them. This is why spyware is a regular topic in the
New York Times. This is a compelling reason *not* to use POSIX as the
primary environment. POSIX is the second best breeding ground for
viruses, worms, and spyware (the best, of course, is Windows).

> Sorry if I'm rambling, but I just wanted to be clear about my personal
> opinion on this matter.

We agree that POSIX is needed. We don't agree about the best base for an
end-user environment, but you give a well-articulated rationale. I
respect it, even if I don't agree with it.

>   I really don't see why Shapiro and AMS can't be simultaneously
> satisfied.

Because Shapiro wants a system that actually works well for real users,
and AMS wants whatever AMS wants in the current instant.

shap





reply via email to

[Prev in Thread] Current Thread [Next in Thread]