Operating Systems & Software 101

Now that you’re familiar with hardware, let’s take a look at what the hardware is actually for. PCs are awesome devices simply for that fact that anyone can use them. This is mainly due to good design of the software it runs. For example, my girlfriend couldn’t care less how the engine and transmission work in her Mercury Mystique, yet she’s a good driver. PCs are the same way. You don’t have to know how the hardware works to use a computer. Sure, you have to know how to turn on the monitor, click and move the mouse, and type on the keyboard (many people use the “hunt & peck” method just fine though), but that’s about it. The main reason you’d want to know how the parts of a computer work is simply for the sake of interest, or if your family/friends/neighbors coerce you into fixing their PC’s.

You might be wondering, What is Software? Software are programs that do different things. I can’t say all what programs do what, but for home users, there are programs for browsing the internet, programs for playing back video and music, programs for editing text files, programs for creating slide shows, etc. Software is why we have computers. I know I don’t run my computer 24/7 cause I like the sound, and like paying energy bills. I use the internet (duh), I listen to and watch (respectively) my extensive music and movie collections, I write, I play games, I manage my finances… etc. Without good programs to do this, A computer would be of absolutely no functional use. (Unless you like a fairly noticable, yet constant background source of sound. For that, they make machines that loop sounds of rainfall, wind, ocean waves, and birds chirping for around $10. A much better deal if you ask me.)

What is an Operating System. Sounds kinda complicated doesn’t it? Well, good news is it’s not. Lets’s think of hardware and software as speaking different languages. Programs have needs that need to be met in order to be used and the hardware fulfills (or at least, tries to) these needs. The problem is, software can’t tell the hardware what it needs. This is where the operating system (OS) comes in. The OS is the middle-man for both the hardware and software. For instance, if you’re using Itunes to listen to play a certain song, this is what actually happens. Itunes will tell the OS, “I need the song ‘Rock and Roll Band’ by Boston.” The OS will tell translate this message to the hardware. CPU processes info, harddrive spins, CPU processes more info, song gets loaded into RAM, CPU processes more info… you get the point. That in a nut shell is what the OS is. Some will say, the OS manages the hardware for the software, some will say the OS manages both hardware and software, some will say something else, blah blah blah… They’re all basically the same idea.

Believe it or not, there are also parts to the OS. The main part of the OS is called the kernel. The kernel is the brain of the OS, and every other part of operating system is subordinate to the kernel. Different OSs use different types of kernels. The two main types of kernels in use are monolithic kernels and micro kernels. Monolithic kernels support different “modules” that plug into the kernel directly with the kernel. A perfect example would be from the Matrix. Neo needed to know how to use a helecopter to escape from the agents, so he called the main ship and had them load a program that taught his host body how to fly a helicopter. (If you haven’t seen the Matrix, you won’t get this, so go rent the movie and watch it; it’s an awesome movie). This is the best example of a monolithic kernel I can think of. When an OS kernel doesn’t know how to talk to a certain piece of hardware, (not all hardwares speak, nor understand, the same lingo), it can load the proper module. In geek speak, monolithic kernels run modules in kernel space. Micro kernels take a different approach. They basically work similar, but their modules (actually called servers), run in memory space, separate from the kernel. OSs are very complex pieces of software, and some are better than others at hiding this complexity. Mac OS-X 10 (from my understanding) is by far the easiest OS to use. It requires virtually no technical knowledge to use, and looks very nice. This is always a plus with consumers. Windows (as all of us are familiar with to some degree), is the most mainstream. Many people complain about Windows, or don’t think anything of it at all, because it’s simply a de facto standard for OSs. I went all through school using Windows 95, 98, 98se (Second Edition), 2000, XP. I have no personal experience with the newer Windows Vista, but I’ve heard a lot of complaining on the forums I frequent, with a few people telling me how awesome Vista really is. Another famous OS is UNIX. UNIX was the original, standardized OS for all types of computers. from mainframes to PCs and luggables (FYI, luggables were early attempts at what laptops are now. They were large, heavy, and barely usable. About the size of a large carry-on luggage bag.). UNIX was the type of OS that demanded you know what you;re doing. Instead of seeing your usual desktop and pointer with menus and buttons, all you saw was this…

One of the obstacles of design (for anything) is ease of use vs. configurability. You can’t have the most of both. To make something easy to use, you’re limiting options, and the more configurable something is, the more difficult it becomes to use. UNIX is famed for being very configurable. It found success on network servers, and development workstations, whereas OSs like Windows and MacOS were much easier to use. I had to save the best in my opinion for last, and that’s Linux. If you’re at all interested in technology, in the last few years, you’ve probably heard of Linux once of twice. Linux is based on UNIX, but is much more flexable. It can have a desktop, and function like a regular PC ( like Windows or a Mac), but can also run quite well on servers (of all kinds), and even oddball devices like cell phones and PDAs. It can be just as complex as UNIX and shares many traits, while being completely built on Open Source technology (more on that later). I personally am a Linux user and have been for a few years. I use it because I can control every aspect of my computer, if I want to. It’s highly configurable, but the complexity that follows configurable can be throttled down in favor of ease of use.

UNIX/Linux, Windows, and MacOS aren’t the only operating systems out there. just the only few you might use for your PC. Most computer-like devices, like cellular phones and PDAs also have OSs like Symbian, PalmOS, (Blackberry has one, but I can’t recall the name), and others. Most of them are one-off custom for that device.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: