Questions tagged [virtual-address-space]

virtual address space (VAS) or address space is the set of ranges of virtual addresses that an operating system makes available to a process

A virtual address does not represent the actual physical location of an object in memory; instead, the system maintains a page table for each process, which is an internal data structure used to translate virtual addresses into their corresponding physical addresses. Each time a thread references an address, the system translates the virtual address to a physical address.

A virtual address space (VAS) or address space is the set of ranges of virtual addresses that an operating system makes available to a process.[1] The range of virtual addresses usually starts at a low address and can extend to the highest address allowed by the computer's instruction set architecture. This provides several benefits, one of which is, if each process is given a separate address space, security through process isolation.

http://en.wikipedia.org/wiki/Virtual_address_space
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366912(v=vs.85).aspx

234 questions
4
votes
1 answer

how virtual addresses assigned?

Take this C code for example #include #include int main() { int x; int* y = (int *) malloc(10*sizeof(int)); printf("%p\n",&x); printf("%p\n",y); printf("%p\n",&(y[1])); while(1); return…
Udai F.mHd
  • 82
  • 1
  • 7
4
votes
1 answer

PE header and LARGEADDRESSAWARE not evaluated for DLL modules?

In the PE header there's a flag to indicate whether the binary is LargeAddressAware or not. The PE header itself exists for both, *.exe and *.dll. Is it really the case that Windows OS evaluates this flag for the parent executable, only? Is it…
4
votes
1 answer

POWER8 architecture 'flat' virtual address space

As mentioned here, can anyone explain what is meant by a 'flat' 32 bit space? Text for the lazy: Another interesting feature of the architecture is a virtual address system which maps all addresses into a 52-bit space. In this way applications…
atx
  • 4,831
  • 3
  • 26
  • 40
3
votes
2 answers

Need for relocations in an exe

Why is there a need for relocation table when every element in an exe is at a relative offset from the base of the image?? I mean even if the image gets dispacled by a positive offset of say 0X60000, why is there for relocation table, as we would…
user1232138
  • 5,451
  • 8
  • 37
  • 64
3
votes
0 answers

Why can't 64-bit Windows allocate a lot of virtual memory?

On a system with virtual memory, it should be possible to allocate lots of address space, more than you have physical RAM, and then only write to as much of it as you need. On a 32-bit system of course there is only four gigabytes of virtual address…
rwallace
  • 31,405
  • 40
  • 123
  • 242
3
votes
1 answer

Could a custom syscall access another process' memory?

For educational purposes, I've managed to create a custom syscall that just prints a message in the kernel's log. What I was thinking about now is to create a "cross-process memcpy" syscall that receives another process' PID, a memory address of…
mgarciaisaia
  • 14,521
  • 8
  • 57
  • 81
3
votes
1 answer

How is the Address Space (of a process) and Process Control Block (PCB) are related in Operating System?

If we talk about Address Space of a process it is the virtual address range which includes static data, stack and heap memory for that particular process. And coming to Process Control Block (PCB) which is a data structure maintained by operating…
Khanchi97
  • 133
  • 1
  • 8
3
votes
1 answer

In a linux sk_buff, is skb->data a physical or virtual address?

I'm investigating some memory corruption issues in an ethernet driver for an embedded system. I suspect a problem between a bus mastering DMA controller and slow SDRAM. So I want to use a bounce buffer in fast SRAM. To do this I need two things: I…
Ben Voigt
  • 277,958
  • 43
  • 419
  • 720
3
votes
2 answers

How do you find a functions virtual call address in assembly?

I've googled around but i'm not sure i am asking the right question or not and i couldn't find much regardless, perhaps a link would be helpful. I made a c++ program that shows a message box, then I opened it up with Ollydbg and went to the part…
Daniel
  • 181
  • 3
  • 10
3
votes
4 answers

What is the size of pointers in C on PAE system?

I know normally in a 32-bit machine the size of pointers used in regular C programs is 32-bit. What about in a x86 system with PAE?
3
votes
2 answers

Calculation of the Virtual Adresses in Portable Executable

I'm trying to understand the basics of the addressing in the PE files, and i made a simple application with a couple of functions that call malloc linked statically against msvcr110 library. So i took my produced executable opened it in the ida pro,…
Vanya
  • 411
  • 1
  • 5
  • 21
3
votes
1 answer

Why driver in kernel mode must be very careful about directly reading from or writing to addresses in user space?

From msdn: Drivers that run in kernel mode must be very careful about directly reading from or writing to addresses in user space. This scenario illustrates why. A user-mode program initiates a request to read some data from a device. The program…
Nusrat Nuriyev
  • 1,134
  • 2
  • 13
  • 29
3
votes
6 answers

How does Windows give 4GB address space each to multiple processes when the total memory it can access is also limited to 4GB

How does Windows give 4GB address space each to multiple processes when the total memory it can access is also limited to 4GB. The solution of above question i found in Windows Memory Management (Written by: Pankaj Garg) Solution: To achieve…
3
votes
1 answer

is number of frame = number of pages(linux)?

I am studying linux device driver and found that number of pages are equal to number of frame. Each page map to each frame.It says like whenever program needs memory it will allocate pages. But in OS books i found like virtual address divides into…
Suri
  • 3,287
  • 9
  • 45
  • 75
3
votes
2 answers

C memory mapping

I know there are two types of addresses. Virtual and Physical. Printing the address of an integer variable will print its virtual address. Is there a function that will facilitate to print the physical memory of that variable? Does virtual memory…
divakar
  • 43
  • 1
  • 4
1 2
3
15 16