Logan Shaw wrote:
> Jim Cooper wrote:
> >>Jay Ts wrote:
> >>Actually, LINUX IS JUST A KERNEL, along with device drivers.
> 
> >No it isn't. The kernel might be the most important part, but all OSes 
> >have kernels, and "operating system" <> "operating system kernel" in 
> >most people's lexicon.
> 
> The trouble here is that the term "Linux" is used for both.

Yes, that is true, and maybe I should have said it more like that.
In a formal sense, "Linux" refers to the Linux kernel.  It's the
part that Linus Torvalds created, and it is named after him.

When we say that Linux runs on everything from a phone to a
supercomputer, we refer to the Linux kernel.

But when most people say "Linux", they are talking about a Linux
distribution (such as Red Hat, SuSE or Mandriva) running on a PC.
In that case, the GNU utilities and other OSS have been added.
When it's a desktop, there is usually a GUI included, such as
KDE or Gnome.  But none of those extra parts, by themselves or in
combination, are Linux.  When the Linux kernel is used as the base,
then it's Linux, no matter what extras are included.  Red Hat,
SuSE, et. al. are all _Linux_distributions_, and they are all
called "Linux".  I know that can be a source of confusion, but
it's not crazy -- you just have to understand the more "organic"
manner in which Open Source Software evolves, as compared to
more controlled, closed systems.

Anyway, that's what I was trying to get at in a more brief manner
in my previous message...  As far as teensy little computers such
as phones and PDAs are concerned, the term "Linux" almost always
(maybe *always*) refers to the Linux kernel, and not all the big,
RAM and disk consuming extras that make up a server or desktop
operating system.

The hardware in PDAs and phones are now at the point where they
can easily run a Linux kernel. The memory is there, the CPU performance
is there, and now it's possible to include either a sizeable flash
memory or even hard disk.  I made a comparison between Palm OS and
Apple's original Mac OS earlier, and I think this is very appropriate.
Apple started off in 1984 with a 68000 CPU, 128k of RAM, and a
monochrome display.  It's amazing that they could get a GUI user
interface running on it at all.  The original Palm Pilot was a little
more than that, but not really much different, and now we have PDAs
with over 100 MB of RAM, 400 MHz CPUs, a bunch of owners expecting to
be able to replace their laptops with their handheld.  Palmsource has
to do something to keep up, or they will be ground into the dirt by
their competition.  Let's just say the competition is Windows Mobile.
Right now, Microsoft considers Linux to be their biggest competition.
That's why (aside from the fact I'm a Linux guy ;-) I think Palmsource
is choosing wisely in selecting Linux over any other available option.

> Speaking of which, and getting back on topic a little bit, I wonder
> if the Linux-based Palm OS will even have a libc.
> It's not absolutely necessary that it would.

True, but if it's running a POSIX kernel, and the development system
is based on C/C++, it would be *really*stupid* not to!  I wouldn't
worry about it.

> In other words, I wonder if the PalmSource is porting Palm OS to run
> on top of the Linux system calls or on top of the libc library calls.
> It could be done either way.

I guess you mean implementing Palm OS in a way that uses libc?
The C library (libc) is just a library of functions.  It isn't
part of the operating system per se, although it's easy to think
that it is.  So (IMO) it doesn't make sense to think of anything
being "on top" of libc.  It's just a library that may or may not
be used by the program.

The real question is how will Palm OS run on top of Linux.  Will
it run in kernel space (probably not) or as an application, or
will it actually be a Palm OS ROM image running in a virtualized
environment?  (I could go on and talk about Xen virtualization,
but that might be a little out of line.)

> Anyway, the point is if they skip the libc and go straight down to
> the kernel, then from a programmer's and user's point of view, the
> device will not feel very much like Linux at all.

It doesn't have to seem like Linux at all, from the user's perspective.
Think about it this way: Mac OS X users might feel really proud that
OS X is "based on Unix", but they never open a Terminal, much less know
a single shell command.  And if you put one in front of a KDE or Gnome
desktop, they won't know what the heck they're looking at.  That is
all really good -- Apple created a desktop GUI that fits their customer
base, and the customers (practically every one I've met so far, at
least) loves it.

If my guess is right, the Palm OS on Linux implementation will allow apps
developed for previoius versions of Palm OS to run unmodified, in which
case, it will feel pretty much like "good old Palm OS" to the developers
as well as the users.

I say this because in order to keep the ball rolling, it is imperative
to support the thousands of applications now available for Palm OS,
and not require them to be recompiled.  If this were not the case, Palm
OS would die off quickly, a result of the customer base abandoning it
in favor of more stable platforms.  (And that is why we still target
68k architecture, and put up with slow execution!)

I expect that there will also be a whole new API opening up, either
with extra Palm OS "system calls" which will in turn call Linux system
calls to provide functions previously unavailable in Palm OS.  Or,
maybe it will be possible to call Linux system calls directly.  Many
things are possible.

Right now, a lot of what I'm writing is just "prediction", based on
what I know about porting Unix/Linux, what I've seen happen to the
Mac and other platforms, and what I feel is the most logical conclusion
that fits the very sketchy information provided by Palm and Palmsource
press releases, and news I've heard about them.

A while back, someone (or more than one) said that it's pitiful how
little information Palmsource releases to the developers.  At first,
I thought it was justified, but the more I think about it, I feel that
they are making a big mistake.  Secrecy is good for small startups, but
for large companies with many business ties, it's vital to have a
well-defined plan, and release a "sketch" of it publicly as the "roadmap".
That is necessary in order to keep the community (not just developers, but
customers, investors and other business relationships) together, and
supportive during times of change.

I think a lot of the negative feelings regarding Palm stem from the
imaginations of people who are afraid because they don't know what's
going to happen, and allow their imaginations to run wild.  And somehow,
the easiest probable future to imagine is one of disaster, that is not
rational or sane, but it seems typical of most humans I've met.  Then,
the choice that seems the safest is to go with the crowd.  This is
not good for Palm right now.

I wish that Palm and Palmsource would be clearer about what they're up
to.  It's true that their competition may benefit, but I think that is
a price to pay, and that the positive benefits of a happy community of
owners and developers is worth much more than that.  In fact, I consider
it to be absolutely vital.

In my estimation, Palm OS is about to turn into something amazingly
cool.  But, I am also basing my belief more on my imagination than
on facts provided by Palmsource.  I wish I didn't have to rely so
much on faith, because it's hard enough developing new products,
without the stress of having to develop spiritually as well. :-)

Jay Ts
-- 
When we stop playing the game, there is no game.
        - David Icke

-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to