Types of Operating Systems 03
Types of Operating Systems 03
I. Real-time processing:
In a real time processing, there is a continual input, process and output of data. Data has to be
processed in a small stipulated time period (real time), otherwise it will create problems for the
system. For example: assembly line robots in computer science, real-time computing (RTC), or
reactive computing, is the study of hardware and software systems that are subject to a "real-time
constraint"— e.g. operational deadlines from event to system response. Real-time programs must
guarantee response within strict time constraints. Often real-time response times are understood
to be in the order of milliseconds and sometimes microseconds. In contrast, a non-real-time
system is one that cannot guarantee a response time in any situation, even if a fast response is the
usual result.
90
CHAPTER # 03 DATA PROCESSING
The use of this word should not be confused with the two other legitimate uses of 'real-time'. In
the domain of simulations, the term means that the simulation's clock runs as fast as a real clock
would; and in the domain of data transfer, media processing and enterprise systems, the term is
used to mean 'without perceivable delay'. Real-time software may use one or more of the
following: synchronous programming languages, real-time operating systems, and real-time
networks, each of which provide essential frameworks on which to build a real-time software
application.
A real-time system may be one where its application can be considered to be mission critical.
The anti-lock brakes on a car are a simple example of a real-time computing system — the real-
time constraint in this system is the time in which the brakes must be released to prevent the
wheel from locking. Real-time computations can be said to have failed if they are not completed
before their deadline, where their deadline is relative to an event. A real-time deadline must be
met, regardless of system load.
In a batch processing group of transactions collected over a period of time is collected, entered,
processed and then the batch results are produced. Batch processing requires separate programs
for input, process and output. It is an efficient way of processing high volume of data.
For example: Payroll system, Examination system and billing system.
91
CHAPTER # 03 DATA PROCESSING
Batch processing is used to do a major job in one heap. For example calculating salaries and
printing payslips . It happens at regular intervals. All input data is stored before processing takes
place.
Disadvantages:
1. It is difficult to provide the desired priority scheduling.
1. File Converter
Batch processing is also used for converting a number of computer files from one format to
another. This to make the file portable and versatile especially for proprietary and legacy files
where viewers are not easy to come by.
92
CHAPTER # 03 DATA PROCESSING
File Converter is a file conversion utility that comes bundled with Signalyze. Using File
Converter's batch processing feature is straight-forward; it is activated from the standard convert
dialog. To batch process files, click on the Convert Folder checkbox in the lower left of the
window. File Converter will then convert all of the signals in the folder listed at the top of the
dialog (in this case, Signals) instead of just one file that may be selected in the dialog window.
2. Payroll processing:
When a cheque arrives at a bank, the information on the cheque has to be entered into the bank’s
computer system so that the correct funds can be transferred between the correct accounts.
Entering this data quickly and accurately is a time-consuming and difficult task. To help speed
things up, a special system of printing is used on cheques that can be read by a reader connected
to the computer system. At the bottom of every cheque, printed in a special font using magnetic
ink, is the bank account number and cheque number. The hand-written part of the cheque (the
payee and the value of payment) can be entered into the computer system by either using a
human to read the writing and typing the data in, or by using OCR.
4. Printing:
A popular computerized batch processing procedure is printing. This normally involves the
operator selecting the documents they need printed and indicating to the batch printing software
when, where they should be output and priority of the print job. Then the job is sent to the print
queue from where printing daemon sends them to the printer.
5. Databases:
Batch processing is also used for efficient bulk database updates and automated transaction
processing, as contrast to interactive online transaction (OLTP) applications. The extract,
transform, load (ETL) step in populating data warehouses is inherently a batch process in most
implementations.
6. Images:
93
CHAPTER # 03 DATA PROCESSING
Batch processing is often used to perform various operations with digital images. There exist
computer programs that let one resize, convert, watermark or otherwise edit image files.
There are a number of differences between real-time and batch processing. These are outlined
below:
b) Real-time processing requires the master file to be available more often for updating and
reference than batch processing. The database is not accessible all of the time for batch
processing.
c) Real-time processing has fewer errors than batch processing, as transaction data is
validated and entered immediately. With batch processing, the data is organised and
stored before the master file is updated. Errors can occur during these steps.
d) Infrequent errors may occur in real-time processing; however, they are often tolerated. It
is not practical to shut down the system for infrequent errors.
e) More computer operators are required in real-time processing, as the operations are not
centralized. It is more difficult to maintain a real-time processing system than a batch
processing system.
This is a type of demand processing which only takes place when requested. A transaction
processing system is a type of information system. TPSs collect, store, modify, and retrieve the
transactions of an organization. A transaction is an event that generates or modifies data that is
eventually stored in an information system. It is recommended that a transaction processing
system should pass the ACID test.
The essence of a transaction program is that it manages data that must be left in a consistent
state, e.g. if an electronic payment is made, the amount must be both withdrawn from one
account and added to the other; it cannot complete only one of those steps. Either both must
occur, or neither. In case of a failure preventing transaction completion, the partially executed
transaction must be 'rolled back' by the TPS. While this type of integrity must be provided also
for batch transaction processing, it is particularly important for online processing: if e.g. an
airline seat reservation system is accessed by multiple operators, after an empty seat inquiry, the
seat reservation data must be locked until the reservation is made, otherwise another user may
get the impression a seat is still free while it is actually being booked at the time. Without proper
transaction monitoring, double bookings may occur. Other transaction monitor functions include
deadlock detection and resolution (deadlocks may be inevitable in certain cases of cross-
94
CHAPTER # 03 DATA PROCESSING
dependence on data), and transaction logging (in 'journals') for 'forward recovery' in case of
massive failures.
IV. Multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, are
performed during the same period of time. While the preceding statement appears to be true to
people using the computer, the computer can only be executing one machine instruction at any
instant so in reality only one task can be running at any one time. Since it only takes the
computer nanoseconds to execute a machine instruction it can switch between tasks many times
a second making it appear to the user that the tasks are running at the same time. The tasks share
common processing resources, such as a CPU and main memory. In the case of a computer with
a single CPU, only one task can be running at any instant in time, meaning that the CPU is
actively executing instructions for that task.
Multitasking solves the problem by scheduling which task may be the one running at any given
time, and when another waiting task gets a turn. The act of reassigning a CPU from one task to
another one is called a context switch. When context switches occur frequently enough the
illusion of parallelism is achieved. Even on computers with more than one CPU (called
multiprocessor machines), multitasking allows many more tasks to be run than there are CPUs.
The term "multitasking" has become an international term, as the same word in many other
languages such as German, Italian, Dutch, Danish and Norwegian. Example of multitasking is
watching movie while downloading a song.
V. Multiprogramming:
This type of processing is used by mini or mainframe computers who work so quickly that they
have to wait for the peripheral devices to catch up so they are given more than one task to do at a
time. This is done via time-sharing of the CPU.
In the early days of computing, CPU time was expensive, and peripherals were very slow. When
the computer ran a program that needed access to a peripheral, the Central processing unit (CPU)
95
CHAPTER # 03 DATA PROCESSING
would have to stop executing program instructions while the peripheral processed the data. This
was deemed very inefficient. The first computer using a multiprogramming system was the
British Leo III owned by J. Lyons and Co.. Several different programs in batch were loaded in
the computer memory, and the first one began to run. When the first program reached an
instruction waiting for a peripheral, the context of this program was stored away, and the second
program in memory was given a chance to run. The process continued until all programs finished
running.
Multiprogramming doesn't give any guarantee that a program will run in a timely manner.
Indeed, the very first program may very well run for hours without needing access to a
peripheral. As there were no users waiting at an interactive terminal, this was no problem: users
handed in a deck of punched cards to an operator, and came back a few hours later for printed
results. Multiprogramming greatly reduced wait times when multiple batches were being
processed. Example of multiprogramming is upgrading yahoo messenger and msn messenger at
the same time.
Multiusing takes place when two or more computers are being run on the same system at the
same time. The operating system shares the processor time between the computers. This share of
processor time is called a TIME SLICE. This type of OS allows multiple users to simultaneously
use the system, while here as well, the processor splits its resources and handles one user at a
time, the speed and efficiency at which it does this makes it apparent that users are
simultaneously using the system, some network systems utilize this kind of operating system.
Multi-user is a term that defines an operating system or application software that allows
concurrent access by multiple users of a computer. Time-sharing systems are multi-user systems.
Most batch processing systems for mainframe computers may also be considered "multi-user", to
avoid leaving the CPU idle while it waits for I/O operations to complete. However, the term
"multitasking" is more common in this context.
In a distributed system, software and data maybe distributed around the system, programs and
files maybe stored on different storage devices which are located in different geographical
locations and maybe accessed from different computer terminals. While we are mostly
accustomed to seeing multi-tasking and multi-user operating systems, the other operating
systems are usually used in companies and firms to power special systems.
96
CHAPTER # 03 DATA PROCESSING
In a larger computer system that contains several processors, the multiprocessor mode allows the
processors to work together and to share the same memory. Multiprocessing sometimes refers to
the execution of multiple concurrent software processes in a system as opposed to a single
process at any one instant. However, the terms multitasking or multiprogramming are more
appropriate to describe this concept, which is implemented mostly in software, whereas
multiprocessing is more appropriate to describe the use of multiple hardware CPUs. A system
can be both multiprocessing and multiprogramming, only one of the two, or neither of the two of
them.
*****************************************************************************
*
97