Article No: 1
Compiled By: Chaudhary Amit V.
INTRODUCTION
An operating system is an important part of almost every computer system. The goal of this chapter is to introduce the concepts related to operating systems and to show how this particular system software helps in the overall operation and usage of a computer system.
WHAT IS AN OPERATING SYSTEM?
An operating system is the part of the computing system that manages all of the hardware and all of the software. It controls every file, every device, every section of main memory, and every nanosecond of processing time.
The program that hides the truth about the hardware from the programmer and presents a nice, simple view of named files that can be read and written, is of course an operating system.
System View
Resource allocator
From the computer’s point of view, the operating system is the program that is most close to the hardware. We can view an operating system as a resource allocator. A computer system has many resources – hardware and software – that may be required to solve a problem: CPU time, memory space, file storage space, I/O devices, and so on. The operating system acts as the manager of these resources. Facing numerous and possibly conflicting requests for resources, the operating system must decide how to allocate them to specific programs and users so that it can operate the computer system efficiently and fairly.
Control program
A slightly different view of an operating system emphasizes the need to control the various I/O devices and user programs. A control program manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.
User View
Ease of use
The user view of the computer varies by the interface being used. Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse and system unit. Such a system is designed for one user to monopolize its resources, to maximize the work (or play) that the user is performing. In this case, the operating system is designed mostly for ease of use, with some attention paid to performance, and none paid to resource utilization. Performance is important to the user, but it does not matter if most of the system is sitting idle, waiting for the slow I/O speed of the user.
Resource utilization
Some users sit at a terminal connected to a mainframe or minicomputer. Other users are accessing the same computer through other terminals. These users share resources and may exchange information. The operating system is designed to maximize resource utilization – to assure that all available CPU time, memory and I/O are used efficiently, and that no individual user takes more than her fair share.
Other users sit at workstations, connected to networks of other workstations and servers. These users have dedicated resources at their disposal, but they also share resources such as networking and servers – file, compute and print servers. Therefore, their operating system is designed to compromise between individual usability and resource utilization.
System Goal
Convenient to use
A computer system consists of one or more processors, main memory and many types of I/O devices such as disks, tapes, terminals, network interfaces, etc. Writing programs for using these hardware resources correctly and efficiently is an extremely difficult job, requiring in-depth knowledge of the functioning of the resources. Hence to make computer systems usable by a large number of users, it became clear several years ago that some way is required to shield programmers from the complexity of the hardware resources. The gradually evolved solution to handle this problem is to put a layer of software on top of the bare hardware, to manage all parts of the system, and present the user with an interface or virtual machine that is easier to program and use. This layer of software is the operating system.
Managing the resources of a computer system
The second important objective of an operating system is to manage the various resources of the computer system. This involves performing such tasks as keeping track of who is using which resource, granting resource requests, accounting for resource usage, and mediating conflicting requests from different programs and users.
Executing a job on a computer system often requires several of its resources such as CPU time, memory space, file storage space, I/O devices, and so on. The operating system acts as the manager of the various resources of a computer system and allocates them to a specific programs and users to execute their jobs successfully. When a computer system is used to simultaneously handle several applications, there may be many, possibly conflicting, requests for resources. In such a situation, the operating system must decide which requests are allocated resources to operate the computer system efficiently and fairly (providing due attention to all users). The efficient and fair sharing of resources among users and/or programs is a key goal of most operating system.
Resource Used:
1. Tanenbaum
2. Operating System (by William Stailings)
Comments
Post a Comment