书城外语计算机英语
27082000000017

第17章 Operating Systems(1)

3.1 Summary of Operating Systems

An operating system is a program, which acts as an interface between a user of a computer and the computer hardware? The purpose of an operating system is to provide an environment in which a user may execute programs. In general, however, there is no completely definition of an operating system. Operating systems exist because they are a reasonable way to solve the problem of creating a usable computing system. The fundamental goal of computer systems is to execute user programs and solve user problems. Towards this goal computer hardware is constructed. Since bare hardware alone is not very easy to use, application programs are developed. These various programs require certain common operations, such as controlling the I/O devices. The common functions of controlling and allocating resources are then brought together into one piece of software: the operating system.

There are many important reasons for learning operating system; the most notable are:

The user must interact with the operating system in order to accomplish task since it is his primary interface with the computer;

The selection of the operating system and its options is a major decision for most computer installatio ns;

Many concepts and techniques found in operating systems have general applicability in other applications;

For special-purpose usage you may have to design your own operating system or modify on existing one.

An operating system is similar to a government. Its hardware, software, and data provide the basic resource of a computer system. The operating system provides file means for the proper use of these resources in the operation of the computer system. Like government, the operating system performs no useful function by itself. It simply provides an environment within which other programs can do useful work.

We can view an operating system as a resource allocator. A computer system has many resources (hardware and software) which may be required to solve a problem: CPU time, memory space, file storage space, input/output (I/0) devices, and so on. Tile operating system acts as the manager of these resources and allocates them to specific programs and users as necessary for their tasks. Since there may be many, possibly conflicting, requests for resources, the operating system must decide which requests are allocated resources to operate the computer system fairly and efficiently.

Viewing the operating system as a resource manager, each manager must do the following:

Keep track of the resources.

Enforce policy that determines who gets what, when, and how much.

Allocate the resource.

Reclaim the resource.m

The primary goal of an operating system is convenience for the user. Operating system exists because riley are supposed to make it easier to compute with an operating system than without an operating system. This is particularly clear when you look at operating systems for small personal computers. A secondary goal is efficient operation of the computer system. This goal is particularly important for large shared multi-user systems. The systems are typically very expensive, and so it is desirable to make them as efficient as possible. These two goals convenience and efficient, are sometimes contradictory. In the past, efficiency considerations were often more important than convenience. Thus much of operating system theory concentrates on optimal use of computing resources.

Operating systems are either single tasking or multitasking. The more primitive single- tasking operating systems can run only one process at a time. For instance, when the computer is printing a document, it cannot start another process or respond to new commands until the printing is completed.

All modern operating systems are multitasking and can run several processes simultaneously. In most computers there is only one CPU, so a multitasking operating system creates the illusion of several processes running simultaneously on the CPU. The most common mechanism used to create this illusion is time slice multitasking, whereby each process is run individually for a fixed period of time. If the process is not completed within the allotted time, it is suspended and another process is run. This exchanging of processes is called context switching. The operating system performs the "bookkeeping" that preserves the state of a suspended process. It also has a mechanism, called a scheduler, what determines which process will be run next. The scheduler runs short processes quickly to minimize perceptible delay. The processes appear to run simultaneously because the user's sense of time is much slower than the processing speed of the computer.

A very important responsibility of any operational software is the scheduling of jobs to be handled by a computer system. This is one of the main tasks of the job management function. The operating system sets up the order in which programs are processed, and defines the sequence in which particular jobs are executed. The term job queue is often used to describe the series of jobs awaiting execution. The operating system weighs a variety of factors in creating the job queue. These include which jobs are currently being processed, the system’s resources being used, which resources will be needed to handle upcoming programs, the priority of the job compared to other tasks, and any special processing requirements to which the system must respond. Tile operational software must be able to assess these factors and control the order in which jobs are processed.