Operating Systems

When a brand new computer comes off the factory assembly line, it can do nothing. The hardware needs software to make it work. Are we talking about applications software such as word processing or spreadsheet software? Partly.
Figure 1: The Operating System in a Hierarchy
But an applications software package does not communicate directly with the hardware. As shown in Figure 1, between the applications software and the hardware is a software interface - an operating system. An operating system is a set of programs that lies between applications software and the computer hardware. Conceptually the operating system software is an intermediary between the hardware and the applications software. Incidentally, the term system software is sometimes used interchangeably with operating system, but system software means all programs related to coordinating computer operations. System software does include the operating system, but it also includes the BIOS software (see the CPU chapter), drivers, and service programs, which we will discuss briefly in this chapter (see Figure 2).

Figure 2: System Software

Note that we said that an operating system is a set of programs. The most important program in the operating system, the program that manages the operating system, is the supervisor program, most of which remains in memory and is thus referred to as resident. The supervisor controls the entire operating system and loads into memory other operating system programs (called nonresident) from disk storage only as needed.

An operating system has three main functions: (1) manage the computer's resources, such as the central processing unit, memory, disk drives, and printers, (2) establish a user interface, and (3) execute and provide services for applications software. Keep in mind, however, that much of the work of an operating system is hidden from the user; many necessary tasks are performed behind the scenes. In particular, the first listed function, managing the computer's resources, is taken care of without the user being aware of the details. Furthermore, all input and output operations, although invoked by an applications program, are actually carried out by the operating system. Although much of the operating system functions are hidden from view, you will know when you are using an applications software package, and this requires that you invoke-call into action-the operating system. Thus you both establish a user interface and execute software.

Operating systems for mainframe and other large computers are even more complex because they must keep track of several programs from several users all running in the same time frame. Although some personal computer operating systems-most often found in business or learning environments-can support multiple programs and users, most are concerned only with a single user. We begin by focusing on the interaction between a single user and a personal computer operating system.

Operating Systems for Personal Computers: An Overview
If you peruse software offerings at a retail store, you will generally find the software grouped according to the computer, probably IBM (that is, IBM compatible) or Macintosh, on which the software can be used. But the distinction is actually finer than the differences among computers: Applications software-word processing, spreadsheets, games, whatever-are really distinguished by the operating system on which the software can run.

Generally, an application program can run on just one operating system. just as you cannot place a Nissan engine in a Ford truck, you cannot take a version of WordPerfect designed to run on an IBM machine and run it on an Apple Macintosh. The reason is that IBM personal computers and others like them have Intel-compatible microprocessors and usually use Microsoft's operating system, called MS-DOS (for Microsoft disk operating system) on older computers, and Windows95 or Windows98 on more modern computers. Computers that have come out since the year 2000 often come with Windows ME (Millennium Edition), or Windows2000. Macintoshes use an entirely different operating system, called the Macintosh operating system, which is produced by Apple. Over 75 percent of personal computers use a versions of Windows as their operating systems. Macintosh comprises about 15 percent of the market, with other operating systems such as Linux comprising the rest.

Users do not set out to buy operating systems; they want computers and the applications software to make them useful. However, since the operating system determines what software is available for a given computer, many users observe the high volume of software available for MS-DOS machines and make their computer purchases accordingly. Others prefer the user-friendly style of the Macintosh operating system and choose Macs for that reason.

Although operating systems differ, many of their basic functions are similar. We will show some of the basic functions of operating systems by examining MS-DOS.

A Look at MS-DOS
Most users today have a computer with a hard disk drive. When the computer is turned on, the operating system will be loaded from the hard drive into the computer's memory, thus making it available for use. The process of loading the operating system into memory is called bootstrapping, or booting the system. The word booting is used because, figuratively speaking, the operating system pulls itself up by its own bootstraps. When the computer is switched on, a small program (in ROM-read-only memory) automatically pulls up the basic components of the operating system from the hard disk. From now on, we will refer to MS-DOS by its commonly used abbreviated name, DOS, pronounced to rhyme with boss.

The net observable result of booting DOS is that the characters C> (or possibly C:\>) appear on the screen. The C refers to the disk drive; the > is a prompt, a signal that the system is prompting you to do something. At this point you must give some instruction to the computer. Perhaps all you need to do is key certain letters to make the application software take the lead. But it could be more complicated than that because C> is actually a signal for direct communication between the user and the operating system.

Although the prompt is the only visible result of booting the system, DOS also provides the basic software that coordinates the computer's hardware components and a set of programs that lets you perform the many computer system tasks you need to do. To execute a given DOS program, a user must issue a command, a name that invokes a specific DOS program. Whole books have been written about DOS commands, but we will consider just a few that people use for ordinary activities. Some typical tasks you can do with DOS commands are prepare (format) new diskettes for use, list the files on a disk, copy files from one disk to another, and erase files from a disk.

Microsoft Windows: An Overview
Microsoft Windows started out as a shell. Windows uses a colorful graphics interface that, among other things, eases access to the operating system. The feature that makes Windows so easy to use is a graphical user interface (GUI-pronounced "goo-ee"), in which users work with on-screen pictures called icons and with menus rather than with keyed-in. They are called pull-down menus because they appear to pull down like a window shade from the original selection. Some menus, in contrast, called pop-up menus originate from a selection on the bottom of the screen. Furthermore, icons and menus encourage pointing and clicking with a mouse, an approach that can make computer use both fast and easy.

To enhance ease of use, Windows is usually set up so that the colorful Windows display is the first thing a user sees when the computer is turned on. DOS is still there, under Windows, but a user need never see C> during routine activities. The user points and clicks among a series of narrowing choices until arriving at the desired software.

Although the screen presentation and user interaction are the most visible evidence of change, Windows offers changes that are even more fundamental. To understand these changes more fully, it is helpful at this point to make a comparison between traditional operating systems for large computers and Windows.

In addition to adding a friendly GUI, Windows operating systems added another important feature to DOS - multi-tasking. Multi-tasking occurs when the computer has several programs executing at one time. PCs that ran under DOS could only run one program at a time. Windows-based computers can have multiple programs (e.g. a browser, a word processor, and several Instant Messaging instances) running at the same time. When programs are executing at the same time, they are said to be executing concurrently.

As we learned, personal computers have only one CPU that handles just one instruction at a time. Computers using the MS-DOS operating system without a shell are limited not only to just one user at a time but also to just one program at a time. If, for example, a user were using a word processing program to write a financial report and wanted to access some spreadsheet figures, he or she would have to perform a series of arcane steps: exit the word processing program, enter and use and then exit the spreadsheet program, and then re-enter the word processing program to complete the report. This is wasteful in two ways: (1) the CPU is often idle because only one program is executing at a time, and (2) the user is required to move inconveniently from program to program.

Multi-tasking allows several programs to be active at the same time, although at an instant in time the CPU is doing only one instruction for one of the active programs. The Operating System manages which instructions to send to the CPU. Since computers are so fast, the operating system can switch the program that gets to execute on the CPU so quickly, the user can not tell. This is what allows your computer to be "listening" for incoming instant messages, for instance, while you use a word processor to write a paper.

How The Operating System Works

Continue reading the ten pages from HowStuffWorks at http://computer.howstuffworks.com/operating-system.htm