A Complete Lack Of Control
Posted by isecore on March 25th, 2008
It was a while since I wrote anything about computers, so I guess it’s about time I got back to being white and nerdy.
Fairly recently I had the good fortune of being able to upgrade my aging and ailing computer. Even though it has served me well for almost a half decade (!) it started to show some cracks in the makeup. Often it had problems booting. Disturbingly often I was met with a black screen when I turned it on, only hearing the fans spin up but nothing more. Sometimes it would restart itself, usually when I was asleep but also sometimes when I was using it. Add to this that pretty much every time I turned it on I had to restore my BIOS-settings since the motherboard interpreted these false-starts as a problem and reset the bios to default, safe values.
It was no surprise that the computer needed upgrading, something that I originally had put off. My original plan was to flat-out refuse to upgrade my computer until I could afford a Mac. This turned out to be a bit unrealistic, and since being Windows-free for a year sorted out my biggest desire to get a Mac (i.e., not having to deal with Windows) I thought that maybe an upgrade of my PC was in order anyways.
Additionally, you get an almost silly amount of computing power for relatively small sums of money these days.
My new components got ordered and arrived a few days later. I went for an AMD Phenom, 4GB of RAM, a BFG Geforce 9600GT and stuck it all on a nice new shiny Gigabyte-motherboard. The Phenom is a quad-core processor, meaning it’s essentially four processors on one chip. I also knew about the so-called TLB-bug which AMD disclosed a while ago, and even though less levelheaded people than me were screaming bloody murder I felt that the hoopla was greatly exaggerated. So far I haven’t had any issues that I directly can relate to the TLB-thing, and I’m running my computer with the bios-fix for it disabled.
Which brings me to why I’m writing this.
Since I now had a rather nice machine I felt that it would be wasted if I didn’t try out the current crop of games. That meant installing Windows, which I somewhat reluctantly did on a separate harddrive. It went as well as could be expected, and once it was installed I got heavily reminded of one of the reasons why I really, really dislike Windows as a concept and as an operating system:
As a user you have no control other than what Microsoft decides to give you. Even that little control is unreliable and not something to count on.
One of the games I wanted to try out was the new SimCity game. I installed it, and when I tried starting it nothing happened. No error message, no crash-report. Nothing. Zip. Nada. Void. Null. It was as if I’d never clicked the icon.
And I had no way of figuring out what was wrong, because Windows intentionally limits the amount of control you as a user have over your own computer. You have literally no way of figuring out what’s happening behind the scenes of that awful GUI that Microsoft insisted Windows XP needed to have.
In Linux it’s easy. You run the app from a terminal, and it will output what’s going on. If it dies, you can use this to figure out why the app crashed, or even why it didn’t start at all. The same method in Windows will give you nothing.
Another fun moment is when that fullscreen game dies on you. It just freezes, and you sit staring at a pretty yet dead screen. What now? Yeah, normally you would press ctrl-alt-delete to bring up the task manager, but this is a broken method and doesn’t always work. Sometimes Windows just refuses to let this method work, for whatever reasons it might have. The only thing to do then is reach over and press that nice little reset-button on your computer. Then you can feel your life drain away while Windows does scandisking all the while accusing you of not shutting your computer down properly, don’t you know that you should always shut your computer down properly, you silly little user?
In Linux, the GUI is called X11, or X for short. When an application makes X freeze (yes, it happens even under Linux that apps crash or freeze) what do you do? You press control-alt-backspace and X restarts. That’s it. No cold reboots of your computer. No bad sectors on your harddrive. No hidden accusations that you’re a dumb person who needs to be punished.
And, if the worst of the worst happens and the ctrl-alt-backspace thing doesn’t work there’s always a fool-proof way of safely restarting your computer without resorting to pressing the reset-button. This method is called the Magic SysRq-Key and is a part of Linux since several years.
The magic-what key?
Take a gander at your keyboard. You will most likely find it above the number-keypad to the right. It’s labeled “Print Screen” and underneath that label is the second label: SysRq. Most computer users will agree that it’s probably the most useless button on the keybard. Well, at least until Linux found a use for it.
The story behind SysRq is somewhat convoluted. The version I’ve heard was that in the mid-80’s when IBM reigned supreme over the PC market together with Microsoft, Microsoft was planning for a new version of DOS. Apparently this version was going to be the coolest thing since sliced bread, and Microsoft insisted that IBM put an extra key on the keyboard to fully comply with all the awesomeness they were going to put in this new version of DOS. IBM complied and added the SysRq (short for presumably “System Request”). As for that legendary version of DOS that supposedly would change the way we compute… well… the world is still waiting for it.
Linux uses the SysRq-key in a very neat way. It allows you to send low-level commands straight to the kernel. These can be a variety of things, such as telling your computer to unmount all filesystems, ask all running processes to shutdown nicely, or to tell the computer to restart or shut itself down. Harnessing the power of the SysRq-key means a Linux-user will never have a corrupt filesystem, since even if everything he or she sees locks up, the SysRq-key will always obey the commands it is given.
Windows has nothing like this.
When the fecal matter has hit the oscillating unit in Windows, that’s were you’re stuck. Either that or pressing reset and getting implied that you’re a substandard human being who can’t even handle the most basic procedures of computing.
The control you have over Windows is an illusion. It’s a gilded cage without any real control, other than the control you have over the reset-button. When applications fail there’s no way of finding out what’s wrong except to be a programmer and have some complicated set of debugging gear running. Even then there’s no guarantee you’ll figure out what’s wrong.
I resolved my SimCity-issues. How? By completely uninstalling the game, making sure there were no traces of it left anywhere, then reinstalling it. I did this three times and finally it worked. I don’t know what changed, but something did and now it works. I most likely have no way of finding out either what was causing it.
License
This work is published under a Creative Commons Attribution-NoDerivs 2.5 Sweden License.







March 27th, 2008 at 16:53
I so recognize this procedure. Reinstalling over and over, problems magically appearing or disappearing, in spite of me sitting with OllyDebug and literally tracing what the program is doing.