COMPUTER SYSTEM REVIEW:
What is an Operating System?
ü An operating system is a program that manages the computer hardware.
ü It also provides a basis for application programs and acts as an intermediary 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 can execute programs.
Goals of an Operating System
ü The primary goal of an operating system is thus to make the computer system convenient to use.
ü The secondary goal is to use the computer hardware in an efficient manner.
1. BASIC ELEMENTS OF A COMPUTER SYSTEM
ü An operating system is an important part of almost every computer system.
A computer system can be divided roughly into four components.
v Operating system
v The application programs
Ø The hardware - the central processing unit (CPU), the memory, and the Input/output (I/O) devices-provides the basic computing resources.
Ø The application programs- such as word processors, spreadsheets, compilers,
and web browsers- define the ways in which these resources are used to solve the computing problems of the users.
An operating system is similar to a government. The OS simply provides an environment within which other programs can do useful work.
Abstract view of the components of a computer system.
Operating system can be viewed as a resource allocator.
ü The OS acts as the manager of the resources ( such as CPU time, memory space, file
storage space, I/O devices) and allocates them to specific programs and users as necessary for tasks.
ü An operating system is a control program. It controls the execution of user programs to prevent errors and improper use of computer.
ü Early computers were physically enormous machines run from a console.
ü The common input devices were card readers and tape drives.
ü The common output devices were line printers, tape drives, and card punches.
ü The user did not interact directly with the computer systems.
ü Rather, the user prepared a job - which consisted of the program, the data, and some control information about the nature of the job (control cards)-and submitted it to the computer operator.
ü The job was usually in the form of punch cards.
ü The operating system in these early computers was fairly simple.
ü Its major task was to transfer control automatically from one job to the next.
ü The operating system was always resident in memory
Memory layout for a simple batch system.
ü A batch operating system, thus normally reads a stream of separate jobs.
ü When the job is complete its output is usually printed on a line printer.
ü The definitive feature of batch system is the lack of interaction between the user and the job while the job is executing.
ü Spooling is also used for processing data at remote sites.
1.2 Multiprogrammed Systems
ü A pool of jobs on disk allows the OS to select which job to run next, to increase CPU utilization.
ü Multiprogramming increases CPU utilization by organizing jobs such that the CPU always has one to execute.
ü The idea is as follows: The operating system keeps several jobs in memory simultaneously. This set of jobs is a subset of the jobs kept in the job pool. The operating system picks and begins to execute one of the jobs in the memory.
Memory layout for a multiprogramming system.
ü Time sharing (or multitasking) is a logical extension of multiprogramming.
ü The CPU executes multiple jobs by switching among them, but the switches occur so frequently that the users can interact with each program while it is running.
ü A time-shared operating system allows many users to share the computer
action or command in a time-shared system tends to
be short, only a
time is needed for each user.
ü As the system switches rapidly from one user to the next, each user is given the impression that the entire computer system is dedicated to her use, even though it is being shared among many users.
1.4 Desktop Systems
ü As hardware costs have decreased, it has once again become feasible to have a computer system dedicated to a single user. These types of computer systems are usually referred to as personal computers(PCS).
ü They are microcomputers that are smaller and less expensive than mainframe computers.
ü Operating systems for these computers have benefited from the development of operating systems for mainframes in several ways.
1.5 Multiprocessor Systems
ü Multiprocessor systems (also known as parallel systems or tightly coupled systems) have more than one processor in close communication, sharing the computer bus, the clock, and sometimes memory and peripheral devices.
ü Multiprocessor systems have three main advantages.
v Increased throughput.
v Economy of scale.
v Increased reliablility.
ü If functions can be distributed properly among several processors, then the failure of one processor will not halt the system, only slow it down. If we have ten processors and one fails, then each of the remaining nine processors must pick up a share of the work of the failed processor.
ü Thus, the entire system runs only 10 percent slower, rather than failing altogether. This ability to continue providing service proportional to the level of surviving hardware is called graceful degradation. Systems designed for graceful degradation are also called fault tolerant.
ü Continued operation in the presence of failures requires a mechanism to allow the failure to be detected, diagnosed, and, if possible, corrected.
The most common multiple-processor systems now use symmetric multiprocessing (SMP), in whch each processor runs an identical copy of the operating system, and these copies communicate with one another as needed.
Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A master processor controls the system; the other processors either look to the master for instruction or have predefined tasks.
This scheme defines a master-slave relationship. The master processor schedules and allocates work to the slave processors.
1.6 Distributed Systems
In contrast to the tightly coupled systems, the processors do not share memory or a clock. Instead , each processor has its own local memory.
The processors communicate with one another through various communication lines, such as high speed buses or telephone lines. These systems are usually referred to as loosely coupled systems, or distributed systems.
Advantages of distributed systems
v Resource Sharing
v Computation speedup
1.7 Real-Time Systems
ü Systems that control scientific experiments, medical imaging systems, industrial control systems, and certain display systems are real-time systems.
ü Some automobile-engine fuel-injection systems, home-appliance controllers, and weapon systems are also real-time systems. A real-time system has well-defined, fixed time constraints.
ü Real-time systems come in two flavors: hard and soft.
ü A hard real-time system guarantees that critical tasks be completed on time.
ü This goal requires that all delays in the system be bounded, from the retrieval of stored data to the time that it takes the operating system to finish any request made of it.