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
1
vote
2 answers

Force a DLL to be loaded above 2GB (0x80000000) in a 32-bit process on Windows

To test a corner case in our debugger, I need to come up with a program which has a DLL loaded above 2GB (0x80000000). Current test case is a multi-GB game which loads >700 DLLs, and I'd like to have something simpler and smaller. Is there a way to…
Igor Skochinsky
  • 24,629
  • 2
  • 72
  • 109
1
vote
1 answer

Translating virtual address to physical address in Windows kernel address space

How does the translation from virtual to physical address work for kernel space virtual addresses (VA > 0xFFFF000000000000) on Windows x64? I know how it work for user space virtual addresses: the VA is made of multiple indexes in multiple tables,…
Tey'
  • 961
  • 12
  • 23
1
vote
1 answer

How does virtual/physical addresses work in regards to the Spectre example?

I haven't been programming in a couple of years but with all the fuss about Meltdown and Spectre I've install VS2017 and compiled the Spectre example from this pdf: https://spectreattack.com/spectre.pdf However I have no idea how the addresses that…
Dacobi
  • 417
  • 4
  • 14
1
vote
1 answer

Getting empty output when reading from file using "mmap"

I have a problem considering the usage of mmap. I am trying to map a pci device to a virtual address and read its content. In the future I am planning to write values to it as well. The problem is that I (seemingly) successfully mapped the device to…
A.Z.
  • 33
  • 1
  • 4
1
vote
0 answers

Reserving a large virtual address space within a kernel module

In my research project, I have to reserve a large virtual memory address space inside a kernel module and handle memory accesses to that area (in a 64-bit system). I have modified do_page_fault function in arch/x86/mm/fault.c so that I can handle…
1
vote
0 answers

Linux kernel address relocation

I don't understand a thing about the address relocation process of Linux at boot time. This process affects only virtual addresses or also the physical ones? I tried to figure it out by myself reading the Linux source code, but I'm still having the…
1
vote
0 answers

What deleted word in maps file denotes when I attach shared memory in given process?

I written a program in C to create and attach shared memory. #include #include #include int main () { int segment_id; const int shared_segment_size = 0x6400; char* shared_memory; …
my name is GYAN
  • 1,269
  • 13
  • 27
1
vote
1 answer

Storing remote virtual address in DWORD?

I need to get the RVA of a specific function in a dll and then add that RVA to the base loading address of the dll to find the function in the remote processes memory. However I need to pass this memory address in a buffer to a thread that will be…
1
vote
0 answers

How to disable ASLR on Linux so the initial value of the stack pointer is the same every time?

I've been writing Heap-based buffer overflow exploits for a deliberately vulnerable (that I wrote). To hijack control flow, I overwrite the function's return address on stack. These exploits depend on the stack being at a particular (hardcoded)…
Jon
  • 1,122
  • 8
  • 10
1
vote
0 answers

Is there a system call in linux to reserve virtual address space (not memory, just address space)

I have a user space "platform" forking different processes. All these processes start executing a platform plat_init() function, and then run some other application code (which is not mine. i.e. I cannot change this code). At some point in time some…
user1159290
  • 951
  • 9
  • 27
1
vote
2 answers

Why do we need address virtualization in an operating system?

I am currently taking a course in Operating Systems and I came across address virtualization. I will give a brief about what I know and follow that with my question. Basically, the CPU(modern microprocessors) generates virtual addresses and then an…
Ralph
  • 2,959
  • 9
  • 26
  • 49
1
vote
1 answer

Virtual Address Space and Paging

Reading online there seems to be some confusion over the term 'Virtual Memory'. It seems to describe either two concepts, one being each process having its own virtual address space, and the other being the idea of being able to page to a secondary…
RJSmith92
  • 373
  • 1
  • 3
  • 9
1
vote
0 answers

Do processor caches invalidated when process is switched?

Do processor caches work with virtual or physical address space? Probably it can work with both, depending on processor looks into cache after or before translating address. So when it uses virtual addresses, after process switch all addresses…
user1289
  • 1,251
  • 2
  • 13
  • 25
1
vote
1 answer

How can I get the virtual address of a shared library by the use of computer architecture state?

I am using a computer architecture simulator. I want to get the virtual address of a shared library of a program. What I can get from the simulator is computer architecture state, such as registers. Can I do some math to get the virtual address of…
1
vote
1 answer

Determine addresses and page table size

I know that this question has been asked many times but I still feel I struggle with it. Given: physical memory: 2^20 32-bit system page size: 2^10 I need to determine what a physical and virtual addresses would look like as well as calculate the…