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

Types of OS

Uploaded by

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

Types of OS

Uploaded by

Virti Doshi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Batch OS

 most primitive
 requires the program, (Era Johri) data, and
appropriate system commands to be submitted
together in the form of a job
 allow little or no interaction between users and
executing programs
 has a greater potential for resource utilization than
simple serial processing in computer systems
serving multiple users
 Due to turnaround delays and offline debugging,
batch is not very convenient for program
development
 Adv:
o Programs that do not require interaction and

programs with long execution times may be


served well by a batch operating system
o Scheduling in batch is very simple

o Jobs are typically processed in order of their

submission, that is, first-come first-served


fashion
o Memory management in batch systems is also

very simple. Memory is usually divided into


two areas. The resident portion of the
Operating System permanently occupies one
of them, and the other is used to load
transient programs for execution
o at most one program is in execution at any

time, batch systems do not require any time-


critical device management
o many serial and I/O and ordinary batch

operating systems use simple, program


controlled method of I/O
o access to files is also serial, little protection

and no concurrency control of file access in


required
 Examples of such programs include payroll,
forecasting, statistical analysis, and large scientific
number-crunching programs
 Research Area: Serial processing combined with
batch like command files is also found on many
personal computers
Multiprogramming Operating System
 permits multiple programs to be loaded into
memory and execute the programs concurrently.
 Concurrent (Prof Era J) execution of programs has
a significant potential for improving system
throughput and resource utilization relative to
batch and serial processing.
 This potential is realized by a class of operating
systems that multiplex resources of a computer
system among a multitude of active programs.
 Such operating systems usually have the prefix
multi in their names, such as multitasking or
multiprogramming.

Multitasking Operating System


 It allows more than one program to run concurrently.
 The ability to execute more than one task at the same time is called as multitasking.
 An instance of a program in execution is called a process or a task.
 A multitasking Operating System is distinguished by its ability to support concurrent
execution of two or more active processes.
 Multitasking is usually implemented by maintaining code and data of several processes in
memory simultaneously, and by multiplexing processor and I/O devices among them.
 Multitasking is often coupled (Prof J Era) with hardware and software support for memory
protection in order to prevent erroneous processes from corrupting address spaces and
behavior of other resident processes.
 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.
 Examples: OS/2, Windows 95, Windows NT, and UNIX use preemptive multitasking, whereas
Microsoft Windows 3.x and the MultiFinder use cooperative multitasking.

Multi-user Operating System/Multi Processing OS


 Multiprogramming operating systems usually support multiple users, in which case they are
also called multi-user systems.
 Multi-user operating systems provide facilities for maintenance of individual user
environments and therefore require user accounting. In general, multiprogramming implies
multitasking, but multitasking does not imply multi-programming.
 In effect, multitasking operation is one of the mechanisms that a multiprogramming
Operating System employs in managing the totality of computer-system resources, including
processor, memory, and I/O devices.
 Multitasking operation without multi-user support can be found in operating systems of
some advanced personal computers and in real-time systems.
 Multi-access operating systems allow (Prof Johri E) simultaneous access to a computer
system through two or more terminals.
 In general, multi-access operation does not necessarily imply multiprogramming.
 An example is provided by some dedicated transaction-processing systems, such as airline
ticket reservation systems, that support hundreds of active terminals under control of a
single program.

Multiprocessor OS
 In general, the multiprocessing or multiprocessor operating systems manage the operation
of computer systems that incorporate multiple processors.
 Multiprocessor operating systems are multitasking operating systems by definition because
they support simultaneous execution of multiple tasks (processes) on different processors.
 Depending on implementation, multitasking may or may not be allowed on individual
processors.
 Except for management and scheduling of multiple processors, multiprocessor operating
systems provide the usual complement of other system services that may qualify them as
time- sharing, real-time, or a combination operating system.

Multithreading
 Multithreading allows different parts of a single program to run concurrently.
 The programmer must carefully design the program in such a way that all the threads can
run at the same time without interfering with each other.

Time-sharing system
 Time-sharing is a popular representative of multi-programmed, multi-user systems.
 In addition to general program-development environments, many large computer-aided
design and text-processing systems belong to this category.
 One of the primary objectives of multi-user systems in general, and time-sharing in
particular, is good terminal response time.
 Giving the illusion to each user of having a machine to oneself, time-sharing systems often
attempt to provide equitable sharing of common (Johri E) resources.
 For example, when the system is loaded, users with more demanding processing
requirements are made to wait longer.
 This philosophy is reflected in the choice of scheduling algorithm. Most time- sharing
systems use time-slicing scheduling.
 In this approach, programs are executed with rotating priority that increases during waiting
and drops after the service is granted.
 In order to prevent programs from monopolizing the processor, a program executing longer
than the system-defined time slice is interrupted by the Operating System and placed at the
end of the queue of waiting programs.
 This mode of operation generally provides quick response time to interactive programs.
 Memory management in time-sharing systems provides for isolation and protection of co-
resident programs.
 Some forms of controlled sharing are sometimes provided to conserve memory and possibly
to exchange data between programs. Being executed on behalf of different users, programs
in time-sharing systems generally do not have much need to communicate with each other.
 As in most multi-user environments, (Era J) allocation and de-allocation of devices must be
done in a manner that preserves system integrity and provides for good performance.

Real-time systems
 Real time systems are used in time critical environments where data must be processed
extremely quickly because the output influences immediate decisions.
 Real time systems are used for space flights, airport traffic control, industrial processes,
sophisticated medical equipments, telephone switching etc.
 A real time system must be 100 percent responsive in time.
 Response time is measured in fractions of seconds. In real time systems the correctness of
the computations not only depends upon the logical correctness of the computation but also
upon the time at which the results is produced.
 If the timing constraints of the system are not met, system failure is said to have occurred.
 Real-time operating systems are used in environments where a large number of events,
mostly external to the computer system, must be accepted and processed in a short time or
within certain deadlines.
 A primary objective of real-time systems is to provide quick event-response times, and thus
meet the scheduling deadlines. User convenience and resource utilization are of secondary
concern to real-time system designers.
 It is not uncommon for a real-time system to be expected to process bursts of thousands of
interrupts per second without missing a single event.
 Such requirements usually cannot be met by multi-programming alone, and real-time
operating systems usually rely on some specific policies and techniques for doing their job.
 The Multitasking operation is accomplished by scheduling processes for execution
independently of each other. Each process is assigned a certain level of priority that
corresponds to the relative importance of the event that it services.
 The processor is normally allocated to the highest-priority process among those that are
ready to execute.
 Higher-priority processes usually preempt execution of the lower-priority processes.
 This form of scheduling, called priority-based preemptive scheduling, is used by a majority of
real-time systems.
 Unlike, say, time-sharing, the process population in real-time systems is fairly static, and
there is comparatively little moving of programs between primary and secondary storage.
 On the other hand, processes in real-time systems tend to cooperate closely, thus
necessitating support for both separation and sharing of memory.
 Time-critical device management is one of the main characteristics of real-time systems.
 In addition to providing sophisticated forms of interrupt management and I/O buffering,
real-time operating systems often provide system calls to allow user processes to connect
themselves to interrupt vectors and to service events directly.
 Some embedded real-time systems, such as an onboard automotive controller, may not
have any secondary storage.
 The primary objective of file (Prof Johri E) management in real-time systems is usually speed
of access, rather then efficient utilization of secondary storage.

Parallel OS

 Parallel operating systems are a type of computer processing


platform that breaks large tasks into smaller pieces that are
done at the same time in different places and by different
mechanisms.
 They are sometimes also described as “multi-core” processors.
 Flynn Classification of Operating systems.

Distributed OS

 A distributed operating system is system software over a


collection of independent software, networked,
communicating, and physically separate computational nodes.
 They handle jobs which are serviced by multiple CPUs.
 Each individual node holds a specific software subset of the
global aggregate operating system.
 Distributed applications are running on multiple computers
linked by a communications network.
 Sometimes it is also called loosely coupled systems because in
which each processor has its own local memory and processing
units.
 Examples: LOCUS and MICROS

You might also like