I’m a long-time, frustrated Windows user. I have tried various Linux distributions in the past, but I haven’t been satisfied with any of them. Today, I went out and bought Red Hat Linux 8.0 from Office Depot for $40. I am a dial-up internet user and I consider myself computer literate, although I don’t have much experience using Linux on the desktop. I do however, have some experience using Linux and FreeBSD as a server (no GUI).
I was excited to see all the positive, glowing reviews of the latest version of Red Hat Linux. I thought, “finally, I can get away from Windows 98.” “It just works” is the mantra. Unfortunately, this was not the case for me.
I tried two different computers. The first one was my laptop, a Toshiba 2595CDT. Installation was easy, all the hardware was detected flawlessly (even the USB mouse, which Windows 98 was never able to recognize). Installation of the “desktop” system took just over an hour. The computer is a Celeron 400a with 64MB of RAM and a 4.3GB hard drive.
[Editor In Chief’s Note: The RAM for this machine does not meet the requirements of Red Hat 8.0 towards X11.]
Once the system was booted, I was surprised to see that GNOME was so slow, it was useless. It took a full 5 minutes for Open Office Writer to load up. It took a minute for a window to show up when I double-clicked on the ‘home’ icon. I’m sorry, but there’s no way I can use a system like this, I can’t get any work done.
I clicked here and there looking for ways to speed the system up. I turned off “animations,” but it didn’t do anything. What I mean is, all the windows and whatnot were still animated. I found a “services” option which I used to shut down a bunch of unused services. I’m still confused as to why there were printer related services running when I specifically deselected all printer-related packages during the install. I don’t have a printer attached to the laptop and I don’t plan on getting one.
After spending about an hour fooling with this and that, I found a “Desktop Switcher” option. I thought to myself, “cool, maybe there’s a faster desktop than GNOME.” The only other option there was ‘TWM,’ so I clicked it.
It was then that I realized just how easy it is to break a Linux installation. I wasn’t running as root, I was running as a normal user. It dropped me to a blue background with no menus, no icons, nothing. After clicking a bunch of times, the only thing I could bring up was a terminal window. I promptly got back on my “real” desktop machine (running Windows 98) and found a #redhat IRC channel on irc.openprojects.org. Luckily, they told me how to switchback (‘switchdesk gnome’). Unfortunately, it didn’t work 100%. You see, at every login, I am still presented with an ugly “Welcome to XFree86” login screen (as opposed to the default RedHat one I originally had). I tinkered with /etc/inittab for another hour and finally gave up when nothing seemed to work (even changing it to gdm, but as I mentioned, I’m no expert).
Since the whole mess was slow anyway, I decided to try my extra computer (which had CRUX 0.9.4 installed, but that I never used since I couldn’t get much done on it). This computer is a 500mhz Celeron with 128MB of RAM, a 13GB hard drive, and a 16MB Riva TNT (no sound card).
This installation went much faster (about half an hour), and I chose to install WindowMaker and KDE (in addition to the GNOME default). I figured if GNOME was still too slow, I could try something else.
Again, the installation was straightforward and I had no problems. I got to GNOME and low-and-behold, it’s still slower than molasses. I seriously don’t know how anyone can use a system such as this. Every window takes eons to load, and that’s just the regular file manager. Apps take even longer.
Wait, I take that back. I loaded AbiWord and it loaded right away. However, inside the application, the word wrap didn’t work correctly, and wrapped somewhere around 1.5 screens wide, and I couldn’t find an option that changed that. The browsers were slow, preference panels still ignored my settings (no animations), and even though I installed Galeon and Mozilla, the ‘default’ browser is always lynx.
So I fired up the desktop switching utility again (this time I was sure to stay away from TWM). I first tried KDE, which was slower than GNOME (if that’s possible). The windows are sluggish, startup times are horrid, and frankly, the default fonts are pretty ugly. The ugly part doesn’t bother me much, in all honesty, I just want to get some work done. My main tasks include coding in PHP, testing in a web browser, checking email, and chatting on IRC. These tasks should not bring a 500mhz computer to its knees!
Another major usability problem is the menu system. System Tools, System Settings, Preferences, and Server Settings are all duplicated under the ‘Extras’ menu. Why can’t they be categorized with the rest of the applications? Furthermore, why can’t I easily recategorize them to suit my needs? In Windows, it’s as simple as dragging the menu items around.
So, after a failed KDE trial, I decided to try WindowMaker. I had a little bit of an introduction to WindowMaker in my previously mentioned CRUX install. In CRUX, none of the menu items worked, so it was pretty pointless. I figured RedHat would get it right. When WindowMaker started, it looked exactly like the CRUX install. The menus were full of applications that simply didn’t work (not found errors). I don’t understand why someone would include a bunch of programs in the menus when the programs themselves aren’t even installed.
However, I did look around and I did find programs I was sure were installed. For instance, The GIMP. It worked in GNOME so I knew it was installed… Still got the error, though. The only menu item that worked in WindowMaker was VIM, but why do I need WindowMaker to run a text application? Back to GNOME (this time using ‘switchdesk gnome’ since there was no menu option for it).
Uh-oh, after switching from GNOME to KDE to TWM and back to GNOME again, all the desktop icons disappeared. I still have the menu and I still have the panel, but no desktop icons whatsoever. No home directory, no “start here,” nothing.
Needless to say, I’m not impressed. Sure, the GNOME installation looked good. I like the interface, a lot. I just can’t stand how slow it is.
Although the package management system was much better than the last time I used RedHat (6.1), it’s still not as convenient as going to the author’s web site, downloading a file, and double-clicking it to invoke the installer. Plus, the removal of packages leaves a big dirty mess in my home directory.
I think it’s important for an operating system that’s touted as “user friendly” to be pretty resistant to permanent breakage, especially for a normal user. If a utility has the potential to break or change the entire system (such as my switch to TWM), it either shouldn’t be presented as an option, or there should be a warning message. RedHat shouldn’t assume that everyone who installs their operating system is familiar with Linux, and every change should have an easy fix, should something break.
Finally, was there anything I liked about it? First of all, I chose to install Apache, bind, MySQL, and mod-php. Logged in as root, I was able to find the “services” utility and start MySQL and Apache at boot up (as a service). I was able to configure Apache using the graphical tool – much easier than on Windows, I must say. Galeon wasn’t bad, but why must it require the Mozilla package to run? I realize it’s based on Gecko, but what’s the point of having two complete browsers installed when I only need one?
In conclusion, my experience wasn’t a positive one, and I’m afraid I will be using Windows 98 for quite a while. I really dislike Microsoft and Windows in general, I must admit that it at least lets me get my work done in a timely fashion. I do realize that my two systems aren’t the latest-and-greatest, but for my purposes, they should be sufficient. Unfortunately, I only see the situation getting worse. The major Linux distributions keep getting bigger and bigger, more and more bloated, and ultimately, slower.
Red Hat Linux 8.0
http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/
Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the physical memory is full, inactive pages in memory are moved to the swap space. While swap space can help machines with a small amount of RAM, it should not be considered a replacement for more RAM. Swap space is located on hard drives, which have a slower access time than physical memory.
Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of swap partitions and swap files.
The size of your swap space should be equal to twice your computer’s RAM, or 32 MB, whichever amount is larger, but no more than 2048 MB (or 2 GB).
Reducing Operating System Overhead
In order to reduce operating system overhead, you will have to look at your current system load, and determine what aspects of it result in inordinate amounts of overhead. These areas could include:
Reducing the need for frequent process scheduling
Lowering the amount of I/O performed
Do not expect miracles; in a reasonably-well configured system, it is unlikely that you will see much of a performance increase by trying to reduce operating system overhead. This is due to the fact that a reasonably-well configured system will, by definition, result in a minimal amount of overhead. However, if your system is running with too little RAM for instance, you may be able to reduce overhead by alleviating the RAM shortage.
http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/admin-prime…
The diference between Celeron and CPU with Cache L2:
Cache Memory
The purpose of cache memory is to act as a buffer between the very limited, very high-speed CPU registers and the relatively slower and much larger main system memory — usually referred to as RAM[1]. Cache memory has an operating speed similar to the CPU itself, so that when the CPU accesses data in cache the CPU is not kept waiting for the data.
Cache memory is configured such that, whenever data is to be read from RAM, the system hardware first checks to see if the desired data is in cache. If the data is in cache, it is quickly retrieved, and used by the CPU. However, if the data is not in cache, the data is read from RAM and, while being transferred to the CPU, is also placed in cache (in case it will be needed again). From the perspective of the CPU, all this is done transparently, so that the only difference between accessing data in cache and accessing data in RAM is the amount of time it takes for the data to be returned.
In terms of storage capacity, cache is much smaller than RAM. Therefore, not every byte in RAM can have its own location in cache. As such, it is necessary to split cache up into sections that can be used to cache different areas of RAM and to have a mechanism that allows each area of cache to cache different areas of RAM at different times. However, given the sequential and localized nature of storage access, a small amount of cache can effectively speed access to a large amount of RAM.
When writing data from the CPU, things get a bit more complicated. There are two different approaches that can be used. In both cases, the data is first written to cache. However, since the purpose of cache is to function as a very fast copy of the contents of selected portions of RAM, any time a piece of data changes its value, that new value must be written to both cache memory and RAM. Otherwise, the data in cache and the data in RAM will no longer match.
The two approaches differ in how this is done. One approach, known as write-through cache, immediately writes the modified data to RAM. Write-back cache, however, delays the writing of modified data back to RAM; in this way, should the data be modified again it will not be necessary to undergo several slow data transfers to RAM.
Write-through cache is a bit simpler to implement; for this reason it is often seen. Write-back cache is a bit trickier to implement, as in addition to storing the actual data, it is necessary to maintain some sort of flag that denotes that the cached data is clean (the data in RAM is the same as the data in cache), or dirty (the data in RAM is not the same as the data in cache). It is also necessary to implement a way of periodically flushing dirty cache entries back to RAM.
Cache LevelsCache subsystems in present-day computer designs may be multi-level; that is, there might be more than one set of cache between the CPU and main memory. The cache levels are often numbered, with lower numbers being closer to the CPU. Many systems have two cache levels:
L1 cache is often directly on the CPU chip itself and runs at the same speed as the CPU
L2 cache is often part of the CPU module, runs at CPU speeds (or nearly so), and is usually a bit larger and slower than L1 cache
Some systems (normally high-performance servers) also have L3 cache, which is usually part of the system motherboard. As might be expected, L3 cache would be larger (and most likely slower) than L2 cache. In either case, the goal of all cache subsystems — whether single- or multi-level — is to reduce the average access time to the RAM.
Main Memory — RAMRAM makes up the bulk of electronic storage on present-day computers. It is used as storage for both data and programs while those data and programs are in use. The speed of RAM in most systems today lies between the speeds of cache memory and that of hard drives and is much closer to the former than the latter.
The basic operation of RAM is actually quite straightforward. At the lowest level, there are the RAM chips — integrated circuits that do the actual “remembering.” These chips have four types of connections to the outside world:
Power connections (to operate the circuitry within the chip)
Data connections (to enable the transfer of data into or out of the chip)
Read/Write connections (to control whether data is to be stored into or retrieved from the chip)
Address connections (to determine where in the chip the data should be read/written)
Here are the steps required to store data in RAM:
The data to be stored is presented to the data connections.
The address at which the data is to be stored is presented to the address connections.
The read/write connection to set to write mode.
Retrieving data is just as simple:
The address of the desired data is presented to the address connections.
The read/write connection is set to read mode.
The desired data is read from the data connections.
While these steps are simple, they take place at very high speeds, with the time spent at each step measured in nanoseconds.
Nearly all RAM chips created today are sold as modules. Each module consists of a number of individual RAM chips attached to a small circuit board. The mechanical and electrical layout of the module adhere to various industry standards, making it possible to purchase memory from a variety of vendors.
http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/admin-prime…