Operating System 08
Multi-processing Time sharing and
Multitasking OS
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Multiprogramming Operating
System
• The objective of a multiprogramming operating system is to increase
the system utilization efficiency.
• The batch processing system tries to reduce the CPU idle time
through operator interaction. However, it cannot reduce the idle time
due to IO operations.
• So, when some IO is being performed by the currently executing job
of a batch, the CPU sits idle without any work to do.
• Thus, the multiprogramming operating system tries to eliminate such
idle times by providing multiple computational tasks for the CPU to
perform.
• This is achieved by keeping multiple jobs in the main store.
• So, when the job that is being currently executed on the CPU needs
some IO, the CPU passes its requirement over to the IO processor.
• Till the time the IO operation is being carried out, the CPU is free
to carry out some other job.
Time Sharing or Multitasking
System
• Time sharing, or multitasking, is a logical extension
of multiprogramming.
• Multiple jobs are executed by the CPU switching
between them, but the switches occur so frequently
that the users may interact with each program
while it is running.
• An interactive, or hands-on, computer system
provides on-line communication between the user
and the system.
• The user gives instructions to the operating system
or to a program directly, and receives an
immediate response.
Time Sharing or Multitasking
System : File Management
• If users are to be able to access both data and code
conveniently, an on-line file system must be available. A
file is a collection of related information defined by its
creator.
• Commonly, files represent programs (both source and
object forms) and data.
• The operating system implements the abstract concept
of a file by managing mass-storage devices, such disks.
• Files are normally organized into logical clusters, or
directories, which make them easier to locate and
access.
• Since multiple users have access to files, it is desirable
to control by whom and in what ways files may be
accessed.
Time Sharing or Multitasking
System : Interactive jobs
• Batch systems are appropriate for executing large jobs that
need little interaction.
• The user can submit jobs and return later for the results; it is
not necessary for the user to wait while the job is processed.
• Interactive jobs tend to be composed of many short actions,
where the results of the next command may be unpredictable.
• The user submits the command and then waits for the
results. Accordingly, the response time should be short—on
the order of seconds at most.
• An interactive system is used when a short response time is
required.
• Time-sharing systems were developed to provide interactive
use of a computer system at a reasonable cost.
• A time-shared operating system uses CPU scheduling and
multiprogramming to provide each user with a small portion of
a time-shared computer.
Time Sharing or Multitasking
System : Process Management
• Each user has at least one separate program in
memory.
• A program that is loaded into memory and is executing
is commonly referred to as a process.
• When a process executes, it typically executes for only
a short time before it either finishes or needs to
perform I/O.
• I/O may be interactive; that is, output is to a display for
the user and input is from a user keyboard.
• A time-shared operating system allows the many users
to share the computer simultaneously.
• Since each action or command in a time-shared system
tends to be short, only a little CPU time is needed for
each user.
Time Sharing or Multitasking
System : Memory Management
• Time-sharing operating systems are even more complex
than are multi-programmed operating systems.
• As in multiprogramming, several jobs must be kept
simultaneously in memory, which requires some form of
memory management and protection.
• So that a reasonable response time can be obtained,
jobs may have to be swapped in and out of main
memory.
• As the system switches rapidly from one user to the
next, each user is given the impression that she has
her own computer, whereas actually one computer is
being shared among many users.
Multi- Processing or Parallel
Systems
• Most systems to date are single-processor systems; that
is, they have only one main CPU. However, there is a
trend toward multiprocessor systems.
• Such systems have more than one processor in close
communication, sharing the computer bus, the clock,
and sometimes memory and peripheral devices.
• These systems are referred to as tightly coupled
systems.
• There are several reasons for building such systems
such as increased throughput, lower cost, increased
reliability, fault tolerance.
• The Tandem system uses both hardware and software
duplication to ensure continued operation despite faults
Multiprogramming Vs
Multiprocessing Vs Multitasking
• The words multiprogramming, multiprocessing and multitasking are often
confused. There are, of course, some distinctions between these similar, but
distinct terms.
The term multiprogramming refers to the situation in which a single CPU divides
its time between more than one job. Time sharing is a special case of
multiprogramming, where a single CPU serves a number of users at interactive
terminals.
In multiprocessing, multiple CPUs perform more than one job at one time.
Multiprogramming and multiprocessing are not mutually exclusive. Some
mainframes and supermini computers have multiple CPUs each of which can
juggle several jobs.
The term multitasking is described any system that runs or appears to run more
than one application program one time. An effective multitasking environment
must provide many services both to the user and to the application program it
runs. The most important of these are resource management which divides the
computers time, memory and peripheral devices among competing tasks and
interprocess communication, which lets tasking coordinate their activities by
exchanging information
Assignment
• Explain Time sharing Operating Systems
• Briefly describe multi programming and multi-
processing OS

Operating system 08 time sharing and multitasking operating system

  • 1.
    Operating System 08 Multi-processingTime sharing and Multitasking OS Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2.
    Multiprogramming Operating System • Theobjective of a multiprogramming operating system is to increase the system utilization efficiency. • The batch processing system tries to reduce the CPU idle time through operator interaction. However, it cannot reduce the idle time due to IO operations. • So, when some IO is being performed by the currently executing job of a batch, the CPU sits idle without any work to do. • Thus, the multiprogramming operating system tries to eliminate such idle times by providing multiple computational tasks for the CPU to perform. • This is achieved by keeping multiple jobs in the main store. • So, when the job that is being currently executed on the CPU needs some IO, the CPU passes its requirement over to the IO processor. • Till the time the IO operation is being carried out, the CPU is free to carry out some other job.
  • 3.
    Time Sharing orMultitasking System • Time sharing, or multitasking, is a logical extension of multiprogramming. • Multiple jobs are executed by the CPU switching between them, but the switches occur so frequently that the users may interact with each program while it is running. • An interactive, or hands-on, computer system provides on-line communication between the user and the system. • The user gives instructions to the operating system or to a program directly, and receives an immediate response.
  • 4.
    Time Sharing orMultitasking System : File Management • If users are to be able to access both data and code conveniently, an on-line file system must be available. A file is a collection of related information defined by its creator. • Commonly, files represent programs (both source and object forms) and data. • The operating system implements the abstract concept of a file by managing mass-storage devices, such disks. • Files are normally organized into logical clusters, or directories, which make them easier to locate and access. • Since multiple users have access to files, it is desirable to control by whom and in what ways files may be accessed.
  • 5.
    Time Sharing orMultitasking System : Interactive jobs • Batch systems are appropriate for executing large jobs that need little interaction. • The user can submit jobs and return later for the results; it is not necessary for the user to wait while the job is processed. • Interactive jobs tend to be composed of many short actions, where the results of the next command may be unpredictable. • The user submits the command and then waits for the results. Accordingly, the response time should be short—on the order of seconds at most. • An interactive system is used when a short response time is required. • Time-sharing systems were developed to provide interactive use of a computer system at a reasonable cost. • A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer.
  • 6.
    Time Sharing orMultitasking System : Process Management • Each user has at least one separate program in memory. • A program that is loaded into memory and is executing is commonly referred to as a process. • When a process executes, it typically executes for only a short time before it either finishes or needs to perform I/O. • I/O may be interactive; that is, output is to a display for the user and input is from a user keyboard. • A time-shared operating system allows the many users to share the computer simultaneously. • Since each action or command in a time-shared system tends to be short, only a little CPU time is needed for each user.
  • 7.
    Time Sharing orMultitasking System : Memory Management • Time-sharing operating systems are even more complex than are multi-programmed operating systems. • As in multiprogramming, several jobs must be kept simultaneously in memory, which requires some form of memory management and protection. • So that a reasonable response time can be obtained, jobs may have to be swapped in and out of main memory. • As the system switches rapidly from one user to the next, each user is given the impression that she has her own computer, whereas actually one computer is being shared among many users.
  • 8.
    Multi- Processing orParallel Systems • Most systems to date are single-processor systems; that is, they have only one main CPU. However, there is a trend toward multiprocessor systems. • Such systems have more than one processor in close communication, sharing the computer bus, the clock, and sometimes memory and peripheral devices. • These systems are referred to as tightly coupled systems. • There are several reasons for building such systems such as increased throughput, lower cost, increased reliability, fault tolerance. • The Tandem system uses both hardware and software duplication to ensure continued operation despite faults
  • 9.
    Multiprogramming Vs Multiprocessing VsMultitasking • The words multiprogramming, multiprocessing and multitasking are often confused. There are, of course, some distinctions between these similar, but distinct terms. The term multiprogramming refers to the situation in which a single CPU divides its time between more than one job. Time sharing is a special case of multiprogramming, where a single CPU serves a number of users at interactive terminals. In multiprocessing, multiple CPUs perform more than one job at one time. Multiprogramming and multiprocessing are not mutually exclusive. Some mainframes and supermini computers have multiple CPUs each of which can juggle several jobs. The term multitasking is described any system that runs or appears to run more than one application program one time. An effective multitasking environment must provide many services both to the user and to the application program it runs. The most important of these are resource management which divides the computers time, memory and peripheral devices among competing tasks and interprocess communication, which lets tasking coordinate their activities by exchanging information
  • 10.
    Assignment • Explain Timesharing Operating Systems • Briefly describe multi programming and multi- processing OS