On Wed, 08 Mar 2000, Ben-Nes Michael wrote:
> Date: Wed, 08 Mar 2000 16:09:04 +0200
> To: ILUG <[EMAIL PROTECTED]>
> From: Ben-Nes Michael <[EMAIL PROTECTED]>
> Subject: Solaris vs Linux
>
> HI All
>
> Now that solaris go free one of the big Q will be:
> What is the difference (good/bad) between linux & solaris ?
I am not an expert in both (at least I always claim I am not, just to evade
flames :), and, as always,
#iclude <sys/bits/disclaimer.h>
Soalris is a very distinct beast. Let me start:
Linux supports nearly all knids of hardware, from hand-held devices to
mainframes (or maybre the mainframes supprt Linux).
Solaris runs on some version of sparcs and (if you are lucky) i86's.
System:
Linux is slowly moving to Solaris position with regard to core system.
Solaris uses a "mini-kernel" at boot to discover hardware configuration and
to build kernel itself (i.e. the resident part of OS) during tart-up.
Linux is moving to this approach, today almost everything can be put into
modules, and with /dev filesystem it will be even more like Solaris.
Solaris is far ahead, though. Solaris, for example, uses "stream" paradygm
to make a device driver, and you can make anonymous device drivers
(streams) on the fly using API.
Solaris has 2 kinds of threads - regular threads and bounded threads.
regular are lighter in use, bounded are just like processes, but are
scheduled via different mechanisms. Linux threads are bounded, since thread
creation mechanism uses clone() syscall to make threads - clone() clones
processes too. Linux has very effective context switch mechanics, but
Solaris regular threads arte lighter. Look for additional information at:
http://www.byte.com/column/BYT19991228S0001
http://www.byte.com/column/BYT19991122S0002
Soalris has more scheduling classes in kernel than Linux has, and in
addition, admin has a control over it.
Solaris kernel has thread concept too. Linux does not have threads built
into kernel (last time I cheked), rather preemptive multitasking is used.
It is a hard question whether kernel should be multithreaded, Solaris
design depends on it, Linux does not.
Solaris has finer interfaces for network programming. For example, regular
Linux network API wont let you to grab a network content in sizes less than
one packet, Solaris allows it with ease, providig API called DLPI (data
link programming interface)
Solaris handles SMP much better.
Administration:
When Solaris beats (depending on your needs, it is important) Linux when it
comes on programming, Linux has far better administration facilities.
Linux (recent versions) allows you to change almost every aspect of system
behaviour and to trace execution of everything using /proc filsystem.
Solaris has one too, but those are very different things.
Linux application layer (I mean application layer most Linux distributions,
Linux is just a kernel) provides you more facilities to operate
heterogeniuos environment.
Summary.
It is basicly much harder to install and tune Solaris system than Linux
system. Hardware support in almost abscent in Solaris/i86, for example, I
have to operate headless Solaris box, since I did not found a card old
enough to throw in. Thanks to X I can use Solaris sitting on my Linux box,
but X is not unix-version-of-the-year dependant. It is a pain in ass to set
up decent PPP server on Solaris, using PC hardware. Solaris/i86 does not
know about ATA-33/66, OpenGL, power savings etc - the good sides of a PCs.
However, Solaris operates very well under pressure, and it si possible to
build real-time subsystems on Solaris (the task is against Unix
philosophy). Most heavy-loaded web sites choose Solaris as a host system,
despite all assosiated costs.
> --------------------------
> Canaan Surfing Ltd.
> Internet Service Providers
> Ben-Nes Michael - Manager
> Tel: 972-6-6925757
> Fax: 972-6-6925858
> http://www.canaan.co.il
> --------------------------
--
Cheers,
Omer Mussaev / tel 051308214 / http://www.linuxlizard.de/omer
finger for [ address | phones | public key ]
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]