Operating Systems

An operating system, abbreviated OS or O/S is a program or set of programs that coordinates computer usage among users, manages computer resources, and handles common tasks.

Functions of an Operating System

Provides means for users/programs to communicate with each other.

Why are there different operating systems?

Why are there different kinds of cars or different kinds of shoes? Football players and ballet dancers wear different shoes (in their job) because they have different needs. But many times people make different choices for personal taste, e.g. Nike vs. Adidas or Honda vs. Toyota. In the case of operating systems different operating systems serve different needs. The tasks that servers perform are somewhat different than the tasks that clients perform. So server operating systems will normally have different features than client operating systems. Some operating systems, such as many variants of UNIX, can be used for both client and server systems.

But aren't Windows Vista, Macintosh Leopard and Ubuntu Linux all client operating systems? For the most part it's a matter of preference although certain operating systems only work with certain hardware. For example, you can only run Leopard on a Macintosh computer and you cannot run Windows on (older) Macintosh computers. Particular software packages only run on certain platforms. For example, the video editing program, Final Cut Pro is a Macintosh exclusive, while Sony Vegas Video is a Windows only video editing program. Other programs such as Adobe Premiere are available in both formats. Programs that are available in several formats typically have slight differences in user interface and features.

Multitasking

Multitasking is the process in which a computer apparently executes multiple tasks simultaneously. This can be accomplished in two ways: by having more than one processor, each performing tasks or by having one processor switch between tasks. The speed of a CPU is much faster than any I/O device. Therefore if your computer were only executing one program such as a word processor, the CPU would stay idle most of the time since no human can type fast enough. Multitasking allows multiple programs to reside in the memory at the same time and switches the CPU between those programs.

Resource Management

A computer has several major resources which need to be managed in order for the computer to function efficiently.

User Interface

The user interface determines how the end user interacts with the computer. Most personal computers today have a graphical user interface or GUI (pronounced gooey) which are characterized by WIMP (windows, icons, menus, pointers). Typically the interfaces are similar in that you use a keyboard and mouse to navigate from place to place and you can invoke various programs and commands by pointing and clicking. There have been many studies made by software manufacturers to determine the characteristics of a user interface that make it easy to learn and easy to use. The changes that are made are usually better although learning how to do things that used to be second nature to you can be frustrating when you switch from XP to Vista or Office 2003 to Office 2007 or from Microsoft to Apple.

Booting, Rebooting, Cold Boot, Warm Boot

Booting refers to the process turning your computer on and having it start running. This process is sometimes referred to as a cold boot. If your computer is currently running and for some reason you wish to restart it then you will reboot it or warm boot it. Normally, you will not need to reboot your system unless something is wrong - perhaps the keyboard or mouse in not responsive. This usually occurs because of a malfunction in either the hardware or software. The cold boot process contains several steps:

  1. When the power is turned on, the computer will run a program that is stored in its ROM which will check the computer to see if will run. Typically it will check the memory, the disk drive, the keyboard and other components. If it finds a problem it will normally display a message on the screen and ask for a response from the user. If it does not find a problem then it will go on to step 2.
  2. The computer will try to load the operating system into memory and start behind-the-scenes programs, called services, to perform special tasks. There are built in instructions in the system ROM telling the machine where to look for the operating system. Normally this will be on the (main) hard drive in a particular place (see hardware > storage).

A reboot or warn boot will stop all processing, clear memory and then reload the operating system as in step 2 above.

Compatibility among various Operating Systems

In general a program written for one operating system will not run on another operating system. There may, however, be similar versions of the same program. For example, there are versions of Adobe Photoshop CS3 available for both Windows Vista and Macintosh Leopard. They perform similar actions and work in similar ways. But if you tried to install the Windows version on a Leopard computer it would not run. In fact it wouldn't even install. Typically there is compatibility with data. So a photo that you manipulated with the Windows version of Photoshop can be manipulated with the OS X version of Photoshop.

There might also be stronger data compatibility. For example, MS Word 2003 stores its data files in a different format than MS Word 2007 (and Word 2008). So normally a paper produced with one Word version would not be compatible with the other one. However, Word 2007 (and Word 2008) have the capability of reading data from Word 2003 (and Word 2004). Word 2003 (and Word 2004) cannot read data from the newer versions of Word, but Microsoft has produced a program that will translate the data from the new version so that it can be read by the old version. Depending on how the document was formatted, importing the document into the old version of Word may lose some of its characteristics.

A final problem occurs with disk drives. Currently both Macintosh OS X and various versions of Linux are capable of reading the data on a Windows hard drive formatted in the NTFS file system. They can read from and write to a Windows disk formatted with the FAT32 file system. However, Windows can neither read nor write data on Macintosh or Linux disks. Each operating system uses a particular file system for its hard drives. These file system formats have been copyrighted by their respective owners and therefore cannot be used by their competitors without permission. This is one of the reasons that the various systems format their disks and store their files differently. Since Microsoft dominates the market, it is to their advantage incompatibility exists between Windows computers and others. On the other hand for Apple and various UNIX-like vendors, it is to their advantage if their systems are compatible with Windows. Therefore Apple and RedHat and other vendors add capabilities to their operating systems allowing them to read Windows disks. For similar reasons Microsoft doesn't include compatibility. Third party developers produce software to improve the compatibility of disks among different operating systems.

Further Info

Wikipedia operating systems
Wikipedia multitasking
Wikipedia resource management
Wikipedia Virtual memory