Slashdot Mirror


The New Linux Myth Dispeller

TillmanJ writes: "Just a quick note to let everyone know that the New Linux Myth Dispeller is online at http://www.eruditum.org/lin ux/myths/myth-dispeller.html It is not, however, ready for prime-time, but is usable. If anyone has anything to add/correct/bitch about, send me some email. In patricular, I would like to work with some non-english-speaking folks to translate it into whatever langs we can" Useful for clearing up the misconceptions of PHBs and other folks.

7 of 155 comments (clear)

  1. Needs some touching up yet... by nd · · Score: 5
    This document is a mixed bag, with some parts being better than others. Here are some issues I found with it:

    "After getting a Linux CD, you'll probably be up and running within an hour. In the olden days, this has been true, and Linux can be made hard to install."

    Not to be a grammar nazi here (we have someone at slashdot filling that position already), but "this" is unclear, and may confuse some people about the facts, as it implies that being up and running within an hour was only true in the olden days.

    "Linux is well over twice as fast as NT"

    Generalizations like this should have no place in a document of this type, especially considering you don't back this statement up with any data. Statements like these should be what your document is fighting against. Specifically, twice as fast at what? While it's probably true that Linux 2.4 is significantly better than NT at several tasks, there are definitely situations where NT beats Linux 2.2.

    Haven't finished reading the rest of it yet.

  2. How about dispelling some pro-linux Myths? by Zagato-sama · · Score: 5

    It's interesting to note that all the Linux Myths listed on the page are negative in nature. This is essentially the reverse of Microsoft's "Linux Myths" website. How about a website which tells people the full story?

  3. Just making sure I have the terms down right..... by HomerJ · · Score: 5

    anti-linux = FUD ?

    pro-linux = dispelling myths ?

  4. Wow! Pro-Linux FUD! by be-fan · · Score: 5

    To be fair, the site is fairly objective. However, I have to bop them on a few points.

    1) Linux may not be a nightmare to install, but it is still a nightmare to configure. The main problem is not so much that configuration is very text oriented, but it is not consistant. Some stuff is configured through user-space programs (hdparm and ifconfig.) Other stuff is configured thourgh text files. Some stuff is configured through scripts (the old rc.modules style) others are configured via stuff like modules.conf. Often, there is little feedback if you do something wrong. I still don't know what I'm doing wrong configuring ALSA.

    2) Linux multi-tasking.
    The site implies that Windows uses cooperative multi-tasking. That is simply not true. Windows95 and WindowsNT all use preemptive multi-tasking and in fact multi-task SMOOTHER than Linux. It is not so much a performance thing as a "feel" thing. The default quantum in NT is around 20 milliseconds or so on workstation, 50-100 on server. The default quantum on Linux is 50 milliseconds (newly lowered in kernel 2.4). So on Linux, each app gets a longer time slice. While this may be more efficiant, it degrades interactive performance (ie the "feel" of the system.)

    3) Linux IS too huge. In order to get the same experiance as one does with Windows, you have to use KDE or GNOME. Otherwise your competing a product with more features against one with less features. Also, if you don't use GNOME or KDE, some of the other "FUD" becomes true. To get a Linux system comparable to a Windows NT system, you have to have GNOME+KDE(both so you have full compatibility) +Mozilla+X+kernel. Not to mention the multiple versions of glibc and all the additional (often redundant) libraries all the apps use. In terms of memory usage, Linux blows NT4 out of the water (a bad thing) and is quite close to Windows 2000's bloat.

    4) Linux IS playing catch up. Most new kernel features (journaling FS, new automounter, LVM, etc) have all been implemented on previous operating systems. Not to mention the fact how much KDE and GNOME are playing catch up.

    5) Other OS kernels do NOT load everything at the same time.
    I don't know how they got this? Most of Windows is built out of DLLs which can be dynamically unloaded. Most UNIXs had modular kernels long before Linux. Microkernels like BeOS can turn off entire subsystems if they are not needed.

    6) Linux DOESN'T take full advantage of hardware.
    Linux doesn't support DirectX, and thus automatically lacks support for a lot of hardware features that are in DirectX complient hardware. The main reason was because transparant usage of hardware was a major design consideration for DirectX. It is based on the concept to support many different hardware features, have all applications use them, and then emultate those not supported by hardware. When the hardware supports new features, all apps and the OS automatically take advantage of them. Also, X doesn't have as compelete a support for many graphics operations that are possible in DirectX.

    7) Linux threads aren't all they are cracked up to be. I have seen tests show that NTs threads not only take less time to create, but switch significantly quicker. Also, the sites makes excuses for Linux's lack of threaded applications.
    FACT: Multi-threaded apps are better. They may have slightly more overhead and are more complex to write, but it really pays of for those with SMP machines. It also pays of in todays systems because of the increasing number of CPUs in the system. Not only due to SMP, but the specialized chips systems use. Graphics cards can do operations independant of the CPU, so for most graphics apps, it makes a lot of sense to have an independant display thread. Thus, the main-thread can do things while the graphics card is busy working. Same thing for 3D audio. Instead of blocking the CPU waiting for the sound card to finish working, spawn another thread and have them process together. The trend is moving towards PCs with more and more independant chips, and there is no excuse for writing single threaded applications.
    FACT: Theading on NT doesn't use cooperative multi-tasking. Where did they get that? Threads are preemptivly threaded just like applications.
    FACT: Linux doesn't use threads nearly as often as it should. By having the kernel and libraries heavily threaded, and with fine-grained locking, performance really improves.
    However, BeOS hopelessly outclasses both in the threads department. The same tests that show that NT threads switch quicker also showed that BeOS threads switch 10x quicker (that is due to the different model BeOS uses for threads. I can't find the articl at the moment, but I'll post it when I do.) Also, the kernel, servers, kits and apps are heavily multi-threaded. The API encourages apps to be multi-threaded. If you've used BeOS on SMP machines, you know how important multi-threading is.

    8) Linux really isn't that fast, depending on what you do. For server tasks it is undoubtedly a speed demon, but for desktop tasks, my NT4 machine (not to mention my BeOS machines) FEELS faster. Screens have less visible redraw, apps switch quickly from one to the other. Not to mention the fact that anything media oriented does much better on Windows than on Linux. (This is partially due to the APIs. X is really not great for fast display, OSS isn't really great for complex sound, the X input system can't compare to DirectInput, there really aren't that many MIDI APIs to speak of (at least those comparable to DirectMusic) and (as of now) 3D is STILL slower than on Windows.

    9) The Linux desktop IS clunky. It's very attractive, but the Linux guys need to steal some ideas from the Mac instead of Windows.

    --
    A deep unwavering belief is a sure sign you're missing something...
    1. Re:Wow! Pro-Linux FUD! by orabidoo · · Score: 5
      FACT: Multi-threaded apps are better.

      you forgot to add: multi-threaded apps are better for some things.

      There are two ways of multi-threading an app: with threads that share everything (VM, open fds, cwd) but the stack, or with threads that share nothing but an area of shared memory. Under most OS's, the second is much slower than the first, which is why there's been this push towrdsa multi-threading in the first way. Both Solaris and NT have this problem, and when MS's interests coincide with Sun's, people just get the impression that that is "the way to go".

      OTOH, if you look at Linux (and FreeBSD, and even Plan 9), both kinds of threading work well, with very fast context switches. Under Linux, processes switch almost as fast as threads. So you can choose between the two ways of multi-threading, not by "which is faster", but by "which is more appropriate to the app".

      Programming with several execution contexts sharing a single VM space is tricky. You need very careful locking, to prevent one thread's data updates from stomping on another's. On SMP machines, you get accesses to the same physical memory from all the CPUs, which means more bus traffic needed to maintain cache coherence. Multi-threaded, shared-memory programming is only worth it if your app calls for it, i.e if your app has a lot of shared state that all the threads will be working on.

      Multi-threading with a separate VM space is considerably easier: each thread (or process -- processes are just one kind of thread) runs fully protected from interference, and you can always set up a shared memory zone for whatever shared data is needed. Each processor is mostly working on separate areas of memory, so bus contention is lower. The downside being that this kind of app tends to use more memory than the former.

      Finally, single-threaded, event-driven programming should not be counted out. It turns out to be the most appropriate, for a surprisingly large number of problems. In some cases, you're better off running several copies of a single-threaded server (say, one per CPU), than a multi-threaded one.

      IMNSHO, the worst thing that has come out of both Java and NT is the unthinking assumption that all programs should be multi-threaded, with a shared memory space, and that all servers should necessarily use one thread per connection. Yes, there are many cases where this is good, but there are also many cases where other solutions are just as good in performance, and much simpler and more maintainable in programming. Just say no to Sun's and MS's thread hype!

  5. Mythology and Reality by KnightStalker · · Score: 5

    This "myth dispeller" isn't going to do anyone any good if it remains as misleading as it is.

    For example, you can't just say "Multitasking under Windows 95 is partially preemptive." True, 16 bit apps run in a shared memory space and the GDI isn't fully reentrant, but a statement like that is just flamebait.

    Also, the statement "Hardware is often ignored by other operating systems. On the other hand, Linux takes advantage of all the hardware it can." is ridiculous.
    --

    --
    * And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
  6. 'nother myth; not ready for the desktop by peterjm · · Score: 5

    I recently witnessed this "sacred truth" become a myth after a friend of mine performed this experiment.

    He gave an old laptop to a buddy of his who was in need of a computer. His friends previous experience with computers was limited to double clicking on a prodigy icon on his dads computer several years ago. "The computer is free", my buddy said, "on the condition that you keep the redhat 6.2 that I've installed on there."

    At first he wasn't sure if he made a mistake imposing that condition on his gift as his phone was ringing off the hook ( "hey, how do I...?" ). But then, after a while, the phone stopped ringing. When the two of them eventually met up again, my friend left slack jawed as his buddy was talking about joining one of lugs he'd seen online after getting the internal modem working.

    So you see, the point of this convoluted little story is that linux *is* ready for the desktop. Everything is new to everyone at some point so there's no reason that you wouldn't be able to stick a brand new linux box in front of some one who's never used a computer and tell them, "hey, this is what an os is supposed to look like. okay?". But see, that's what microsoft has managed to do with their billions of dollars for people all over the world. They've said, "this is an OS. This is what an OS does. If an OS doesn't do this, then it's *difficult*. If an OS doesn't do this, then it's not ready for the desktop."
    But that's just crap. Everyone I've seen can and does learn how this OS works. You've got to get over your preconceived notions of what an OS is and go and find out for yourself. People are willing to learn. I've seen it.

    -Peter