Professional Documents
Culture Documents
WHAT IS SOFTWARE
Software is computer program or a set of
programs, which provides the instructions which
enable the computer hardware to work. Two main
types of software are system software (operating
systems), which control the workings of the
computer, and applications, such as word
processing programs, spreadsheets, and databases.
Types of Languages Used to
Write a Software
Machine Language
Assembly Language
Example:
the instruction to add 2 numbers stored in registers A and B might look
like this:
00000011 11000011
Problems:
Binary representation of instructions and data are not easily generated,
manipulated, or understood by humans.
The languages are machine dependent.
Writing program in machine language requires the knowledge of the
internals of the computer.
Assembly Language
Example:
Big programs in assembly language : harder
to write and error prone.
The languages are machine dependent.
OBJECT CODE
LOAD MODULE
Digital Computer as a Multilevel Machine
Applications Level
Software
Translation (Compiler)
Assembly Language Level
Machine code Translation (Assembler)
Operating System Level Partial Interpretation,
Machine code Partial Pass-through
Hardware
Interpretation (microprogram)
Microprogram Level
Directly executed by hardware
Digital Logic Level
Interpreter
Like compiler translates a high level language into machine language.
Unlike compiler translates the program at the time of executing the
program instruction by instruction.
The translated code is not stored permanently in computer’s memory,
hence before each execution interpretation becomes necessary.
As object code is not stored in the computer, execution of the program
becomes slower because of the need for interpretation before each
execution.
Normally it is easier to design an interpreter than a compiler.
Generations of Languages
a) Ready Made:
These are programs developed by software companies for general
purpose applications. These programs can be bought and can be
installed for performing some predefined job.
Examples : MS-WORD, FACT, TALLY, FOXPRO etc.
ALLOCATES COMPUTER
HARDWARE RESOURCES
MONITORS EVENTS
LANGUAGE TRANSLATORS:
INTERPRETERS
COMPILERS
UTILITY PROGRAMS:
PROGRAMMING LANGUAGES: ROUTINE OPERATIONS
Drawbacks:
• Inconvenient for user
• Wasteful of computer time (computer was idle during setup,
debugging
Batch Processing
( Mid 1950s)
Typical setup:
Disadvantages:
PROGRAM 1
OPERATING SYSTEM
OPERATING SYSTEM
PROGRAM 1 PROGRAM 2
PROGRAM 3
Typical setup:
7.11
New computer architectures new demands
Multiprocessor Systems ( parallel systems or tightly
coupled systems)
• More than one processor in close communication, share
bus and clock, other resources
• Can increase throughput, save on shared resources, provide
greater reliability