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
2
votes
1 answer

How does copy_to_user work on s390?

On the s390 architecture virtual kernel and user address spaces are never present at the same time, so how does copy_to_user work?
wnrph
  • 3,293
  • 4
  • 26
  • 38
2
votes
1 answer

When does an ELF relocation offset require the base address

Reading through man elf, I came across the following description of the r_offset field of an ElfN_Rela: This member gives the location at which to apply the relocation action. For a relocatable file, the value is the byte offset from the beginning…
Daniel Walker
  • 6,380
  • 5
  • 22
  • 45
2
votes
1 answer

How to get physical address for any address in FreeBSD from userspace?

For some investigation, I need to find out the physical address of a pointer on FreeBSD 12. On Linux, I would do that with /proc/self/pagemap but on FreeBSD, I have not found a way to do it. So, is there a way to get the physical address of any…
Baptiste Wicht
  • 7,472
  • 7
  • 45
  • 110
2
votes
1 answer

Understanding kmap on 64-bit Linux

Let me start by admitting that the concept of high memory and low memory on Linux is still not completely clear in my mind even after reading several relevant resources. However, from what I understand on 64-bit Linux there's no high memory anyway…
2
votes
2 answers

Does the last GB in the address space of a linux process map to the same physical memory?

I read that the first 3 GBs are reserved for the process and the last GB is for the Kernel. I also read that the kernel is loaded starting from the 2nd MB of the physical address space (depending on the configuration). My question is that is the…
pflz
  • 1,891
  • 4
  • 26
  • 32
2
votes
1 answer

How to translate Virtual to Physical Address (WinDbg)?

It seems I don't understand something. I'm trying to translate VA to PA on Windows 10 (x86) under VirtualBox. I use Microsoft manual for that. I set up a local kernel debugger (bcedit) and launched CFF Explorer as a tested application. Then I…
2
votes
1 answer

Do dynamic libraries have the same virtual memory address in all programs?

When a library is dynamically linked to a program does it have the same address in that program as in any other program? I my head I imagined each process gets the whole of the address space and then everything in that process (inc. dynamic…
2
votes
2 answers

Behind Windows x64's 44-bit virtual memory address limit

http://www.alex-ionescu.com/?p=50. I read the above post. The author explains why Windows x64 supports only 44-bit virtual memory address with singly linked list example. struct { // 8-byte header ULONGLONG Depth:16; ULONGLONG…
2
votes
1 answer

Entry Point of elf executable header

why is the entry point of elf is 0x8048320. From This question, its the virual address used by the operating system kernel to map the process. But From This, the virual address where a process is mapped (in x86 processors) is 0xc0000000 (lower 3GB…
Aimal
  • 621
  • 1
  • 7
  • 13
2
votes
1 answer

Can I (ab)use VirtualAlloc for every vector-like container in a game?

Imagine I'm making a game I know it's going to run on a 64-bit system, on a 64-bit OS the memory budget for the game is fixed 2 (or 4) Gibibytes Would that mean that out of 64 bits of Virtual Address Space for the process, I would get 32bits left…
JBeurer
  • 1,707
  • 3
  • 19
  • 38
2
votes
0 answers

ARM64 translation table sizes

I recently took a look at the config file of my ARM64 linux kernel and noticed that the following options are set :- CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_VA_BITS_48=y CONFIG_ARM64_VA_BITS=48 Looking at slide 8 here, I see that a 4KB page size and a…
user277465
2
votes
3 answers

Send function pointer via MPI

Is it safe to pass function pointers via MPI as a way of telling another node to call a function? Someone may say that Passing any kind of pointers via MPI is meaningless, but I wrote some code to verify it. //test.cpp #include #include…
2
votes
3 answers

How can virtual address space mapping be acceptable from a performance point of view?

This question is aimed at any OS using a VAS model, but I'm going to specify windows nt, since that's the system I know best. As we all know, by default, processes on 32 bit windows get 2 GB of memory all by itself. This memory can be located in…
monoceres
  • 4,722
  • 4
  • 38
  • 63
2
votes
2 answers

Pure segmentation

I'm a bit confused about pure segmentation due to in my head always existed the idea of virtual memory. But as I understand pure segmentation is also imagining a virtual address space, divided in segments that are ALL loaded in RAM. The difference…
makakko
  • 357
  • 5
  • 11
2
votes
2 answers

Why can't read data from blocks with PAGE_GUARD protection?

I read data from address space using ReadProcessMemory function. I try read from all blocks that have MEM_PRIVATE type. But i get error (function returns 0) when that block have PAGE_GUARD protection, why? Thanks to all.