0% found this document useful (0 votes)
46 views12 pages

Intro to Operating Systems

The document provides an overview of operating systems, including: 1) An operating system is a program that manages computer hardware and acts as an interface between users and the computer. 2) Popular operating systems include Linux, Windows, VMS, OS/400, AIX, and z/OS. 3) Operating systems have evolved through four generations from direct hardware control to personal computers with graphical interfaces like Windows and MacOS.

Uploaded by

Raza Kashif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views12 pages

Intro to Operating Systems

The document provides an overview of operating systems, including: 1) An operating system is a program that manages computer hardware and acts as an interface between users and the computer. 2) Popular operating systems include Linux, Windows, VMS, OS/400, AIX, and z/OS. 3) Operating systems have evolved through four generations from direct hardware control to personal computers with graphical interfaces like Windows and MacOS.

Uploaded by

Raza Kashif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

UNIT - 1

Introduction to Operating System


Definition
Operating system is a program that manages the computer hardware. It also provides a basis
for application programs and acts as an intermediary between the computer user and the
computer hardware.
An operating system is a program that acts as an interface between the user and the computer
hardware and controls the execution of all kinds of programs.
➢ Some popular Operating Systems include Linux Operating System, Windows Operating
System, VMS, OS/400, AIX, z/OS, etc.

History and Examples of Operating System

First Generation

(1945-1955) In this generation, operating systems were not introduced therefore the instruction
was directly given to the computer systems.

All the code was included to communicate with the connected hardware and the system.

Electronic computers were introduced during the 1940s when there were no operating systems
therefore the code was written in machine language where they were just used to solve simple
mathematic problems.

Example - to control the machine functions plug boards were used using the wiring.

Second Generation

(1955-1965) GMOS (General Motos operating system) was the first operating system that
came into the picture in the 1950s which was developed for IBM computers.

IBM was the first one that bought an operating system into the world.

In the second generation, around the 1960s the first UNIX Operating system was developed
that was available for free for a few years.
Also, the batch processing system, where all the similar jobs are collected in groups by the
system, and then all the jobs are submitted to the operating system using a punch card to execute
all jobs in a machine.

Third Generation

(1965-1980) In the third generation, the concept of multiprogramming was introduced in which
multiple tasks could be performed in a single computer i.e., operating system.

Due to performing multiple tasks at a time, multiprogramming allows the CPU to be busy every
time multiple tasks are performed on the same computer.

With the DEC PDP-1 in 1961, the development of minicomputers' phenomenal growth was
introduced.

Example - Concept of multiprogramming and types of operating systems used in


multiprogramming.

Fourth Generation

(1980-now) The evolution of computers operating systems came under the fourth generation.
Every user is using their personal computers in this generation.

The concept of personal computers is similar to the minicomputer that was introduced in the
third generation.

In this generation, people were also introduced to Graphic User Interface(GUI).

Today, Windows is the most popular operating system and has evolved from Windows 95,
Windows 98, Windows XP, and Windows 7.

The most used Windows operating system was Windows 7 and Windows 10.

In 2021, Windows 11 was introduced with major changes.

Apple also introduced its operating system known as MacOS which is also as popular as
Windows these days.
Computer System Organization
Before understanding how computer system operates, we need to have a general knowledge of
the structure of the computer system or the computer system organization.

• A modern general purpose computer system consists of one or more CPUs and device
controllers connect through common bus providing access to shared memory.
• Each device controller is in charge of a specific type of device.
• The CPU and device controllers can execute concurrently, competing for memory cycles.
• To ensure orderly access to shared memory, a memory controller is provided whose function
is to synchronize access to the memory.
• The initial program which runs in a computer system when it is booted is known as boot strap
program.
• It is stored in ROM or EEPROM (Electrically Erasable Programable Read Only Memory)
and generally known as firmware.
• It loads the operating system and initializes all aspects of the system
• operating system then starts executing the first process, such as init and waits for some event
to occur.
• An operating system is interrupt driven
• The occurrence of an event is signalled by an interrupt from either the hardware or the
software.
• Hardware may trigger an interrupt at any time by sending the signal to the CPU, usually by
the way of system bus.
• Software may trigger an interrupt by executing a special operation called system call.
•When the CPU is interrupted, it stops what it is doing and immediately transfers execution to
a fixed location.
• The fixed location usually contains the starting address where the service routine for the
interrupt is located.
• The interrupt service routine executes; on completion, the CPU resumes the interrupted
computation

Types of Operating Systems


Types of Operating System: Operating systems are there from the very first computer
generation and they keep evolving with time.
➢ Various types of operating systems which are most commonly used are:
❖ Batch operating system

❖ Time-sharing operating systems


❖ Distributed operating System.

❖ Network operating System


❖ Real Time operating System

Batch operating system:


A batch operating system grabs all programs and data in the batch form and then processes
them.
➢ 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 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.
➢The users of a batch operating system do not interact with the computer directly.

➢ The main aim of using a batch processing system is to decrease the setup time while
submitting similar jobs to the CPU.
➢ Batch processing techniques were implemented in the hard disk and card readers as well.
➢ Examples of Batch Systems are as follows –
❖ Payroll System
❖ Bank Invoice System
❖ Transactions Process

❖ Daily Report
❖ Research Segment

❖ Billing System

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.
➢ Multiple jobs are executed by the CPU by switching between them, but the switches occur
so frequently enabling, the users to receive an immediate response.
➢ 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.

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.
➢ 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.

➢ Examples: Solaris, OSF/1, Micros, DYNIX, Locus, Mach


➢ 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.
❖ Better service to the customers.

❖ Reduction of the load on the host computer.


❖ Reduction of delays in data processing.

Network operating System:


A Network Operating System runs on a server and provides the server the capability to manage
data, users, groups, security, applications, and other networking functions.
➢ The primary purpose of the network operating system is to allow shared file and printer
access among multiple computers in a network, typically a local area network (LAN), a private
network or to other networks.
➢ There are two basic types of network operating systems:
❖ Peer-to-Peer Network Operating Systems

❖ Client/Server Network Operating Systems


➢ Examples of network operating systems include:

❖ Microsoft Windows Server 2003, Microsoft Windows Server 2008,


❖ UNIX, Linux, Mac OS X, Novell NetWare, and BSD.

➢ The advantages of network operating systems are as follows:


❖ Centralized servers are highly stable.

❖ Security is server managed.


❖ Upgrades to new technologies and hardware can be easily integrated into the system.
❖ Remote access to servers is possible from different locations and types of systems.
➢ The disadvantages of network operating systems are as follows:

❖ High cost of buying and running a server.


❖ Dependency on a central location for most operations.

❖ Regular maintenance and updates are required.

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.
➢ 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.

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.

❖ Soft real-time systems have limited utility than hard real-time systems.
❖ Example: Multimedia, virtual reality, Advanced Scientific Projects like undersea
exploration and planetary rovers, etc.
Functions of Operating Systems
The operating system is a vital component of the system software in a computer system.
➢ Following are some of important functions of an operating System.
❖ Processor Management

❖ Memory Management
❖ Device Management

❖ File Management
❖ Security

❖ Control over system performance


❖ Job accounting

❖ Error detecting aids


❖ Coordination between other software and users

Processor Management:
In multiprogramming environment, the OS decides which process gets the processor when and
for how much time, this function is called process scheduling.
➢ An Operating System does the following activities for processor management.

❖ Keeps tracks of processor and status of process.


❖ The program responsible for this task is known as traffic controller.

❖ Allocates the processor (CPU) to a process.


❖ De-allocates processor when a process is no longer required

Memory Management:
Memory management refers to management of Primary Memory or Main Memory. Main
memory is a large array of words or bytes where each word or byte has its own address.
➢ An Operating System does the following activities for memory management:

❖ Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part
are not in use.
❖ In multiprogramming, the OS decides which process will get memory when and how
much.
❖ Allocates the memory when a process requests it to do so.

❖ De-allocates the memory when a process no longer needs it or has been terminated.

Device Management:
An Operating System manages device communication via their respective drivers.
➢ An Operating System does the following activities for device management:
❖ Keeps tracks of all devices. Program responsible for this task is known as the I/O
controller.
❖ Decides which process gets the device when and for how much time.

❖ Allocates the device in the efficient way.


❖ De-allocates devices

File Management:
A file system is normally organized into directories for easy navigation and usage. These
directories may contain files and other directions.
➢ An Operating System does the following activities for file management:
❖ Keeps track of information, location, uses, status etc. The collective facilities are
often known as file system.
❖ Access to the file for read and write.

❖ Allocates the file for I/O devices.


❖ De-allocates the file form storage devices

Applications of Operating System:


Following are some of the important activities that an Operating System performs.
➢ Security: By means of password and similar other techniques, it prevents unauthorized
access to programs and data.
➢ Control over system performance: Recording delays between request for a service and
response from the system.
➢ Job accounting: Keeping track of time and resources used by various jobs and users.
➢ Error detecting aids: Production of dumps, traces, error messages, and other debugging
and error detecting aids.
➢ Coordination between other software and users: Coordination and assignment of
compilers, interpreters, assemblers, and other software to the various users of the computer
systems.

System Calls
A system call is a method for a computer program to request a service from the kernel of
the operating system on which it is running. A system call is a method of interacting with the
operating system via programs. A system call is a request from computer software to an
operating system's kernel.

Operating System Structure


An operating system provides the environment within which programs are executed. Each
Operating system vary greatly in their makeup internally. But they also have so many common
things between them.
Two common things that every operating system must be capable of doing are
1. Multiprogramming
2. Time sharing (Multitasking)

1.Multiprogramming

➢ Multiprogramming means the capability of running multiple programs by the CPU

➢ In general, a single user cannot always keep either the CPU or the I/ O device busy.
➢ multiprogramming increases CPU utilization by organising jobs (code and data) so that the
CPU always has one to execute.
➢ The below diagram shows the memory layout for a multiprogramming system.
➢ Here job pool consists of all the jobs that must be executed.
➢ The operating system keeps several jobs in memory simultaneously.

➢ This set of jobs can be subset of the jobs kept in the job pool.
➢ Usually, the number of jobs that can be kept in memory is smaller than the number of jobs
that can be kept in a job pool.
➢ The operating system picks and begins to execute one of the jobs in memory.

➢ The job may have to wait for some task, such as an I/O operation, to complete.
➢ In a non-multiprogrammed system, the CPU would sit idle.

➢ In a multiprogrammed system, the operating system simply switches to, and executes
another job. ➢ This process continues as long as the first job finishes waiting and gets the CPU
back.
➢ As long as at least one job needs to execute the CPU is never idle.

➢ Multiprogramming provides an environment in which the various system resources are used
effectively, but they do not provide for user interaction with the computer system.

2. Time sharing (Multitasking)

➢ Time sharing (or multitasking) is a logical extension of multiprogramming.


➢In time-sharing systems, the CPU executes multiple jobs by switching among them.

➢Switches occur so frequently that the users can interact with each program while it is running.
➢Time sharing requires an interactive (or hands-on) computer system, which provides direct
communication between the user and the system.
➢A time-shared operating system allows many users to share the computer simultaneously.

➢Each user has at least one separate program in memory.


➢ A time-shared operating system uses CPU scheduling and multiprogramming to provide
each user with a small portion of a timeshared computer.
➢ The below diagram illustrates the use of timesharing system.

➢ When job of user 1 is being executed by the time-shared system, execution of the job takes
place in the CPU speed.
➢ After execution of the job, user1 has to be shown some output and then the user1 has to give
some input again to the system.
➢ Now the interaction between the user and the system takes place in users speed or people’s
speed.
➢ We know that CPU’s speed is so much higher than a human speed.
➢ When the user gives an input to the system, in that time gap the CPU can be used by user2
for executing the job.
➢ So, in that way there is a time gap between the user and the system.

➢ In that time gap switching of the jobs takes place so quickly and frequently that the user
does not even realize that they are using a time-shared system

You might also like