[go: up one dir, main page]

0% found this document useful (0 votes)
66 views85 pages

First

Uploaded by

Tushar Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views85 pages

First

Uploaded by

Tushar Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 85

System Software

Vs.
Application Software
Computer software
Computer software, or just software, is a general
term primarily used for set of instructions such as
computer programs and other kinds of information
read and written by computers.
Types of Software

• System Software
• Application Software
System Software
System Software includes the Operating System and all the
utilities that enable the computer to function.

System software is a term referring to any computer software


which manages and controls the hardware so that application
software can perform a task.

Example:
Operating Systems, Compiler, Loader, Linker, Interpreter.
Application Software
Application Software includes programs that do real work for
user.

Example:

Payroll systems, Inventory Control, Manage student database,


Word Processor, Spreadsheet and Database Management
System etc.,
System software Vs. Application Software
System software is a Software designed to
operate the computer hardware and to provide
and maintain a platform for running
application software.
System Software:

1. Operating System

• Operating System is a software, which makes a computer to


actually work.
• It is the software the enables all the programs we use.
• The OS organizes and controls the hardware.
• OS acts as an interface between the application programs and
the machine hardware.

• Examples: Windows, Linux, Unix ,DOS


System Software (contd…):
2. Compiler: A compiler is a program that reads a
program in one language – the source language and
translates into an equivalent program in another
language – the target language (Machine
understandable Language.

Source Language Target Languages


‘C’ language
‘Pascal’ language Machine
Understandable
FORTRAN language language
C++ language
ADA language
System Software (contd…):
3. Loader: A loader is the part of an operating system that is
responsible for loading programs into memory, preparing them
for execution and then executing them.

The loader is usually a part of the operating system's kernel and


usually is loaded at system boot time and stays in memory
until the system is rebooted, shut down, or powered off.
System Software (contd…):
4. Linker: A linker or link editor is a program that takes one
or more objects generated by compilers and assembles them
into a single executable program.

Linkers can take objects from a collection called a library. The


objects are program modules containing machine code and
information for the linker.
System Software (contd…):
5. Interpreter: An interpreter is a computer
program that translates and executes instructions
written in a computer programming language
line-by-line, unit by unit etc.,

An interpreter needs to be able to analyze, or parse,


instructions written in the source language.

Example: Lisp systems, etc.,


System Software (contd…):
6. Device Driver is a computer program that
allows higher level computer programs to interact
with a hardware device.
• Communicates with the device through bus or
subsystems to which the hardware is connected.
• When a calling program invokes a routine in the
driver, the driver issues commands to the device.
Once the device sends data back to the driver, the
driver may invoke routines in the original routine.
System Software (contd…):
6. Device Driver
• available for printers, displays, CD-ROM
readers, diskette drives, and so on
• hardware dependent and operating system
specific.
System Software (contd…):
6. Macroprocessor
A macro processor is a program that reads a file (or files) and scans them for
certain keywords. When a keyword is found, it is replaced by some text.
The keyword/text combination is called a macro . Similar to
function
Application Software:
1. Word Processors:
Word processing is a tool that helps user in creating, editing, and
printing documents. Word processors will normally have the
following capabilities built into them:
• Spell checking
• Standard layouts for normal documents
• Have some characters appear in bold print, italics, or
underlined
• Center lines, make text line up on the left side of the
paper, or the right side of the paper
• Save the document so it can be used again
• print the document.

Examples: WordPerfect and Microsoft Word


Application Software
(contd…):
2. Spreadsheets: The spreadsheet packages are designed
to use numbers and formulas to do calculations with
ease. Examples of spreadsheets include:
• Budgets
• Payrolls
• Grade Calculations
• Address Lists
The most commonly used spreadsheet programs are Microsoft
Excel and Lotus 123.
Application Software
(contd…):
3. Graphic Presentations: The presentation
programs can make giving presentations and using overheads
easier. Other uses include:
• Slide Shows
• Repeating Computer Presentations on a
computer monitor
• Using Sound and animation in slide shows

The most recognized graphic presentation programs are


Microsoft PowerPoint and Harvard Graphics.
Application Software
(contd…):
4. Database Management System (DBMS):
• A DBMS is a software tool that allows multiple users to store,
access, and process data into useful information.
• Database programs are designed for these types of
applications:
• Membership lists
• Student lists
• Grade reports
• Instructor schedules
All of these have to be maintained so you can find what you
need quickly and accurately.

• Example:Microsoft Access, dBASE, Oracle.


System software Vs. Application Software

• System software gets application software is


installed according to the
installed when the requirements of the user
operating system is application software includes
installed on the media players, word
processors, and spreadsheet
computer
programs
• System software users interact with application
includes programs software while doing
different activities.
such as compilers,
there may be a number of
debuggers, drivers, application software
assemblers programs installed on the
Compiler Vs. Interpreter
• Scans the entire program and translates it Translates program one statement at a time.
as a whole into machine code.
It takes less amount of time to analyze the
• It takes large amount of time to analyze source code but the overall execution time
the source code but the overall execution is slower.
time is comparatively faster.
• Generates intermediate object code which
further requires linking, hence requires No intermediate object code is generated,
more memory. hence are memory efficient.

• It generates the error message only after Continues translating the program until the
scanning the whole program. Hence first error is met, in which case it stops.
debugging is comparatively hard. Hence debugging is easy.

• Programming language like C, C++ use Programming language like Python, Ruby use
compilers. interpreters.
Absolute Loader
Process to run an object
program
Design of Linker
• 1. Linking Loader
• 2.Linkage Editor
• Dynamic Linking
• Each time program calls
the library function it
will loaded into memory
for execution by linking
loader
Linkage Editor
Linkage Editor

• If the object program calls the


library function, the linkage editor
will call the library and create the
linked version of the program. So
next when the same is required
the loader will call this linked
program so no need to load the
library function again and again.
If program is modified then I have
to re-run it.
Dynamic Linking
• Subroutine to be dynamically loaded by OS service request
e.g. load and call
• The service request will be handled by a part of OS called the
dynamic loader which is kept in memory during execution of
the program
• The parameter of this request is the symbolic name of the
routine to be called
Object Code
• you give the C
program to compiler
and compiler will
produce the output in
assembly code. Now,
that assembly
language code will
give to the assembler
and assembler is
going to produce you
some code. That is
known as Object
Object Code
• The compiler is actually
combined inside the assembler
along with loader and linker. All
the module kept together in the
compiler software itself. So
when you calling gcc, you are
calling the compiler, then
assembler, then linker and
loader.
• Once you call the compiler,
then your object code is going
to present in Hard-disk. This
object code contains various
part – as shown in fig.
Header
• The header is like an index and will tell you, what are
the palaces at which each information is present.
Header will say where the text segment is going to start
and a pointer to it and where the data segment going to
start and it say where the relocation information and
symbol information there.
• Text segment – • Data segment –
It is the set of Data segment will
instruction. contain whatever data
you have used.
Relocation Information
• Let us assume you have instruction 1,
instruction 2, instruction 3, instruction
4,…
• if you say Goto L4
• Goto 4 for the level L4 is going to work
fine, as long as the program is going to
be loaded starting at address no 0. But
in most cases, the initial part of the
RAM is going to be dedicated to the
operating system or might be some
other process that will already be
running at address no 0. So, program
might be loaded anywhere. Let us say
1000 is the new starting address, then
all the addresses have to be changed,
that is known as Reallocation.
Relocation Information
• The original address is known as Relocatable
address and the final address which we get after loading
the program into main memory is known as
the Absolute address.
• Symbol table –
It contains every symbol that you have in your program.
for example, int a, b, c then, a, b, c are the symbol.It will
show what are the variables that your program contains.
• Debugging information –
It will help to find how a variable is keeping on changing.
• We can classify program depending on the manner in which a
program can modify or not modify itself to execute from a
given load origin into following categories
• Relocatable program- done by linkage editor relocatable
loader, size of program > Non relocatable program
• Self relocatable program
• Non relocatable program
Non relocatable program

• Program can not be made to execute anywhere in storage


other than area starting on its translated origin. The code is
address sensitive and lack info like which part of the program
is address sensitive and in which manner.
• Here load time origin= translation origin also link address are
same
Self relocatable program
• a program which perform relocation of its own address
sensitive instruction.
• Code has a table of information related to address sensitive
instruction called relocation info.
• A start of relocating logic address is always specified as
execution start address of any program
• By use of relocating logic and info of all address sensitive
instruction it perform relocation by itself
Thank You !!!

You might also like