Title: Computer processing Techniques
1Computer processing Techniques
2What is operating system?
- Operating system is an integrated set of programs
that control the resources of a computer system
and provides an interface to user. - Make a computer system easier to use
- Manage the resources of computer system
3Various types of computer processing techniques
- Batch processing
- Multiprogramming
- Multiprocessing
- On line processing
- Offline processing
- Real time processing
- Time sharing
4What is process?
- A process (also called job) is program in
execution. The main objective of process
management module of an OS is to manage the
processes submitted to a system in a manner to
minimize idle time of CPU of the system.
5Serial Processing
- operators and programmers??
- the programmer prepares her/his job off-line on
punched cards, brings the card deck to the
machine room and waits for results ??the human
operator runs the job and delivers a printed
output - one single job at a time??
- huge setup time for each job
- loading the compiler, the source program, saving
the compiled program, loading, linking,
etc.??also mounting and dismounting tapes,
handling card decks, etc.?? - a lot of time was wasted manipulating things and
walking around - In this Uniprogrmming system only one job is
processed at a time and all system resources are
available exclusively for the job until its
completion.
6Main Memory
Operating System
User Program area
Execution inProgress
User Job
CPU
Uniprogramming System Model
7Problem with serial Processing
- In Serial Processing Manuel loading mechanism is
used to submit a job to system. Hence job-to-job
transition was not automatic. - Computer remained idle while an operator loaded
and unloaded jobs and prepared the system for new
job.
8Batch Processing
- A method of automatic job-to-job transition was
devised to reduce the idle time and it did not
require any operator intervention. This method is
known as Batch Processing. In which similar type
of job can be batched together.
9- In batch processing system ,jobs were executed
in the following manner. - Programmers would prepare their data and program
on decks of cards or paper Tapes and submitted
them at the reception counter of computer centre. - The operator would collect all the submitted
program periodically and would batch them
together and load them all at one time into input
device of the system - Operator then give the command to start execution
of batched job. - Jobs were then loaded automatically from the
input device and executed by the system
one-by-one without any operator intervention. - When all jobs in the submitted batch were
processed, the operator would separate and keep
the printed output of each job at the reception
counter for programmers to collect them later
10- Batch processing system helped in reducing idle
time of a computer system because job-to-job
transition did not require any operator
intervention. - Reduction in set-up time by operator
- Control statement and job control language were
introduced along with the concept of batch
processing. - Control statements are used by operating system
to identify new jobs and to determine the
resources needed by it during its execution. - Control statments are written in a language known
as JCL
11Multiprogramming
12In many modern operating systems, there can be
more than one instance of a program loaded in
memory at the same time for example, more than
one user could be executing the same program,
each user having separate copies of the program
loaded into memory. With some programs, it is
possible to have one copy loaded into memory,
while several users have shared access to it so
that they each can execute the same program-code.
Such a program is said to be re-entrant. The
processor at any instant can only be executing
one instruction from one program but several
processes can be sustained over a period of time
by assigning each process to the processor at
intervals while the remainder become temporarily
inactive. A number of processes being executed
over a period of time instead of at the same time
is called concurrent execution.
13A multiprogramming or multitasking OS is a system
executing many processes concurrently.
Multiprogramming requires that the processor be
allocated to each process for a period of time
and de-allocated at an appropriate moment. If the
processor is de-allocated during the execution of
a process, it must be done in such a way that it
can be restarted later as easily as possible.
There are two possible ways for an OS to regain
control of the processor during a programs
execution in order for the OS to perform
de-allocation or allocation The process issues a
system call (sometimes called a software
interrupt) for example, an I/O request occurs
requesting to access a file on hard disk. A
hardware interrupt occurs for example, a key was
pressed on the keyboard, or a timer runs out
(used in pre-emptive multitasking). The stopping
of one process and starting (or restarting) of
another process is called a context switch or
context change..
14(No Transcript)
15Real Time Operating System
A real-time operating system (RTOS) is an
operating system that guarantees a certain
capability within a specified time constraint.
For example, an operating system might be
designed to ensure that a certain object was
available for a robot on an assembly line. In
what is usually called a "hard" real-time
operating system, if the calculation could not be
performed for making the object available at the
designated time, the operating system would
terminate with a failure. In a "soft" real-time
operating system, the assembly line would
continue to function but the production output
might be lower as objects failed to appear at
their designated time, causing the robot to be
temporarily unproductive. Some real-time
operating systems are created for a special
application and others are more general purpose.
Some existing general purpose operating systems
claim to be a real-time operating systems. To
some extent, almost any general purpose operating
system such as Microsoft's Windows 2000 or IBM's
OS/390 can be evaluated for its real-time
operating system qualities. That is, even if an
operating system doesn't qualify, it may have
characteristics that enable it to be considered
as a solution to a particular real-time
application problem.
16Soft real-time systems are typically those used
where there is some issue of concurrent access
and the need to keep a number of connected
systems up to date with changing situations.
Example the software that maintains and updates
the flight plans for commercial airliners. These
can operate to a latency of seconds. Live
audio-video systems are also usually soft
real-time violation of constraints results in
degraded quality, but the system can continue to
operate.
17Off-line Processing
18 Many computing devices, including mobile
computing devices, are capable of communicating
to remote devices over a network like the
Internet. In one example, a client-side computing
device can allow a user to receive data from and
provide data to a web-based application provided
by a server. If the web-based application
includes XHTML/XFORMS documents, data submissions
are performed while an on-line connection is
available. For example, posting of instance data
using an XFORM from the computing device to the
server requires the network connection and/or the
server to be available at the time when the post
operation is requested. If any part of the
network is not available at the time of the
request, the post operation will fail and the
data may be lost. Examples of the network being
unavailable include if a wireless network has no
signal, a local area network is disconnected, the
server is either busy or temporarily down, and
the like.
19When the computing device loses it's
communication with the server, the user can not
continue working with the web-based application
until the server and/or the network resumes
operation. Additionally, if the user selects an
option such as a "next page" button and the
network connection is offline, the server will
not be available to respond to the selected
option and, thus, cannot identify the next page.
An error may be issued and the user will not be
able to navigate between web-pages until the
system becomes online. In one example, a
system can be configured to provide off-line
processing of network communications that allows
a user operating a computing device to continue
working when network connectivity between the
computing device and a remote device is lost or
is temporarily unavailable. One example
environment where the network connection can be
intermittent includes a wireless connection that
can periodically change between being online and
offline. Suppose the user is interacting with
an online web application and is inputting data
through, for example, one or more forms provided
by the web application. At various times, the
user may submit the inputted data to the web
application, which will be referred to a submit
request.
20This may occur, for example, when a button is
clicked on the screen that would initiate a
network operation such as an HTTP "post"
operation, a "get" operation, or other network
communication operation, if programmed as such.
Various types of buttons can include a "submit"
button, a "finished" button, or other type of
selectable object that is programmed to submit
data to the web application. It will also be
appreciated that a submit request can occur
programmatically without the user having to click
a button However, if the network connection is
offline at the time of the submit request, one
example offline system described herein can allow
the user to continue working as though the submit
request was successful. If additional submit
requests are made while the network connection is
offline, the example system can be configured to
preserve the submitted data until the network
becomes available. Once the network is available,
the preserved submitted data can then be posted
to the web application in an appropriate sequence
to create a synchronized state between the data
on the web application and the data on the
computing device. In one example, the offline
system can operate as a background task that is
transparent to the user.
21It will be appreciated that the term "offline" or
"offline state" will be used to refer to any of a
variety of conditions that can result in a
non-responsive network. For example, the
conditions may include, but are not limited to
when a wireless communication link loses it's
signal, when a physical connection is
disconnected, when a server or other network
component is busy, temporarily unavailable,
and/or disconnected from the network, and the
like.
22Thus the stage was set for the direct interactive
use of machines by some users. The machines,
occupied gainfully by the steady stream of
batched work, could be interrupted now and then
by people demanding a small amount of computer
time. It was thought that the costs of such
time-shared use coulbde reduced to the point
where people, using typewriter-like equipment,
could again command the machine to do their
bidding. The pioneering work in such a general
purpose time-sharing system was done at M.I.T. in
the early 1960s 6. With this system, called the
Compatible Time-sharing System (CTSS), a normal
batched job stream was run as background to keep
the computer busy. At the same time, several
users could enter commands to prepare, execute,
and terminate their programs. The machine
directly responded to each of them in real-time.
Programs, data, and textual material were
created, modified, executed, formatted, and the
like in a style similar to that produced today by
VMl370, a style which is now common to many
personal computers 484 as well.
23For all but the most specialized of uses, like
airline scheduling or real-time control, these
sophisticated batched job operating systems
managed the machine well. During this same
period, time-sharing systems were designed to
solve similar problemst hese solutions
recognized the on-line user as an important new
factor. In addition, user interfaces, tools, and
application programs were developed uniquely for
interactive use. Techniques to support dynamic
allocationo f the machine and demand scheduling
became more efficient and predictable.
Most importantly, the machine and people costs
steadily moved to favor interactive systems.
Todays batch operating systems include
modifications and extensions to support
interactive use, although the style and
capability presented to the user tend to reflect
the heritage of the underlying system.
24Real Time System
In computer science, real-time computing (RTC) is
the study of hardware and software systems that
are subject to a "real-time constraint"i.e.,
operational deadlines from event to system
response. By contrast, a non-real-time system is
one for which there is no deadline, even if fast
response or high performance is desired or even
preferred. The needs of real-time software are
often addressed in the context of real-time
operating systems, and synchronous programming
languages, which provide frameworks on which to
build real-time application software. A real time
system may be one where its application can be
considered (within context) 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
short 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.