Lord MJ wrote:Now for some techincal pros and cons that no one but CS will possibly understand.
Windows Pros
1.) Superior Virtual Memory management than linux
A dedicated swap partition is better since no fragmentation of the swapfile
2.) Multi Processor Support
Linux has that too.
3.) Advanced Microkernel
A microkernel is slightly slower than a monolithic kernel. Besides linux stll has support for loadable modules, which are not any slower than if they were compiled in.
4.) Advance Multithreading support
Why is it inferior?
5.) Optimized for x86, (I'm sure Microsoft uses ICC to compile the windows kernel)
I think Microsoft uses their own in-house compiler, otherwise they would advertise that they used ICC. Besides if they don't you can't do anything about it, while on Linux, just get the necessary patches from Intel, fork over 400$ for ICC, or download the free (RMS would kill anyone saying ICC was free, because of the noncommercial thing and open source) noncommercial version:
http://www.intel.com/software/products/ ... noncom.htm, and recompile. And there's no free noncommercial version for windows
.
Windows Cons
1.) NTFS is still inferior to UNIX filesystems, FAT32 is from what I understand, what a CS college student would produce, if given only 2 weeks to produce a filesystem.
Well one advantage is that it allows a file owner to allow specific users access without having to contact a sysadmin to create a group
2.) Permissions system is still inferior to UNIX, in addition encrypted filesystem is weak (although I don't believe LINUX has an encrypted filesystem.)
See above. There are many encrypted filesystems for linux:
Loop-AES:
http://loop-aes.sf.net
TCFS:
http://tcfs.dia.unisa.it/tcfs-faq.html
CryptoAPI:
http://www.kerneli.org/index.php
Too lazy to list all the others.
Linux Pros
1. Extendable kernel
2. Superior Filesystem
The standard Ext2 is flaky, but ReiserFS and Ext3 solve that.
3. Runs on a number of different processors
4. Separate from Gui, meaning that X windows could be ditched if someone comes up with something better.
Well there's Fresco(Berlin) but it has no apps. Besides with today's hardware who cares about X's sluggishness
5. Open source kerne
6. Kernel can now be compiled by ICC, increasing performance.
Yeah and you can get ICC free for linux too. And I don't think windows is compiled with ICC. Anyways windows is sluggish.
Linux Cons
1. Limited Multithread support
2. Poor Virutal Memory Support
3. Does not scale to multiple processors (which is whay Solaris is still preferred when lots of processing power is needed)
I'm not sure, but I think 2.4 has solved some problems. I'm also not sure whether or not intel chips can support SMP configurations >8 processors anyways. Linux is the most widely used OS for clustering though.
4. Big Kernel
Who cares unless you are working on embedded systems, and then you can just omit some features. Besides isn't the Windows kernel big because of the GUI?
5. Security and stability of Kernel lightyears behind that of FreeBSD. I'm not sure but in comparing stability at the kernel level, Windows beats Linux, but I have no evidence to back this up. Correct me if I'm wrong.
I think most crashes are due to X apps. Of course linux is less stable than BSD, but BSD is older, and had more time to mature.
6. X windows
Not too bad, bit bloated, but with today's hardware a non-issue. Of course it's an issue for me, since I have shitty hardware. Stability needs to be worked on though.
7. The GPL, the BSD license would be a superior license for the Linux kernel, which is why I believe the Free BSD 5 kernel is the future is some comapny decides to endorse it and develop with it,
They can develop with it now, they just have to open everything they do, unless they make modules that are open, but linked to closed libraries (my winmodem driver works this way. It's a good thing, since we don't want MS or others embracing and extending, do we? However there's an optional "feature" that allows GPL developers to prevent proprietry modules from using the GPL module. This is bad. Fortunately, I don't think anything uses this. Besides somebody already endorsed BSD: Look at Apple.