-
Techinical reasons Windows is bad
I'm not sure this post will last long, as people might just start ranting about their opinions about crappy screen saver options for Windows or something, but:
Why, technically, is Windows a poorly written OS? If you don't know, don't respond, and I'm not looking for "because it doesn't work on Sparc", but more things like:
Windows will swap to disk almost at boot. This is bad because disk access is much much slower than accessing RAM, and with plenty of RAM, there is no need to swap to disk at all.
The point is to better discuss with people what the difference is and why linux is a "better" OS, and not for abstract reasons (open source vs proprietary).
-
One reason why linux could be considered a better OS is the read/write/execution/running of files on the system compared to Windows is dramatically more secure helping limit automatic or remote explotations.
-
I think this thread would have better chances if it had been title something like "technical reasons why Linux is better." But anyway...
I think that Linux is better because of the wealth of command line applications. This has a lot of advantages. It makes scripting simple and powerful. It provides a basis for GUI development. And, of course, it makes for a more powerful command line.
Plus, those Windows screensavers are total crap!
Last edited by blackbelt_jones; 04-02-2007 at 09:43 AM.
-
Interdependant parts of the OS, tied to things they don't need to be tied to. Internet Explorer is one example.
Another thing would be executable files based on their file name (extension). Shouldn't the OS look at the file to determine data type, and then choose an app to open that data type with.... Like Mac does.
-
Its memory management sucks (at least up through XP). You already touched on this one, happybunny, when you said "it swaps almost at boot", but the problem is a bit worse than just at boot.
The real problem is that while the machine is running, doing nothing, it will decide to swap out programs that are up and running. (This is true whether they currently own "the activation" -- i.e. they're the program that the user would be interacting with if the user was using the machine -- or not.) I see this relatively frequently when I leave a remote desktop session open to an XP machine with 512MB RAM, with one instance of VS2005 open. This instance is taking up about 100M of virtual memory (mostly because it's just a pig, although about 30M of that is the .net framework that it hosts). Nothing else is happening on this machine.
But if I leave it in that state and go to lunch, for instance, then when I come back, it will take several minutes (with the hard drive going crazy, if I head over into the other room and listen to it) before I can do anything in VS2005 -- including just closing the program.
(Of course, when I say "doing nothing", I mean "doing nothing that I know about". I assume that VS is getting paged out because something else needs the RAM, but I have no idea what. I assume that something else needs the memory because if the kernel's just dropping the program out of memory based on the program's working set, that's way, way, way beyond stupid.)
Other issues with memory -- It has no OOM killer. So if you have one service run away and take up all the memory, it won't ever get killed like it would on Linux. (It used to be that the process with the highest priority and using the most memory would be selected for killing, back on kernel 2.4.something. I bet the algorithm has changed now, though.)
We had this happen on a server a few weeks ago. The absolute piece of CRAP known as Symantec BackupExec (version 11d; 10.0 was better, and 8.x was much much better, but 8.x was written before Symantec bought Veritas, and the quality has dropped like a rock ever since the buyout) had a service that was taking up tons of memory and tons of CPU, trying to do ... who knows what. It started about 3:00 PM one day, and continued until someone called us in at 6:00 AM the next day, saying the fileserver wasn't responding very well. It took at least three hours just to shut down (though once the BE service finally died, everything else got much much faster).
Had Windows just killed that service when it used up the 1.5G of memory that it had used up (that server only has 1G physical), then at least the other stuff would have stayed usable. But no. (Of course it'd need some way to say "please keep this process at a lower OOM-killer priority", because you don't want it killing your database server just because another process is running away; it'd be good to mark a few processes as lower priority for killing if they're critical. But the BE service isn't anywhere near critical; nobody cares if it gets killed.)
(Edit: And I bet if we'd configured the page-file to be a fixed size, Windows would have had no choice but to kill a process. Well, either that or blue-screen, but it better not kill everything because one process is misbehaving. Wouldn't surprise me if they did that, though. Sigh.)
Let's see... there has to be other stuff...
Oh, let's not forget the ever-present "operation failed" COM errors that I get fairly often. (That's E_FAIL, which is HRESULT 0x80004005.) Way to provide absolutely no useful debugging information! Sigh.
Here we go, this is a good one: Exchange. If you have more than 1GB of physical memory, you must configure the server to have a 3GB/1GB user/kernel virtual memory split. If you don't, Exchange will crash (!) when it tries to allocate more than 2GB of virtual memory when its information store gets large enough. (And don't even get me started on the absolute RETARDEDNESS of storing all messages for every user in a single file. That's worse than mbox; at least with mbox, each user's mailbox is independent. Exchange lumps them all together. (Personally, I think Maildir is better than mbox, because there, each message is independent, and a single lost file doesn't mean a whole lost mailbox. But that's just me.))
The reason Exchange crashes is because whoever wrote it never got the memo that physical memory and virtual memory are two different things. It asks the OS how much physical memory there is, and sets the limit on the amount of virtual memory that it will allocate to double that. Then it never checks memory allocation results, it just assumes the allocations will all succeed. So when one doesn't, because it's run out of virtual memory (because each process is limited to less than 2GB, because some of the <2GB area is used by code, and user-mode by default can't access more than 2GB of virtual memory anyway), it crashes hard when it tries to use the returned pointer.
The "fix" is to let it use up to 3GB of virtual memory (and hog everything on the server!), because there's a second limit built in at some point below 3GB. So when it sees you have 4GB of physical RAM (for instance), it will set its internal limit at somewhere below 3GB (at least it leaves 1GB for other stuff... sigh), because that's the hard upper limit. But if you don't reconfigure the kernel's user/kernel VM split, it'll still crash before it hits 2GB.
All together now: SIGH.
Last edited by bwkaz; 04-02-2007 at 07:10 PM.
-
You can't talk about what's wrong with Windows without mentioning the hated Registry. Prior to Windows 95, you had *.ini files which were plain text and analogous to *.conf files in the Linux/Unix world. However, back in the days before the Registry, it was also pretty darn easy to copy Windows/DOS programs from one computer to another simply by copying the directory where they were installed. The Registry made that almost impossible because it, by and large, eliminated the *.ini files and placed all the application configuration settings in the cryptic and easily damaged Registry. That's when I started to learn Linux because I was so fed up with that move.
Last edited by klackenfus; 04-03-2007 at 08:23 AM.
I equivocate, therefore I might be.
My Linux/Unix Boxes:
Home: Slackware 10, CentOS 5.3, RHEL 5, Ubuntu Workstation 9.10, Work: RHEL 5, CentOS 5
-
I used to have a glimpse of my education MINISTRY's standard computer registry, painfully locked by HP.
Its a full registry file that had to be applied to each and every computer in all of the computer labs. Luckily its replicable with Ghost (and I'll tell you why)
Installing this registry file means to back up the entire original registry and copy the registry file in. That's fine. The problem is that its more than that. You have to set the old registry to exclude the Admin, which is to manually uncheck the dialog boxes on the registry file's properties, and you have to manually check the dialog boxes for all the other users.
Unfortunately, unchecking the dialog box means that you cannot edit the registry, even moving it will be denied.
Reboot. And copy the new registry to a new folder in system32. Repeat the procedure to mimic the old one. You cannot do it with or before the old one or the system will hang. Reboot.
Now, you have to check the dialog boxes for both the new and old registries and move them (old to a back up, new to the working place) And you have to uncheck the dialog boxes before rebooting. If not, the new registry will prevent even the Administrator to edit any system file, including the registry file and installing new programs.
Reboot and install all the programs you need (all non-trivial programs need the registry for something...)
And for some weird reason, copying the registry with a livecd won't work, not even the bartpe cd. (because its NTFS --- vfat will be malleable with livecds)
And this is a true excerpt from a standard Admin's instructions. The full one is even more scary, since we need chinese support over here.
The catch-22 of this story is that the dialog box I've been avoiding to name reads "editable by". That means the registry is manually uneditable by admins even, while you have set it editable by everyone else, they effectively can't do so because the incomprehensible mess of a registry HP has provided (trust me -- it looks like hell, like the original unix source code) has locked down everything they can do. Not even right-clicking. On the desktop.
ps: anybody explain to me why I hate GNOME's registry?
Come under the reign of the Idiot King...
Come to me ... I love linux!
Registered Linux user: Idiot King #350544
-
Originally Posted by bwkaz
The absolute piece of CRAP known as Symantec BackupExec (version 11d; 10.0 was better, and 8.x was much much better, but 8.x was written before Symantec bought Veritas, and the quality has dropped like a rock ever since the buyout).
You're a wilder man than I am, bwkaz. I would never upgraded beyond our very stable 9.1 revision of Veritas BackupExec. God knows what they'll do to the most "pwning" backup software of all, Veritas NetBackup...
/shivers
-
And then there is no default way of tidying up the programs menu. Almost all systems I know of, running windows, have the menu full, sometimes even using up the 3rd extra pane. Some are super long....
That is just annoying, and still I see people working fine with it. The Dock & applications folder idea in Mac OS X is just so much easier --- most people don't need to explicitly run more than a few apps frequently, and the Dock forces you to reduce. Even the area in Linux is so much better. And don't forget --- geeks are usually untidy... (and you readers just know I'm surely not referring to google and apple but rather at yahoo...)
Speaking of annoying, no virus I've met can rival Windows Genuine Attack. Last month, my bro brought in his laptop, with the Dark Mark (thanks Hairy Potter) and a real Windows key on it. And oh-so-well those maniacs at WGA hq deemed it un-authentic, and that means booting the computer, as slow as it already is, was 5 seconds slower than it needs. And the stupid thing pops up every few moments. And yet the banker my bro is has definitely great patience to put up with it for so long he's lost count. Now I know how the prime minister can tolerate a boat in his stomach (chinese proverb)
Come under the reign of the Idiot King...
Come to me ... I love linux!
Registered Linux user: Idiot King #350544
-
Because yesterday I tried to install Vista on my friends laptop and it wouldn't let me install on the first partition. I wiped the hard drive clean and created two ntfs partitions. The first one I wanted vista on and the second for data. It did install just fine when I had only one partition and then went back and created the second with vista.
To sum thing up for me:
"I'm sorry Dave, but I can't do that."
I know now why it was doing that. It was making sure I didn't overwrite the maintenance partition. Gee thanks.
-
I'm too busy to get distracted by reading what everyone has written, but it just occurred to me that Linux doesn't need to be defragmented... if no one mentioned it, that's a big one right there. Whenever I use Windows these days, there's always the inevitable moment when my system seems to be running in molasses, and I am reminded of the existence of defragmenting.
Last edited by blackbelt_jones; 04-03-2007 at 07:44 PM.
-
Originally Posted by MastaShake57
I would never upgraded beyond our very stable 9.1 revision of Veritas BackupExec.
Yep. I don't think we used 9.1, but 8.x was great. 10.0 wasn't too bad (although the admin console took forever to load, probably because they redid it in .net), but 11d SUCKS.
The only problem with the "let's keep using 9.1" approach is, there are major security issues with the BE remote agents that get released every once in a while. And of course when the issues are made public, no patch is released for the older agents -- Symantec says "if you aren't running one of the latest two versions, too bad". And of course they charge for the downgrade (because it's not an upgrade) to the next version number. Sigh.
So, long story short, we moved to 11d because there were bugs in the remote agent for 10.0. (And Symantec actually pulled the remote agent for 10.0 for XP x64 from their web server; you can't get it at all anymore. How this helps customers, I'm not at all sure; you can't use a 10.0 remote agent with 11d, or an 11d remote agent with 10.0. But it's typical Symantec crap. We got a pair of machines running the 64-bit XP because the people using them needed to be able to use a 64-bit version of the CAD package, and then realized we'd never be able to back them up. Sigh.) I wish we'd have been able to stay with the working version.
(The really retarded thing is, if the client machine isn't running any remote agent, BE will refuse to back it up at all. Used to be that under v8.x, it would back up the machine using the administrative c$ share (which of course wouldn't get in-use files, but neither does the remote agent). But no, not anymore. Sigh.)
Edit: blackbelt_jones: No, nobody has mentioned the fact that Linux FSes (ext*, reiserfs, probably also XFS, etc.) don't need to be defragged yet. Good one.
Last edited by bwkaz; 04-03-2007 at 10:12 PM.
-
regarding the FSes' defragmentation thingy, there is recent proof that NTFS under windows XP is less dependant on defragmentation. However, it is still evident that the improvement is a high-quality cheap hack (and yes this combi is possible). This is because heavy FS usage in windows will revert to the old algorithm.
In fact, this is easily deduced if you assume that, in the kernel, windows still uses the 20 yr old algorithm fit for floppy disks while some guru they hired added the sensible patch to modify the behaviour.
Nonetheless, linux's FS management is superior. No qualms about that.
Come under the reign of the Idiot King...
Come to me ... I love linux!
Registered Linux user: Idiot King #350544
-
You know, I want to touch on Open Source for just a minute. The benefits are not all abstract. Knowing what's on your computer (or knowing that the community knows, which is just as good) makes it more secure, and better security is technically better. Being able to choose and customize your interface is technically superior than not being able to choose, isn't it? Being able to improve the software leads to more technical innovation, yes?
Originally Posted by XiaoKJ
regarding the FSes' defragmentation thingy, there is recent proof that NTFS under windows XP is less dependant on defragmentation. However, it is still evident that the improvement is a high-quality cheap hack (and yes this combi is possible). This is because heavy FS usage in windows will revert to the old algorithm.
In fact, this is easily deduced if you assume that, in the kernel, windows still uses the 20 yr old algorithm fit for floppy disks while some guru they hired added the sensible patch to modify the behaviour.
Nonetheless, linux's FS management is superior. No qualms about that.
Does this mean I don't have to defragment my Windows partition anymore?
Last edited by blackbelt_jones; 04-05-2007 at 01:20 PM.
-
Drive letters. After all these years, Windows is still using drive letters. Even before Windows, the Amiga showed the right way to do it--allow drives to be specified by either volume name or device name.
So, for example, you could name a removable disc "GraphicsApps:", and specify a file within it as "GraphicsAppsPaint/Deluxe Paint". When you double-clicked on an image file, it could prompt you to insert the disc "GraphicsApps" in any drive.
What's really cool is that you could alias drive names to any directory on any disc, including a ramdisk. So, you could copy your GraphicsApps disc onto "ramdisk:GraphicsAppsCopy" and alias GraphicsApps: to that directory. Voila! All of your icons and scripts access the ramdisk files instead of asking you to insert the disc!
Now, let's contrast this to Windows where file paths are always specified by drive letter. This causes all sorts of headaches when, for example, some stuff is on the second partition of the primary hard drive but then you add or remove another hard drive. This shuffles drive letters around, and everything from registry entries to Start Menu shortcuts get screwed.
Linux does things in the Unix fashion, which is certainly better than the Windows way of doing things, even if it doesn't handle files on removeable media very well. Thanks to symbolic links, you can usually set things up to be somewhat easily portable from one device to another.
But the way Windows does things, with drive letters? Horrible. Just plain horrible.
Isaac Kuo, ICQ 29055726 or Yahoo mechdan
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|