OPERATING SYSTEMS
V.V.SUBRAHMANYAM
ASSOCIATE
PROFESSOR
SOCIS, IGNOU
COMPONENTS OF A COMPUTER
SYSTEM
The computer system is basically
divided into 4 components:
1. Hardware
2. Operating System
3. Application programs
4. Users
Users
Application Programs
Operating system
Computer Hardware
ABSTRACT OVERVIEW
HARDWARE
This provides the Basic system
resources.
SYSTEM SOFTWARE
• Refers to the Operating system and all
utility programs that manage computer
resources at a low level.
• It includes compilers, loaders, linkers
and debuggers.
APPLICATION PROGRAMS
A program or group of programs
designed for end users.
Examples: Word processing, Graphics,
Spreadsheets, Databases,
Games.
GOALS OF
AN OPERATING SYSTEM
• To make the computer system
convenient to use.
• To use the computer hardware in an
efficient manner.
PURPOSE OF AN OPERATING
SYSTEM
• The purpose of an operating system
is to provide an environment in which
a user may execute programs.
WHAT IS AN OPERATING
SYSTEM?
• An Operating System is an interface
between user and hardware of a
computer system.
WHAT IS AN OPERATING
SYSTEM?
• An Operating System is a system
software which may be viewed as an
organized collection of software
consisting of procedures for operating
a computer and providing an
environment for execution of programs.
OTHER DEFINITIONS
• An Operating System is a control
program.
• An Operating System is similar to a
Government.
• An Operating System can be defined
as a Resource Manager.
OTHER DEFINITIONS
• An Operating System is the layer between
the H/W and the S/W
• An Operating System is a virtual
computer manager
• Operating System is the first program run
on a computer when the computer boots
up
USER INTERFACE
A set of commands or menus through
which user communicates with the
program.
TYPES OF INTERFACES
• Command driven
• Menu driven
• Graphical user interface(GUI)
WAYS TO INTERACT WITH
OPERATING SYSTEM
• OPERATING SYSTEM CALLS
• OPERATING SYSTEM COMMANDS
SYSTEM CALLS
• Invokes services of the operating system
by means of run-time system calls.
• These are usually embedded in, and
activated during execution of programs.
SYSTEM COMMANDS
• These are used to obtain services of the
o/s by means of commands, typed at the
terminal or embedded in a batch job.
SYSTEM CALLS
System Calls provide the interface to a
running program and the O/S.
OPERATING SYSTEM COMMANDS
Users may interact with the O/S directly
by means of O/S commands.
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






The o/s keeps track of
the memory, what parts are
in use and by whom.
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






The o/s keeps track ofThe o/s keeps track of
processors and the statusprocessors and the status
of processes. It decidesof processes. It decides
who will have a chance towho will have a chance to
use the processor.use the processor.
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






The o/s keeps track of the devices,
channels, control units and
decides what is an efficient
way to allocate the device.
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






O/S keeps track of the information,
its location, use, status etc.
and decides who gets use
of the resources,
enforce protection requirements.
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






An o/s is to protect the userAn o/s is to protect the user
from unauthorized accessfrom unauthorized access
of his files or data.of his files or data.
And also it should protectAnd also it should protect
itself from usersitself from users
FUNCTIONS OF
OPERATING SYSTEM
Memory management
Process management
Device management
Information management
Protection
Error Handling






An o/s must respond to
errors by taking the
appropriate actions.
TYPES OF OPERATING SYSTEMS
• Batch Operating Systems
• Multiprogramming Operating Systems
• Distributed Operating systems
• Network Operating systems
Batch Operating Systems
• Batch processing generally requires the
program, data and appropriate system
commands to be submitted together in the
form of a job.
• Batch O/s usually allow little or no
interaction between users and executing
programs
Contd…
• Scheduling in batch systems is very
simple and are processed in the order of
submission
• Memory management in batch systems is
also very simple.
Contd…
• Memory is divided into 2 areas:
• Permanently occupied by the resident
portion of the o/s
• Is used to load transient programs for
execution
• Examples include payroll, forecasting,
statistical analysis and large scientific
number crunching programs.
MULTIPROGRAMMING
• Multiprogramming is essentially
multiplexing of system resources
such as processor, memory, and
I/O devices among a number of
active programs.
Contd…
• Multiprogramming is used as a
technique to enhance the throughput
efficiency.
• Overlapping interleaving computing
of different jobs.
• More than one job is “ready” at the
same time.
Multiprogramming Operating Systems
• These are characterized by a multitude of
simultaneously active programs that are
competing for system resources, such as
processor, memory and I/O devices.
• It monitors the state of al active programs
and system resources.
Different types of
Multiprogramming Operating System
• Multitasking operating system
• Multiprocessing operating system
• Multiuser operating system
Multitasking Operating systems
• A multitasking o/s is distinguished by its
ability to support concurrent execution of
two or more active processes.
• It is often coupled with h/w and s/w
support for memory protection in order to
prevent erroneous processes from
corrupting address spaces and behavior
of other resident processes.
Multiprocessing Operating Systems
• These operating systems manage the
operation of computer systems that
incorporate multiple processors.
• Multiprocessor operating systems are
multitasking systems by definition
because they support simultaneous
execution of multiple processes on
different processors.
Multiuser Operating Systems
• Multiprogramming o/s usually support
multiple users and are called as multiuser
systems.
• These provide facilities for maintenance of
individual user environments, require user
authentication for security and protection,
and provide per-user resource usage
accounting.
“In general, Multiprogramming implies
multitasking , but multitasking does not
imply multiprogramming”
Multiaccess Operating Systems
• These allow simultaneous access to a
computer system through two or more
terminals.
• In general, multiaccess operation does
not necessarily imply multiprogramming.
Example: Airline ticket reservation system
Distributed operating systems
• It governs the operation of a distributed
computer system and provides a virtual
machine abstraction to its users.
• Key objective of a distributed operating
systems is transparency.
Contd…
• It facilitates access to remote resources,
communication with remote processes,
and distribution of computations
NETWORK OPERATING SYSTEM
• The term network operating system,
however, is generally reserved for s/w
that enhances a basic o/s by adding
networking features.
Examples:NOS's for DOS and Windows
systems include Novell Netware,
Artisoft's LANtastic, Microsoft LAN
Manager, and Windows NT.
Time sharing systems
• It is a popular representative of
multiprogrammed, multiuser systems.
• Giving the illusion to each user of having
a mcahine to oneself.
• These provide equitable sharing of
common resources.
Contd…
• Good terminal response time
• Most time sharing systems use time
slicing or round robin (RR) scheduling
• Applications include large CAD and text
processing systems.
Real-time systems
• These are mostly concerned with
responsive handling of external events
generated by the controlled system.
• To provide quick event response times,
and thus meet the scheduling deadlines.
• Applications include Industrial control,
telephone switching equipment, flight
control and real time simulation.
Process
• Process or Task is a dynamic concept
that refers to a program in execution.
• It is a smallest unit of work individually
schedulable by an operating system.
Processes and attributes
• Each process possesses certain attributes
that assist the O/s in managing it.
• The attributes includes current state,
scheduling priority, access rights and
other information.
Contd…
• Each multiprogramming o/s keeps track of
all active processes and allocates system
resources to them according to policies
devised to meet design performance
objectives.
Implicit tasking
• The processes are defined by the system.
• This is commonly encountered in general
purpose multiprogramming systems
Explicit tasking
• The programmers explicitly define each
process and some of the attributes.
• This is user in situations where high
performance of system activities is
desired.
• This result in faster execution of an
application.
Process Relationship
• There are 2 fundamental relations among
concurrent processes:
• Competition
• Cooperation
Process states
• Dormant
• Ready
• Running
• Suspended
Dormant state
• All process templates awaiting activation,
as well as programs not yet submitted to
the o/s, may be treated as dormant.
Ready state
• A ready process possesses all resources
needed for its execution, except the
processor.
• All ready processes are waiting to have
the processor allocated to them by the o/s
Running state
• A running process possesses all
resources for its execution, including the
processor.
• The running process executes its
sequence of machine instructions and
may call on the o/s to perform services
such as I/O operation or synchronization
on its behalf.
Suspended state
• A Suspended process lacks some
resources other than the processor, such
as a synchronization signal.
Process state-transition diagram
Running
Dormant
Ready
Suspended
Event occurs
Awaits eventTerminates
Created
Scheduled Preempted
Scheduler
• It is an operating system module which
selects one ready process for execution
whenever the O/S has control of the
processor and is about to transfer it a user
process.
Process control Block ( PCB)
• The O/S groups all information that needs
about a particular process into a data
structure called a process descriptor or
a process control block (PCB).
Contd…
• Process name (ID)
• Priority
• State
• H/W state (Processor registers and flags)
• Scheduling information and usage statistics
• Memory management information
• I/O status
• File management information
• Accounting information
Process Switch
• A transition between two memory resident
processes in a multiprogramming system
is called a process switch or task switch.

Operating Systems

  • 1.
  • 2.
    COMPONENTS OF ACOMPUTER SYSTEM The computer system is basically divided into 4 components: 1. Hardware 2. Operating System 3. Application programs 4. Users
  • 3.
  • 4.
    HARDWARE This provides theBasic system resources.
  • 5.
    SYSTEM SOFTWARE • Refersto the Operating system and all utility programs that manage computer resources at a low level. • It includes compilers, loaders, linkers and debuggers.
  • 6.
    APPLICATION PROGRAMS A programor group of programs designed for end users. Examples: Word processing, Graphics, Spreadsheets, Databases, Games.
  • 7.
    GOALS OF AN OPERATINGSYSTEM • To make the computer system convenient to use. • To use the computer hardware in an efficient manner.
  • 8.
    PURPOSE OF ANOPERATING SYSTEM • The purpose of an operating system is to provide an environment in which a user may execute programs.
  • 9.
    WHAT IS ANOPERATING SYSTEM? • An Operating System is an interface between user and hardware of a computer system.
  • 10.
    WHAT IS ANOPERATING SYSTEM? • An Operating System is a system software which may be viewed as an organized collection of software consisting of procedures for operating a computer and providing an environment for execution of programs.
  • 11.
    OTHER DEFINITIONS • AnOperating System is a control program. • An Operating System is similar to a Government. • An Operating System can be defined as a Resource Manager.
  • 12.
    OTHER DEFINITIONS • AnOperating System is the layer between the H/W and the S/W • An Operating System is a virtual computer manager • Operating System is the first program run on a computer when the computer boots up
  • 13.
    USER INTERFACE A setof commands or menus through which user communicates with the program.
  • 14.
    TYPES OF INTERFACES •Command driven • Menu driven • Graphical user interface(GUI)
  • 15.
    WAYS TO INTERACTWITH OPERATING SYSTEM • OPERATING SYSTEM CALLS • OPERATING SYSTEM COMMANDS
  • 16.
    SYSTEM CALLS • Invokesservices of the operating system by means of run-time system calls. • These are usually embedded in, and activated during execution of programs.
  • 17.
    SYSTEM COMMANDS • Theseare used to obtain services of the o/s by means of commands, typed at the terminal or embedded in a batch job.
  • 18.
    SYSTEM CALLS System Callsprovide the interface to a running program and the O/S. OPERATING SYSTEM COMMANDS Users may interact with the O/S directly by means of O/S commands.
  • 19.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling      
  • 20.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       The o/s keeps track of the memory, what parts are in use and by whom.
  • 21.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       The o/s keeps track ofThe o/s keeps track of processors and the statusprocessors and the status of processes. It decidesof processes. It decides who will have a chance towho will have a chance to use the processor.use the processor.
  • 22.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       The o/s keeps track of the devices, channels, control units and decides what is an efficient way to allocate the device.
  • 23.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       O/S keeps track of the information, its location, use, status etc. and decides who gets use of the resources, enforce protection requirements.
  • 24.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       An o/s is to protect the userAn o/s is to protect the user from unauthorized accessfrom unauthorized access of his files or data.of his files or data. And also it should protectAnd also it should protect itself from usersitself from users
  • 25.
    FUNCTIONS OF OPERATING SYSTEM Memorymanagement Process management Device management Information management Protection Error Handling       An o/s must respond to errors by taking the appropriate actions.
  • 26.
    TYPES OF OPERATINGSYSTEMS • Batch Operating Systems • Multiprogramming Operating Systems • Distributed Operating systems • Network Operating systems
  • 27.
    Batch Operating Systems •Batch processing generally requires the program, data and appropriate system commands to be submitted together in the form of a job. • Batch O/s usually allow little or no interaction between users and executing programs
  • 28.
    Contd… • Scheduling inbatch systems is very simple and are processed in the order of submission • Memory management in batch systems is also very simple.
  • 29.
    Contd… • Memory isdivided into 2 areas: • Permanently occupied by the resident portion of the o/s • Is used to load transient programs for execution • Examples include payroll, forecasting, statistical analysis and large scientific number crunching programs.
  • 30.
    MULTIPROGRAMMING • Multiprogramming isessentially multiplexing of system resources such as processor, memory, and I/O devices among a number of active programs.
  • 31.
    Contd… • Multiprogramming isused as a technique to enhance the throughput efficiency. • Overlapping interleaving computing of different jobs. • More than one job is “ready” at the same time.
  • 32.
    Multiprogramming Operating Systems •These are characterized by a multitude of simultaneously active programs that are competing for system resources, such as processor, memory and I/O devices. • It monitors the state of al active programs and system resources.
  • 33.
    Different types of MultiprogrammingOperating System • Multitasking operating system • Multiprocessing operating system • Multiuser operating system
  • 34.
    Multitasking Operating systems •A multitasking o/s is distinguished by its ability to support concurrent execution of two or more active processes. • It is often coupled with h/w and s/w support for memory protection in order to prevent erroneous processes from corrupting address spaces and behavior of other resident processes.
  • 35.
    Multiprocessing Operating Systems •These operating systems manage the operation of computer systems that incorporate multiple processors. • Multiprocessor operating systems are multitasking systems by definition because they support simultaneous execution of multiple processes on different processors.
  • 36.
    Multiuser Operating Systems •Multiprogramming o/s usually support multiple users and are called as multiuser systems. • These provide facilities for maintenance of individual user environments, require user authentication for security and protection, and provide per-user resource usage accounting.
  • 37.
    “In general, Multiprogrammingimplies multitasking , but multitasking does not imply multiprogramming”
  • 38.
    Multiaccess Operating Systems •These allow simultaneous access to a computer system through two or more terminals. • In general, multiaccess operation does not necessarily imply multiprogramming. Example: Airline ticket reservation system
  • 39.
    Distributed operating systems •It governs the operation of a distributed computer system and provides a virtual machine abstraction to its users. • Key objective of a distributed operating systems is transparency.
  • 40.
    Contd… • It facilitatesaccess to remote resources, communication with remote processes, and distribution of computations
  • 41.
    NETWORK OPERATING SYSTEM •The term network operating system, however, is generally reserved for s/w that enhances a basic o/s by adding networking features. Examples:NOS's for DOS and Windows systems include Novell Netware, Artisoft's LANtastic, Microsoft LAN Manager, and Windows NT.
  • 42.
    Time sharing systems •It is a popular representative of multiprogrammed, multiuser systems. • Giving the illusion to each user of having a mcahine to oneself. • These provide equitable sharing of common resources.
  • 43.
    Contd… • Good terminalresponse time • Most time sharing systems use time slicing or round robin (RR) scheduling • Applications include large CAD and text processing systems.
  • 44.
    Real-time systems • Theseare mostly concerned with responsive handling of external events generated by the controlled system. • To provide quick event response times, and thus meet the scheduling deadlines. • Applications include Industrial control, telephone switching equipment, flight control and real time simulation.
  • 45.
    Process • Process orTask is a dynamic concept that refers to a program in execution. • It is a smallest unit of work individually schedulable by an operating system.
  • 46.
    Processes and attributes •Each process possesses certain attributes that assist the O/s in managing it. • The attributes includes current state, scheduling priority, access rights and other information.
  • 47.
    Contd… • Each multiprogrammingo/s keeps track of all active processes and allocates system resources to them according to policies devised to meet design performance objectives.
  • 48.
    Implicit tasking • Theprocesses are defined by the system. • This is commonly encountered in general purpose multiprogramming systems
  • 49.
    Explicit tasking • Theprogrammers explicitly define each process and some of the attributes. • This is user in situations where high performance of system activities is desired. • This result in faster execution of an application.
  • 50.
    Process Relationship • Thereare 2 fundamental relations among concurrent processes: • Competition • Cooperation
  • 51.
    Process states • Dormant •Ready • Running • Suspended
  • 52.
    Dormant state • Allprocess templates awaiting activation, as well as programs not yet submitted to the o/s, may be treated as dormant.
  • 53.
    Ready state • Aready process possesses all resources needed for its execution, except the processor. • All ready processes are waiting to have the processor allocated to them by the o/s
  • 54.
    Running state • Arunning process possesses all resources for its execution, including the processor. • The running process executes its sequence of machine instructions and may call on the o/s to perform services such as I/O operation or synchronization on its behalf.
  • 55.
    Suspended state • ASuspended process lacks some resources other than the processor, such as a synchronization signal.
  • 56.
    Process state-transition diagram Running Dormant Ready Suspended Eventoccurs Awaits eventTerminates Created Scheduled Preempted
  • 57.
    Scheduler • It isan operating system module which selects one ready process for execution whenever the O/S has control of the processor and is about to transfer it a user process.
  • 58.
    Process control Block( PCB) • The O/S groups all information that needs about a particular process into a data structure called a process descriptor or a process control block (PCB).
  • 59.
    Contd… • Process name(ID) • Priority • State • H/W state (Processor registers and flags) • Scheduling information and usage statistics • Memory management information • I/O status • File management information • Accounting information
  • 60.
    Process Switch • Atransition between two memory resident processes in a multiprogramming system is called a process switch or task switch.

Editor's Notes

  • #10 The most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop -- it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Operating systems can be classified as follows: multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. multiprocessing : Supports running a program on more than one CPU. multitasking : Allows more than one program to run concurrently. multithreading : Allows different parts of a single program to run concurrently. real-time real_time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time. Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, the most popular operating systems are DOS, OS/2, and Windows, but others are available, such as Linux. As a user, you normally interact with the operating system through a set of commands. For example, the DOS operating system contains commands such as COPY and RENAME for copying files and changing the names of files, respectively. The commands are accepted and executed by a part of the operating system called the command processor or command line interpreter. Graphical user interfaces allow you to enter commands by pointing and clicking at objects that appear on the screen.
  • #15 The junction between a user and a computer program. An interface is a set of commands or menus through which a user communicates with a program. A command-driven interface is one in which you enter commands. A menu-driven interface is one in which you select command choices from various menus displayed on the screen. The user interface is one of the most important parts of any program because it determines how easily you can make the program do what you want. A powerful program with a poorly designed user interface has little value. Graphical user interfaces (GUIs) that use windows, icons, and pop-up menus have become standard on personal computers.
  • #16 Programs rely on facilities provided by the o/s to gain access to computer system resources. There are two ways one can interact with o/s namely, system calls and system commands.
  • #19 User program receives o/s services through the set of system calls. The following system calls will be generated by the o/s: Prompt messages for inputting file names and reading it from terminal. Open source and destination file Prompt error messages. Read the source file. Write into the destination file. Sysem commands can be given directly. For example to display directories in MSDOS we give the command “dir”
  • #21 Memory management is primarily concerned with allocation of main memory of united capacity to requesting processes.Two important features of memory management function are protection and sharing.
  • #22 Process management is concerned with the management of physical processors(CPU’s) I.e., allocation of processes to a processor. A process is a program under execution.
  • #24 File management is one of the most visible services of an operating system.File management deals with the management of data program which reside on secondary storage device. File mapping is done by file management.File management includes: 1.Mapping of logical file address to physical disk address. 2.Management of disk space and allocation and dellocation 3.Keeping track of all files in the system. 4.Support for protection and sharing of files recoveryl.
  • #31 The ability to execute more than one task at the same time, a task being a program. The terms multitasking and multiprocessing are often used interchangeably, although multiprocessing sometimes implies that more than one CPU is involved. In multitasking, only one CPU is involved, but it switches from one program to another so quickly that it gives the appearance of executing all of the programs at the same time. There are two basic types of multitasking: preemptive and cooperative. In preemptive multitasking, the operating system parcels out CPU time slices to each program. In cooperative multitasking, each program can control the CPU for as long as it needs it. If a program is not using the CPU, however, it can allow another program to use it temporarily. OS/2, Windows 95, Windows NT, the Amiga operating system and UNIX use preemptive multitasking, whereas Microsoft Windows 3.x and the MultiFinder (for Macintosh computers) use cooperative multitasking.
  • #34 Operating systems can be classified as follows: multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. multiprocessing : Supports running a program on more than one CPU. multitasking : Allows more than one program to run concurrently. multithreading : Allows different parts of a single program to run concurrently. real-time real_time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time.