0% found this document useful (0 votes)
2 views

Intoduction

The document provides an overview of operating systems, detailing their role as resource managers that allocate hardware and software resources for various tasks. It discusses the evolution of operating systems from early systems in the 1940s to modern developments, highlighting key features and types of operating systems such as batch, multiprogramming, time-sharing, real-time, and distributed systems. Additionally, it outlines the functions of operating systems, including memory management, processor management, and security.

Uploaded by

akaashvaanii
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Intoduction

The document provides an overview of operating systems, detailing their role as resource managers that allocate hardware and software resources for various tasks. It discusses the evolution of operating systems from early systems in the 1940s to modern developments, highlighting key features and types of operating systems such as batch, multiprogramming, time-sharing, real-time, and distributed systems. Additionally, it outlines the functions of operating systems, including memory management, processor management, and security.

Uploaded by

akaashvaanii
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

INTRODUCTION

1.1 Introduction to OS:

A computer system has many resources (hardware and software), which may be require to
complete a task. The commonly required resources are input/output devices, memory, file
storage space, CPU etc. The operating system acts as a manager of the above resources and
allocates them to specific programs and users, whenever necessary to perform a particular task.
Therefore operating system is the resource manager i.e. it can manage the resource of a computer
system internally. The resources are processor, memory, files, and I/O devices. In simple terms,
an operating system is the interface between the user and the machine.

FIGURE 1.1

Two Views of Operating System


1. User's View
2. System View

Operating System: User View


The user view of the computer refers to the interface being used. Such systems are designed for
one user to monopolize its resources, to maximize the work that the user is performing. In these
cases, the operating system is designed mostly for ease of use, with some attention paid to
performance, and none paid to resource utilization.

Operating System: System View


Operating system can be viewed as a resource allocator also. A computer system consists of
many resources like - hardware and software - that must be managed efficiently. The operating
system acts as the manager of the resources, decides between conflicting requests, controls
execution of programs etc.

1.2 Operating system functions:

Following are some of important functions of an operating System.

 Memory Management
 Processor Management

 Device Management

 File Management

 Security

 Control over system performance

 Job accounting

 Error detecting aids

 Coordination between other software and users

1.3 Evaluation of Operating System:

The evolution of operating systems is directly dependent on the development of computer


systems and how users use them. Here is a quick tour of computing systems through the past
fifty years in the timeline.

Early Evolution
 1945: ENIAC, Moore School of Engineering, University of Pennsylvania.
 1949: EDSAC and EDVAC
 1949: BINAC - a successor to the ENIAC
 1951: UNIVAC by Remington
 1952: IBM 701
 1956: The interrupt
 1954-1957: FORTRAN was developed

Operating Systems - Late 1950s


By the late 1950s Operating systems were well improved and started supporting following
usages:
 It was able to perform Single stream batch processing.
 It could use Common, standardized, input/output routines for device access.
 Program transition capabilities to reduce the overhead of starting a new job was added.
 Error recovery to clean up after a job terminated abnormally was added.
 Job control languages that allowed users to specify the job definition and resource
requirements were made possible.

Operating Systems - In 1960s


 1961: The dawn of minicomputers
 1962: Compatible Time-Sharing System (CTSS) from MIT
 1963: Burroughs Master Control Program (MCP) for the B5000 system
 1964: IBM System/360
 1960s: Disks became mainstream
 1966: Minicomputers got cheaper, more powerful, and really useful.
 1967-1968: Mouse was invented.
 1964 and onward: Multics
 1969: The UNIX Time-Sharing System from Bell Telephone Laboratories.

Supported OS Features by 1970s


 Multi User and Multi tasking was introduced.
 Dynamic address translation hardware and Virtual machines came into picture.
 Modular architectures came into existence.
 Personal, interactive systems came into existence.

Accomplishments after 1970


 1971: Intel announces the microprocessor
 1972: IBM comes out with VM: the Virtual Machine Operating System
 1973: UNIX 4th Edition is published
 1973: Ethernet
 1974 The Personal Computer Age begins
 1974: Gates and Allen wrote BASIC for the Altair
 1976: Apple II
 August 12, 1981: IBM introduces the IBM PC
 1983 Microsoft begins work on MS-Windows
 1984 Apple Macintosh comes out
 1990 Microsoft Windows 3.0 comes out
 1991 GNU/Linux
 1992 The first Windows virus comes out
 1993 Windows NT
 2007: iOS
 2008: Android OS

And as the research and development work continues, we are seeing new operating systems
being developed and existing ones getting improved and modified to enhance the overall user
experience, making operating systems fast and efficient like never before.
Also, with the onset of new devices like wearables, which includes, Smart Watches, Smart
Glasses, VR gears etc, the demand for unconventional operating systems is also rising.

1.4 Different types of O.S

1.4.1 Batch Operating System:

The users of a 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. The
programmers leave their programs with the operator and the operator then sorts the programs
with similar requirements into batches.
The problems with Batch Systems are as follows −

 Lack of interaction between the user and the job.


 CPU is often idle, because the speed of the mechanical I/O devices is slower than the
CPU.
 Difficult to provide the desired priority.
FIGURE 1.2

1.4.2 Multiprogramming Operating System:


In multiprogramming system, when one program is waiting for I/O transfer; there is another
program ready to utilize the CPU. So it is possible for several jobs to share the time of the CPU.
But it is important to note that multiprogramming is not defined to be the execution of jobs at the
same instance of time. Rather it does mean that there are a number of jobs available to the CPU
(placed in main memory) and a portion of one is executed then a segment of another and so on.
A simple process of multiprogramming is shown in figure

As shown in fig, at the particular situation, job' A' is not utilizing the CPU time because it is busy
in I/ 0 operations. Hence the CPU becomes busy to execute the job 'B'. Another job C is waiting
for the CPU for getting its execution time. So in this state the CPU will never be idle and utilizes
maximum of its time.
A program in execution is called a "Process", "Job" or a "Task". The concurrent execution of
programs improves the utilization of system resources and enhances the system throughput as
compared to batch and serial processing. In this system, when a process requests some I/O to
allocate; meanwhile the CPU time is assigned to another ready process. So, here when a process
is switched to an I/O operation, the CPU is not set idle.
FIGURE 1.3
Multiprogramming is a common approach to resource management. The essential components of
a single-user operating system include a command processor, an input/ output control system, a
file system, and a transient area. A multiprogramming operating system builds on this base,
subdividing the transient area to hold several independent programs and adding resource
management routines to the operating system's basic functions.

1.4.3 Time-sharing Operating Systems:

Time-sharing is a technique which enables many people, located at various terminals, to use a
particular computer system at the same time. Time-sharing or multitasking is a logical extension
of multiprogramming. Processor's time which is shared among multiple users simultaneously is
termed as time-sharing.

The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is
that in case of Multiprogrammed batch systems, the objective is to maximize processor use,
whereas in Time-Sharing Systems, the objective is to minimize response time.
Multiple jobs are executed by the CPU by switching between them, but the switches occur so
frequently. Thus, the user can receive an immediate response. For example, in a transaction
processing, the processor executes each user program in a short burst or quantum of
computation. That is, if n users are present, then each user can get a time quantum. When the
user submits the command, the response time is in few seconds at most.
The operating system uses CPU scheduling and multiprogramming to provide each user with a
small portion of a time. Computer systems that were designed primarily as batch systems have
been modified to time-sharing systems.
Advantages of Timesharing operating systems are as follows −
 Provides the advantage of quick response.
 Avoids duplication of software.
 Reduces CPU idle time.
Disadvantages of Time-sharing operating systems are as follows −
 Problem of reliability.
 Question of security and integrity of user programs and data.
 Problem of data communication.

1.4.4 Real Time operating System:

A real-time system is defined as a data processing system in which the time interval required to
process and respond to inputs is so small that it controls the environment. The time taken by the
system to respond to an input and display of required updated information is termed as
the response time. So in this method, the response time is very less as compared to online
processing.

Real-time systems are used when there are rigid time requirements on the operation of a
processor or the flow of data and real-time systems can be used as a control device in a
dedicated application. A real-time operating system must have well-defined, fixed time
constraints, otherwise the system will fail. For example, Scientific experiments, medical
imaging systems, industrial control systems, weapon systems, robots, air traffic control systems,
etc.
There are two types of real-time operating systems.
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 and the data is stored in ROM. In these systems, virtual
memory is almost never found.
Soft real-time systems:
Soft real-time systems are less restrictive. A 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.

1.4.5 Distributed operating System:

Distributed systems use multiple central processors to serve multiple real-time applications and
multiple users. Data processing jobs are distributed among the processors accordingly.

The processors communicate with one another through various communication lines (such as
high-speed buses or telephone lines). These are referred as loosely coupled systems or
distributed systems. Processors in a distributed system may vary in size and function. These
processors are referred as sites, nodes, computers, and so on.
The advantages of distributed systems are as follows −
 With resource sharing facility, a user at one site may be able to use the resources
available at another.
 Speedup the exchange of data with one another via electronic mail.
 If one site fails in a distributed system, the remaining sites can potentially continue
operating.
 Better service to the customers.
 Reduction of the load on the host computer.
 Reduction of delays in data processing.

You might also like