chapter 1 intoduction to operating system

27

Transcript of chapter 1 intoduction to operating system

An operating system (sometimes abbreviated as "OS") is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. The other programs are called applications or application program.

What is an operating system?

1.1 General DefinitionAn OS is a program which acts as an interface

between computer system users and the computer hardware.

It provides a user-friendly environment in which a user may easily develop and execute programs.

Otherwise, hardware knowledge would be mandatory for computer programming.

So, it can be said that an OS hides the complexity of hardware from uninterested users.

1.1 General DefinitionIn general, a computer system has some resources

which may be utilized to solve a problem. They are MemoryProcessor(s)I/OFile Systemetc.

1.1 General DefinitionThe OS manages these resources of the computer

system and allocates them to specific programs and users.

An OS provides services forProcessor ManagementMemory ManagementFile ManagementDevice ManagementConcurrency Control

Another aspect for the usage of OS is that; it is used as a predefined library for hardware-software interaction.

This is why, system programs apply to the installed OS since they cannot reach hardware directly.

Application Programs

System Programs

Operating System

Machine Language

HARDWARE

1.1 General DefinitionA simple program segment with no

hardware consideration

A more sophisticated program segment with hardware consideration

Hardware responseOS Machine

Language

1.2 History of Operating SystemsThe 1940's - First Generations The earliest electronic digital computers had no

operating systems. Machines of the time were so primitive that programs were often entered one bit at time on rows of mechanical switches (plug boards). Programming languages were unknown (not even assembly languages). Operating systems were unheard of .

By the early 1950's, the routine had improved somewhat with the introduction of punch cards. The General Motors Research Laboratories implemented the first operating systems in early 1950's for their IBM 701. The system of the 50's generally ran one job

at a time. These were called single-stream batch processing systems because programs and data were submitted in groups or batches.

The 1950's - Second Generation

The 1960's - Third Generation

The systems of the 1960's were also batch processing systems, but they were able to take better advantage of the computer's resources by running several jobs at once. So operating systems designers developed the concept of multiprogramming in which several jobs are in main memory at once; a processor is switched from job to job as needed to keep several jobs advancing while keeping the peripheral devices in use.

For example, on the system with no multiprogramming, when the current job paused to wait for other I/O operation to complete, the CPU simply sat idle until the I/O finished. The solution for this problem that evolved was to partition memory into several pieces, with a different job in each partition. While one job was waiting for I/O to complete, another job could be using the CPU.

Another major feature in third-generation operating system was the technique called spooling (simultaneous peripheral operations on line).

spooling refers to a process of transferring data by placing it in a temporary working area where another program may access it for processing at a later point in time.

Spooling refers to putting jobs in a buffer, a special area in memory or on a disk where a device can access them when it is ready. Spooling is useful because devices access data at different rates.

Another feature present in this generation was time-sharing technique, a variant of multiprogramming technique, in which each user has an on-line (i.e., directly connected) terminal. Because the user is present and interacting with the computer, the computer system must respond quickly to user requests, otherwise user productivity could suffer. Timesharing systems were developed to multiprogramming large number of simultaneous interactive users.

With the development of LSI (Large Scale Integration) circuits, chips, operating system entered in the system entered in the personal computer and the workstation age. Microprocessor technology evolved to the point that it become possible to build desktop computers as powerful as the mainframes of the 1970s.

Fourth Generation

Two operating systems have dominated the personal computer scene: MS-DOS, written by Microsoft, Inc. for the IBM PC and other machines using the Intel 8088 CPU and its successors, and UNIX, which is dominant on the large personal computers using the Motorola 6899 CPU family.

Batch operating system

The users of batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers left their programs with the operator. The operator then sorts programs into batches with similar requirements.

The problems with Batch Systems are following.Lack of interaction between the user and job.CPU is often idle, because the speeds of the mechanical

I/O devices is slower than CPU.Difficult to provide the desired priority.Benefits:It can shift the time of job processing to when the

computing resources are less busy.It allows the system to use different properties for

interactive and non-interactive work.

Time sharing operating systemA time sharing system allows many users to share the

computer resources simultaneously. In other words, time sharing refers to the allocation of computer resources in time slots to several programs simultaneously. For example a mainframe computer that has many users logged on to it. Each user uses the resources of the mainframe -i.e. memory,cpu etc. The users feel that they are exclusive user of the CPU, even though this is not possible with one CPU i.e. shared among different users.

A time shared system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer. It allows many users to share the computer resources simultaneously.

As the system switches rapidly from one user to the other, a short time slot is given to each user for their executions.

The time sharing system provides the direct access to a large number of users where CPU time is divided among all the users on scheduled basis. The OS allocates a set of time to each user. When this time is expired, it passes control to the next user on the system

In above figure the user 5 is active but user 1, user 2, user 3, and user 4 are in waiting state whereas user 6 is in ready status. As soon as the time slice of user 5 is completed, the control moves on to the next ready user i.e. user 6. In this state user 2, user 3, user 4, and user 5 are in waiting state and user 1 is in ready state. The process continues in the same way and so on.

Advantages of Timesharing operating systems are following

Provide advantage of quick response.Avoids duplication of software.Reduces CPU idle time.Disadvantages of Timesharing operating systems are

following.Problem of reliability.Question of security and integrity of user programs

and data.

Distributed Operating System is a model where distributed applications are running

on multiple computers linked by communications. A distributed operating system is an extension of the network operating system that supports higher levels of communication and integration of the machines on the network.

These systems are referred as loosely coupled systems where each processor has its own local memory and processors communicate with one another through various communication lines, such as high speed buses or telephone lines.

By loosely coupled systems, we mean that such computers possess no hardware connections at the CPU- memory bus level, but are connected by external interfaces that run under the control of software.

The Distributed Os involves a collection of autonomous computer systems, capable of communicating and cooperating with each other through a LAN / WAN. A Distributed Os provides a virtual machine abstraction to its users and wide sharing of resources like as computational capacity, I/O and files etc.

There is also a Operating System which is known as Real Time Processing System. In this Response Time is already fixed. Means time to Display the Results after Possessing has fixed by the Processor or CPU.

Real-time operating system has well-defined, fixed time constraints otherwise system will fail. For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home-appliances controllers, Air traffic control system etc.

Real Time System

There are two types of real time operating system:Hard real-time systems Hard real-time systems guarantee that critical tasks

complete on time. In hard real-time systems secondary storage is limited or missing with data stored in ROM. In these systems virtual memory is almost never found.

Soft real-time systems Soft real time systems are less restrictive. Critical real-

time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, Multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers etc.