Tuesday, September 1, 2009

Computer Literacy 101 -- what is an operating system?


An operating system (or OS) is a special program that allows other programs to run. This is the core of a general purpose computer -- the ability to run programs that are not pre-determined. A specialized computer (or microprocessor) may be able to run multiple programs but they are known in advance and, thus, the system can be designed to just run those programs (simpler, faster, and smaller).

As a more general definition, an operating system manages the resources of a computer. Sometimes, it is defined by a hierarchical model (sometimes known as the "onion" model) because there are services that are provided by the primary section of the operating system. Then there is another layer that provides new services plus makes use of the primary section. Then another layer that makes use of the other two layers, and so forth.

Some of the services provided by an operating system (in "layer order") are task (program) management, memory management, process (tasks communicating with one another) management, device management (such as hard disks, or CD-ROM drives, and so forth), and finally file management.

Because the applications make use of operating system services, which in turn rely on other "lower layer" services, most applications are not portable between different operating systems. This is why a program that works with Windows (a particular operating system) may not work on a Macintosh (running Mac OS X, a different specific operating system) or under a system running UNIX or Linux (two closely related operating systems).

There is an apparent exception to this -- but it really still follows the same rules. If one uses a browser that executes a program within the browser, that program may work with browsers running on computers using different OSs. It appears to be OS independent (able to work under any operating system) but, actually, it is making use of a set of services that have been defined to have the same use on multiple operating systems. Because this set of services, or interface, between the program and the next layer is the same, the program can run under different operating systems -- but the underlying program that provides that interface is still operating system dependent.

There is little agreement on what Operating System is "best". In general, the one that provides the services that you need, and the applications you need, for the lowest price and greatest speed is "best" for you. (It may not be the best for someone else with different needs.)

No comments:

To Waste or to Waist: That is the question

       As is true of many people growing up in the US, I was encouraged to always clean my plate (encouraged is putting it mildly -- I remem...