(Kilen Matthews works with Y2KEgypt as an international IT consultant and freelance journalist)
What is an operating system (O/S)? That is exactly the question the U.S. Justice Department’s action against Microsoft asks, where the battle is looming about whether a web browser is a part of the Windows O/S.
But legal definitions aside, (see sidebar for the US Dept of Justice negotiated definition of an Operating System) if you want to get technical only, you've come to the right place. In these columns, starting with the O/S, I'll try to explain some of the concepts, terminology and fundamentals of the components of computer systems, hardware and software, that may seem a mysterious world to you. Come with me and we'll explore some of what's under the hood and hopefully help you become a little more comfortable with computer basics and more confident using computers.
Nice and Soft
First of all the operating system is software. It is a computer program or set of programs written by programmers. The O/S is simply the most important program running on a computer. It is the master pilot and without it's permission and support nothing else can get done. It is always running or "executing" and it gets loaded first when the computer "boots" or starts up. If the O/S crashes no other programs will be able to work properly unless you restart the system.
Another way to answer "what is an operating system?" is to list the things it doesn't do. The O/S won't do let you type letters and do word processing, search databases, calculate spreadsheets, send email, draw pictures or solve formulas. Those are all "applications" which rely on the O/S for services.
At your Service
Providing services is what the O/S is really all about. The O/S can be thought of as a multilingual manager and negotiator for all the hardware and application software on the computer.
Some of the main O/S services supplied to the application software include:
· File and directory system management
· Memory management
· Process management and intercommunication
· Networking services
· Security and user access
The O/S is not an end to itself; it exists so that the applications software programs can do what they are built to do. Modern operating systems are multi-tasking, meaning they allow more than one program to run at the same time. The O/S makes sure that those concurrent programs and users do not interfere with each other
Pick One from Column "A" …
The application programs communicate with the O/S through a set of software subroutines, protocols, and tools for building software applications called the Application Program Interface (API). The API lets programs "call" for O/S services and control blocks whenever the application needs to interact with the rest of the computer and peripherals. This ends up having a great benefit for you, the end user, since it can make new applications easier to learn. For example, if you are using Windows 95 and get a new program, you probably already know where to go on the menus to open and close files, send them to the printer, etc. The API makes it possible for applications developed by different programmers and companies to have a common, or at least similar, "look and feel" interface for the user.
Every general purpose computer must have an operating system present for the application programs to run "on top of". This is certainly true of mini and mainframe computers as well. Companies like IBM, Sun and Digital have written operating systems for the computers they sell.
For PCs, the most popular operating systems are DOS, OS/2, the Windows family and increasingly, Linux, a PC version of Unix, one of the most popular minicomputer operating systems.
If it walks like a duck…
Windows 3.x is not a true operating system; in order to run Windows 3.x (Windows versions 3., 3.1 or 3.11), a computer must already have DOS installed and running. Whether or not Windows 95 itself is an operating system or merely a graphical user interface (GUI pronounced GOO-ee) to an underlying DOS is still a debated question. To most users, though, that is a meaningless distinction. Windows walks, talks and acts like an O/S.
With this architecture, the O/S frees the programmers of a word processor, for example, from needing to worry about what type of hard disk you have on your computer. The word processor just tells the operating system it has a file to save and the O/S handles writing it to the floppy, hard disk or CD-Rom or whatever you have selected.
Modern operating systems - except DOS - are "multitasking" meaning that they can permit more than one application program to run at the same time. Here, the O/S acts like a "traffic policeman", scheduling the resources of the computer sliced into fraction of a second pieces, determining which applications should run, in what priority order and how much time each gets before being given a red light so another application gets control and can make some progress on its tasks.
Finally, in it's extended traffic control role it is the O/S which tries to make sure there are no collisions on the computer's internal highways. Notice, I said "tries". Sometimes a misbehaving application will try to do something the O/S does not understand, or has rules against and this can cause the system to crash.
Straight talking
In the days of DOS, and even today, many people interact directly with the O/S through a "command language interpreter". The famous "C:>" prompt of DOS in pre-Windows days and still available in Windows 95 accepts and executes O/S commands as you type. When you type copy mydata1.txt a:\ you are interacting directly with the DOS operating system through the COMMAND.COM file.
So, fear not the formidable oeprating system, it's out there to help you, silently (we hope) in the background, always at work, trying to get all the busy workers (applications) to play by the rules and not hurt each other.
Until next time, happy computing. Send your comments and ideas for topics you'd like to see covered here by email to pcbasics@y2kegypt.com.
(Sidebar article)
Some Terms: Features and Classifications of Operating Systems
Advanced operating systems can be classified according to what capabilities they accommodate:
Multi-user: Permits two or more users - in some cases up to thousands of users - to run programs at the same time.
Multitasking: Allows more than one program to run at the same time. Nearly every O/S after DOS is provides for multi-tasking.
SMP - Simultaneous Multi-Processing : Supports more than one Central Processing Unit (CPU) chip in a single computer. These multiple "brains" of the computer then share the workload. More and more network servers are coming out with 4, 6 or more multiple-CPU configurations.
Multithreading: Allows different parts of a single application program to be run at the same time, perhaps by different users. This is a very sophisticated technique not means This very powerful feature can greatly increase the throughput in a multi-user system.
Real Time: This type of O/S is used on Special Purpose systems - as opposed to general purpose computers like your PC - such as are used in robotics or manufacturing. These systems are designed to react and respond to input instantly, for example to permit software to order a burst of cold water when the temperature of a hot slab of metal reaches a certain level.
U.S. Department of Justice litigation vs. Microsoft: what is an Operating System?
For the purposes of the legal battle, the term "operating system" is defined in Section II(N) of the 1995 consent decree between Microsoft and the Department of Justice to resolve an earlier anti-trust case. It states that an operating system is