Solved

logical address space

Posted on 1998-09-28
9
251 Views
Last Modified: 2010-04-21
null
0
Comment
Question by:ashfawad
  • 6
  • 3
9 Comments
 
LVL 3

Accepted Solution

by:
braveheart earned 30 total points
ID: 2007125
Yes, that's about right. Also, memory is usually divided into pages of the same size which can be swapped in and out of memory so that a program can use far more memory than the machine has available. Imagine that you have just enough memory for 2 pages and that the operating system fits in 1. Then it could load 1 page of your program into the other page, execute it and load the next page into the same slot when it needs to do so. Obviously this is an extreme example but you get the picture. This is virtual memory - a sort of extension of logical memory.
0
 

Author Comment

by:ashfawad
ID: 2007126
I am confused about the way this book is using the terminology,
They say copile time and load time address binding result in logical and physical space being the same  then they turn around and say,
"...if it is anot knwn at compile time where the process will reside in memor, then the compiler must generate relocatable code. In this cae, final binding is delayed until load time..."

Well this implies theat the compile time and load time address binding are differeint. In compile time, the logical and physical sp address space  is the same. Where as at load-time the logical space is relocatable. . Which means at load time the logical addresses are mapped to
0
 

Author Comment

by:ashfawad
ID: 2007127
I am having hard ime adding comment to my questions. In the comment section the background is black. Must be something wrong with my system. I am just typing into this blindly. So excuse me if I make a lot of typos. I am trying not to.

Anyways,  I want to know which of the following statements are correct,


1)compile time and load time address binding result in an environment whre logical address space and physical address space are the same.
2) compile time address binding results in logical and physical address space eing the same.
3) load time address binding is relocatable. Which means The addrdss will be generated of the form (14 bytes from the base address) and whebn the module is actually loaded into into memory, then the logical address is mapped to the physical address. Which in my opinion resutlts in an environment where logical and physical address apaces are different from each other . This is as oppsed to what the book is saying

I ho



S
so please tell me which one of the above statement is correct. I am confused.

tahnks
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 

Author Comment

by:ashfawad
ID: 2007128
I am confused about the way this book is using the terminology,
They say copile time and load time address binding result in logical and physical space being the same  then they turn around and say,
"...if it is anot knwn at compile time where the process will reside in memor, then the compiler must generate relocatable code. In this cae, final binding is delayed until load time..."

Well this implies theat the compile time and load time address binding are differeint. In compile time, the logical and physical sp address space  is the same. Where as at load-time the logical space is relocatable. . Which means at load time the logical addresses are mapped to
0
 
LVL 3

Expert Comment

by:braveheart
ID: 2007129
Not all compilers, linkers and loaders behave in the same way, or else they have their actions determined by command line options.

In firmware applications it may be important that code is not relocatable and that the physical and logical address space coincide.

For other applications, code should normally be relocatable.

Compilers usually generate relocatable code but don't have to.
Linkers typically combine relocatable code generated by compilers and may either bind the address then and there, but more usually let the code remain relocatable.
Loaders take linked code and bind the address at load time.

So addresses may be bound at compile, link or load time but once the addresses are bound, they can not be unbound (or else it is very difficult to do so).

Relocatable code means that the physical and logical address space are not the same until actually loaded into memory. In a multi-tasking environment, the physical address space may even vary between each timeslice in which it executes, although that is rare. However, there are no hard and fast rules - it is all a question of design.
0
 

Author Comment

by:ashfawad
ID: 2007130
Is there any thing as "run-time binding"? If there is then, is it different from "load-time" binding?

Thanks
0
 
LVL 3

Expert Comment

by:braveheart
ID: 2007131
Yes, run-time binding is used with dynamic linking with shared libraries. For instance, most flavours of UNIX make extensive use of shared libraries (.so's). If you are using X11, say, you link a program with libX11.so which is a shared library. The binding is only made at run time, so that if you were to run the same program on a different machine in the network, you might actually be using different versions of the X11 library.
0
 

Author Comment

by:ashfawad
ID: 2007132

0
 

Author Comment

by:ashfawad
ID: 2007133

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
sudo logging 5 101
nodeip 9 86
Sed question 2 103
Linux hostname change 2 83
My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape (http://www.experts-exchange.com/articles/OS/Unix/Solaris/Installing-the-Solaris-OS-From-the-Flash-Archive-on-a-Tape.html), discussed installing the Solaris Operating S…
Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question