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

Operating Systems

The document provides an overview of operating systems, detailing their functions, types of software, and the role of the operating system as an intermediary between users and computer hardware. It discusses the importance of operating systems in managing resources, process management, and memory management, as well as the various states and control mechanisms for processes. Additionally, it outlines the classification of operating systems and the significance of process control blocks in managing processes.

Uploaded by

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

Operating Systems

The document provides an overview of operating systems, detailing their functions, types of software, and the role of the operating system as an intermediary between users and computer hardware. It discusses the importance of operating systems in managing resources, process management, and memory management, as well as the various states and control mechanisms for processes. Additionally, it outlines the classification of operating systems and the significance of process control blocks in managing processes.

Uploaded by

csist.onlits
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Operating Systems

Paper VI
Before we start…

▪ Let’s spend some time in setting up the


stage for the show.
▪ i.e., let’s discuss the prerequisites
required to undertake this paper.
▪ Before moving ahead we should have an
idea of the components of computer.
Components of a computer

▪ Hardware
– According to Oxford Dictionary, computer
hardware is defined as “The physical
components of a computer or computer
system, including peripheral devices such as
monitors and printers.”
▪ Software
– According to Oxford Dictionary, software is
defined as “The programs and other operating
information used by a computer.”
Types of Software

▪ System Software
▪ Application Software
▪ Utility Software
System Software

▪ System software is a collection of one or more


programs used to control and coordinate the
hardware and other application software.
▪ Few examples of system software are:
– Operating system
– Programming language translators
– Communication software
– Compiler and Interpreters
– Command line shell
Application Software

▪ Application software is a collection of one or more


programs used to solve a specific task.
▪ Generally software used in banking industry,
airline/railway reservation, generation of telephone or
electricity bills etc. all fall under application software.
▪ Few examples of application software are:
– Word processing software
– Spreadsheet software
– Database software
– Education software
– Entertainment software
Utility Software

▪ Utility software is a collection of one or more


programs that helps the user in system
maintenance tasks and in performing tasks of
routine nature. Utility programs help the users
in disk formatting, data compression, data
backup, scanning for viruses etc.
▪ Few examples of utility software are:
– Anti-virus
– Registry cleaners
– Disk defragmenters
– Data backup utility
– Disk cleaners
Reference Books

▪ “Operating System Principles” – A.


Silberschatz, P. Gavin & G. Gagne, Wiley
India.
▪ “Operating System” – A.S. Tannenbaum,
Pearson Education.
▪ “Operating System” – W. Stalling, Pearson
Education
▪ “Operating Systems” – A.S. Godbole, TMH
Overview

▪ An operating system acts as an


intermediary between the 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 in a convenient
and efficient manner.
▪ An operating system is software that
manages the computer hardware.
Overview

▪ Internally, operating systems vary greatly in


their makeup, since they are organized along
many different lines.
▪ The design of a new operating system is a
major task.
▪ It is important that the goals of the system be
well defined before the design begins.
▪ Because an operating system is large and
complex, it must be created piece by piece.
Introduction

Operating systems are those programs that


interface the machine with the application
programs.
The main function of these systems is to
dynamically allocate the shared resources to the
executing programs.
As such, research in this area is clearly
concerned with the management and scheduling
of memory, processes, and other devices.
Introduction

But the interface with adjacent levels continues to


shift with time. Functions that were originally part of
the operating system have migrated to the hardware.
On the other side, programmed functions extraneous
to the problems being solved by the application
programs are included in the operating system.
- WHAT CAN BE AUTOMATED?: THE COMPUTER
SCIENCE AND ENGINEERING RESEARCH STUDY, MIT
Press, 1980
Introduction

▪ An OS is a program that controls the


execution of application programs and
acts as an interface between applications
and the computer hardware. It can be
thought of as having three objectives:
– Convenience
– Efficiency
– Ability to Evolve
Computer Hardware and Software
Structure
Operating System Services

▪ Program execution
▪ I/O Operation
▪ File System Manipulation
▪ Communication
▪ Error Handling
▪ Resource Management
▪ Protection
OS as a Resource Manager

▪ A computer is a set of resources for the


movement, storage, and process and of
data and for the control of these
functions.
▪ The OS is responsible for managing these
resources.
Need of Operating Systems

▪ Since,
– OS act as an interface between user and
computer
– It is the resource manager of the computer
– It creates the environment in which various
software operates.
▪ It is the most important software in our
computer.
▪ And, generally the first software to be
installed in our computer.
Operating System Classification

▪ Single User ▪ Multitasking


▪ Multi User ▪ Multiprocessing
▪ Simple Batch ▪ Network
Processing
▪ Distributed
▪ Multiprogramming
Process Management

▪ A program does nothing unless its


instructions are executed by a CPU.
▪ A program in execution, as mentioned, is a
process. A time-shared user program such as
a compiler is a process.
▪ A word-processing program being run by an
individual user on a PC is a process.
▪ A system task, such as sending output to a
printer, can also be a process.
Process Management

▪ A process needs certain resources – including


CPU time, memory, files, and-I/o devices to
accomplish its task.
▪ These resources are either given to the process
when it is created or allocated to it while it is
running.
▪ In addition to the various physical and logical
resources that a process obtains when it is
created, various initialization data (input) may
be passed along.
Process Management

▪ A process is the unit of work in a system.


▪ Such a system consists of a collection of
processes, some of which are operating-
system processes and the rest of which
are user processes.
▪ All these processes can potentially
execute concurrently by multiplexing on a
single CPU.
Process Management

Process management is a set of activities


carried on by an OS which includes creating
and deleting processes and providing
mechanisms for processes to communicate
and synchronize with each other.
Process State

▪ New
– The process is being created
▪ Running
– Instructions are being executed
▪ Waiting
– The process is waiting of some event to occur
▪ Ready
– The process is waiting to be assigned to the processor
▪ Terminated
– The process has finished execution
Process State
Process Control Block

▪ Each process is represented in the


operating system by a process control
block (PCB).
▪ Also called a task control block.
▪ It contains many pieces of information
associated with a specific process,
including the following:
▪ Process State
– The state may be new, ready, running,
Process Control Block

Process State
Process Number
Program Counter

Registers

Memory Limits
List of Open Files


Process Control Block

▪ Program Counter
– The counter indicates the address of the next
instruction to be executed for this process.
▪ CPU Registers
– The registers vary in number and type,
depending on the computer architecture. They
include accumulators, index registers, stack
pointers, and general-purpose registers plus
any condition-code information.
Process Control Block

▪ CPU-Scheduling Information
– This information includes a process priority,
pointer to scheduling queues, and any other
scheduling parameters.
▪ Memory Management Information
– This information may include such information
as the value of the base and the limit
registers, the page tables, or the segment
tables, depending on the memory system used
by the operating system.
Process Control Block

▪ Accounting Information
– This information includes the amount of CPU and real
time used , time limits, account numbers, job or
process numbers, and so on.
▪ I/O Status Information
– This information includes the list of I/O devices
allocated to the process, a list of open files, and so on.
▪ In brief, the PCB simply serves as the repository
for any information that may vary from process
to process.
Threads
▪ The process model discussed so far has
implied that a process is a program that
performs a single thread of execution.
▪ This single thread of control allows the
process to perform only one task at one time.
▪ Many modern operating systems have
extended the process concept to allow a
process to have multiple threads of execution
and thus to perform more than one task at a
time.
Process Scheduling

▪ The objective of multiprogramming is to


have some process running at all times,
to maximize CPU utilization.
Memory Management

▪ The main memory is central to the operation


of a modern computer system.
▪ Main memory is a large array of words or
bytes, ranging in size from hundreds of
thousands to billions.
▪ Each word or byte has its own address.
▪ Main memory is a repository of quickly
accessible data shared by the CPU and I/0
devices.

You might also like