07-27-2002
n/a,
0
I'll take your question to be literally about Solaris vs. Windows, and not generic UNIX vs. Windows. Some high-level points:
1. Solaris evolved from an early version of genuine AT&T/Bell Labs UNIX. Sun started with the Berkeley variant of UNIX in the early 1980s, and the main guy from Berkeley who did the work, Bill Joy, was one of the founders of Sun.
2. From the start, Sun's version of UNIX was notable for being visual. They pioneered the concept of the graphical, UNIX-based workstation. There is still a command line in Solaris, and it's often used, but the GUI feels built-in, as in Windows, not pasted on, as in Linux and FreeBSD.
3. Windows came along in the mid-1980s as a graphical extension of DOS, but today's Windows is derived from Windows NT, which is a completely different code base, having almost nothing to do with the original Windows. (That is, Windows 3.0/3.1/95/98/ME is one system, and NT/2000/XP is a different system. They share the same GUI appearance and nearly the same kernel API.)
4. NT/2000/XP is just as sophisiticated as UNIX/Solaris. In some ways it is more advanced.
5. Neither UNIX/Solaris/Linux/FreeBSD nor Windows NT/2000/XP is "more flexible" or "more powerful." Both kernels have all the features that one would expect today: multi-processor support, threads, memory protection, virtual memory, etc., etc.
6. One huge difference, very important to the Linux and FreeBSD communities, is that the source for those systems is available for browsing (and even modification, although that's very rare for end-user organizations), which makes supporting the system much easier. Windows and Solaris are closed.
7. The system administration and programming concepts of Solaris and Windows are similar, but the details are completely different.
8. The native Solaris API is very different from the native Windows API, but Windows can support the standard (POSIX/Open Group) API. There are also ways for the Windows API to be supported on UNIX/Solaris, but this has never been shown to be practical, mainly because the Windows apps that people are most interested in place excrutiating demands on the system, and the API implementation has to be perfect for the app to work. UNIX apps are much less demanding of the kernel. (This is partially because with UNIX/Solaris/Linux/FreeBSD much of what the app needs (e.g., the GUI) is in user space, whereas with Windows it is in the kernel and therefore is part of the kernel API.)