Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Exam (elaborations)

important questions from system programming and compiler construction

Rating
-
Sold
-
Pages
22
Grade
A
Uploaded on
02-06-2022
Written in
2021/2022

important questions from system programming and compiler construction

Institution
Course

Content preview

1. What is loader? Explain different functions of loader?
Ans:
Loader
• A loader is a system program, which takes the object code of a program as input and
prepares it for execution.
• Programmers usually define the Program to be loaded at some predefined location in the
memory.
• But this loading address given by the programmer is not be coordinated with the OS.
• The loader does the job of coordinating with the OS to get initial loading address for
the .EXE file and load it into the memory.
Diagram




Loader Function: The loader performs the following functions:
1) Allocation
2) Linking
3) Relocation
4) Loading
Allocation:
• Allocates the space in the memory where the object program would be loaded for
Execution.
• It allocates the space for program in the memory, by calculating the size of the program.
This activity is called allocation.
• In absolute loader allocation is done by the programmer and hence it is the duty of the
programmer to ensure that the programs do not get overlap.
• In reloadable loader allocation is done by the loader hence the assembler must supply the
loader the size of the program.

,Linking:
• It links two or more object codes and provides the information needed to allow references
between them.
• It resolves the symbolic references (code/data) between the object modules by assigning all
the user subroutine and library subroutine addresses. This activity is called linking.
• In absolute loader linking is done by the programmer as the programmer is aware about the
runtime address of the symbols.
• In relocatable loader, linking is done by the loader and hence the assembler must supply to
the loader, the locations at which the loading is to be done.
Relocation:
• It modifies the object program by changing the certain instructions so that it can be loaded
at different address from location originally specified.
• There are some address dependent locations in the program, such address must be adjusted
according to allocated space, such activity done by loader is called relocation.
• In absolute Loader relocation is done by the assembler as the assembler is aware of the
starting address of the program.
• In relocatable loader, relocation is done by the loader and hence assembler must supply to
the loader the location at which relocation is to be done.
Loading:
• It brings the object program into the memory for execution.
• Finally it places all the machine instructions and data of corresponding programs and
subroutines into the memory. Thus program now becomes ready for execution, this activity is
called loading.
• In both the loaders (absolute, relocatable) Loading is done by the loader and hence the
assembler must supply to the loader the object program.

, 2. Explain the working of a direct linking loader with a proper
example. Clearly show the entries in the different databases built by
the direct linking loader.
Ans:
• Loader is the system program which is responsible for preparing the object program for
execution and initiate the execution.

• The loader does the job of coordinating with the OS to get initial loading address for
the .EXE file and load it into the memory.

Dynamic Linking Loader:

• Dynamic Linking Loader is a general re-locatable loader

• Allowing the programmer multiple procedure segments and multiple data segments and
giving programmer complete freedom in referencing data or instruction contained in other
segments.

• The assembler must give the loader the following information with each procedure or data
segment.

• Dynamic linking defers much of the linking process until a program starts running. It
provides a variety of benefits that are hard to get otherwise.

• Dynamically linked shared libraries are easier to create than static linked shared libraries.

• Dynamically linked shared libraries are easier to update than static linked shared libraries.

• The semantics of dynamically linked shared libraries can be much closer to those of
unshared libraries.

• Dynamic linking permits a program to load and unload routines at runtime, a facility that
can otherwise be very difficult to provide.




Format of Databases:

Written for

Institution
Course

Document information

Uploaded on
June 2, 2022
Number of pages
22
Written in
2021/2022
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

$4.49
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
24vaibhavwaghre

Get to know the seller

Seller avatar
24vaibhavwaghre Saraswati college of engineering
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 year
Number of followers
0
Documents
1
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions