Saturday, April 2, 2011

What is an Operating System?

What is an operating system?  Today, let’s look at what an OS (Operating System) is, and how it functions to bring us the environment that we expect in today’s society.  After all, in today’s world a house without a computer is comparable to a house without running water.  Before diving straight into the Operating System, however, I feel that it is necessary to overview the hardware side of a computer to better give an understand of what an OS is.

 

1) The Hardware

Inside the mysterious box known as a computer we find what makes the Operating System possible.  The main components inside of the computer are;

A) The Motherboard (Mainboard/Mobo), which connects via. circuits the remaining parts inside of the computer.  Integrated onto the motherboard is a chip containing the computer’s bios, which is basically the counterpart to the Operating System’s Kernel, which is the core of the operating system.  The Kernel is covered more in depth in a later part of this article.


B) The Central Processing Unit (CPU)determines to a large extent the overall speed of the computer.  Inside the CPU are circuits that open and close rapidly. The CPU is considered by many to be the ‘Brain’ of the computer, and is required for any computing to be done. But then again, so is much of the rest of the computer, such as the Motherboard, the Random Access Memory, (RAM) the Graphics Processing Unit, (GPU)and the Hard Disk Drive, HDD.  
The CPU works with a simple On/Off Switch that is represented in Binary by the two digits ‘1’ and the ‘0.’  In Binary, a ‘1’ would represent a open circuit, while a ‘0’ would represent a closed circuit. 
Something to quickly clear up here is the difference between Random Access Memory, (RAM) and the Hard Disk Drive.(HDD)

C) RAM: RAM is used to temporarily store data to be lined up for processing by the CPU, and this data is lost on a system shutdown of any sort. 

D) HDD: The HDD is used for extended storage of data, and remains safely stored on the Hard Disk even after thousands of reboots.  However, a Hard Disk Drive, like every other part in a computer, can be damaged by power failure, high heat within the computer, and many other triggers.

E)The Graphics Processing Unit (GPU) is responsible for much of the visual content seen on any monitor. The GPU, does, however, share the load with the CPU.

F) Other components include Sound Cards, Network Interface Cards (NIC’s) that allow internet access, Power Supply, Card Readers, Optical Drives (For reading or writing Digital Video Disks (DVD), and Compact Disks (CD), and the relatively new Blu-Ray technology.


2) The Operating System

After the basic overview of computer hardware I made in point 1, we will look at the software environment that is hosted by that hardware.  First off, lets look at how the Operating System interacts with the hardware.

We have all heard that the sky is the limit, but in the case of a computer it happens to be the Operating System.  The operating system determines what software developers can do with a computer.  If an Operating System does not support certain software functions, then no software designer can add functionality beyond a certain point to any piece of software UNLESS the Operating System is modified to allow it.  The hardware also plays a similar role, but is more difficult to modify without purchasing new hardware.

An computer and an operating system is like two boxes.  The first box, the computer or Physical box, sets the limit of what the computer is capable.  Inside the box that is the computer is another box, the operating system or Logical, which more specifically limits what the computer is capable of.

   - Physical vs. Logical

When referring to something Physical in computer terms, you are referring to the real, physical computer.  When referring to something Logical, you are referring to the software side of the computer. Software does, however, have both a physical and a logical side to it.  The physical side is the physical location that the software is written onto the Hard Disk.  The logical is the data that is actually shown by the program. Now, rabbit-trail aside, lets continue our look at the operating system.

Inside the Operating System is actually a third ‘box,’ the Kernel, which interprets between the actual computer’s hardware, and the rest of the operating system.  Any commuting done must go through BOTH the CPU and the Kernel. To put it simply, the Kernel controls both Input and Output Operations, (I/O Operations)  and as a layer between any software, and the hardware.

Input is the data that gets fed to the computer through any input devices, such as a computer mouse, a keyboard, a optical drive, any permanent storage devices, and also a network card.  All of these devices, with the exception of the first two, double as output devices.  Additional output devices include Printers, and Monitors.

The operating system also needs a device map to tell the OS where, and what every device is.  For this reason, and several others, Device Drivers are needed.  If a driver is poorly written, or has faulty data in it, the device may malfunction, lost functionality, or actually cause damage to the Operating System’s core files. 

A Device Driver is basically a file located within one of the Operating System’s primary system folders. The file that is the driver tells the operating system what it is, how to function, and where on the physical computer it is plugged in. 

The Kernel, with the support of the system drivers, provide a solid base for software to be developed on and for.  This, however, is only the case when the design, development, testing, and deployment of the operating system has been entirely through.  Because man will never be perfect, there will never be a perfect operating system.  Many there are who support one OS or the other as being as near to perfect as possible,  but I have my reservations about listing any OS as being ‘perfect.’ 

Why so many different Operating Systems?  New Operating Systems are released for a variety of reasons.  The biggest of these reasons is 1) No Operating is so good that it can’t be improved upon.  2) A company that does not improve their product is left out of the market. 3) People expect change.  4) New hardware development that allows for more software features to be preformed at faster speeds. 

3) System Crashes

An Operating System crashes for only two reasons.  1) Hardware failure, or 2) Software failure.  Hardware failure and diagnostics may get discussed in a later post as this post focus only on the software other than the brief explanation of hardware given earlier in this post. 

The Operating System and/or software crashes when a method or function is called for that the software was not designed to handle for.   This could leave to an internal error within the piece of software.  The question is, what will the software do with this error? A good piece of software is not one that necessarily has the largest number of features, but rather the one that can handle any amount of user misuse, either intentional or unintentional, while still preforming exactly as its designer intended.  A poorly written application would be the one which hangs or crashes when a user asks it to do something it was either never intended to do, or was never fully developed.

Other crashes are due to ‘invisible’ users manipulation of holes within the software to plant viruses, or otherwise cause user discomfort.  These ‘invisible’ users could be professional hackers, they end up being other third parties or apply patches to fix a different issue, but break something else in the process.

4) Operating System Security

OS security features are needed to prevent data theft or other spyware.  These measures often include tamper detection and protection that renders the OS unusable if any major OS files are changed.  The most common security feature is a password, but over the last several years face identification that is now an option with the development of webcams is becoming more common.  Another somewhat security feature used is fingerprint readers, popular among the corporate world.  All of these methods mentioned are only require user identification with the exception of the first one listed.

Anti-virus software is often added in addition to any security features integrated into the OS.  This is because no OS can completely account for the constantly changing world of viruses and computer infections.  Virus software is able to update it’s list of what constitutes a bad piece of software, while for an OS this is often not practical.

Today, OS security is losing

Conclusion

To wrap this up, lets review what was covered in this post.  To start with, we looked what is inside a common computer.  Secondly, we looked at how this hardware interacts with the core of the operating system, the kernel, to give us the rich user environment that is available to the average consumer. Thirdly, we saw that because no OS is perfect, there will be flaws;  good software is the software that handles these flaws.  Fourthly, we looked at short list of common OS security features. 

Later on, we’ll look at and do some comparison of the major OS’s available to consumers.  Microsoft Windows and Mac OS, and Linux being the top three major operating systems.  If requested, I may go into great depth and detail into an OS at a future date that would look more at how an OS works rather than what it is.


EDIT: Below is a graph obtained from here that shows the relationship between software and hardware.