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

Map physical memory address to a user space application in windows

Is it possible to map a physical memory address to a windows user-space application virtual address to read/write? EDIT: I have a system where a real-time operating system is running in parallel with windows. The guest-OS(RTOS) is able to read and…
user3156702
  • 365
  • 1
  • 3
  • 7
2
votes
1 answer

Can CPU-process write to memory(UVA) in GPU-RAM allocated by other CPU-process?

When we use nVidia GPU we can use UVA (unified virtual addressing) as on the picture. But we can use GPU+UVA from different CPU-processes with different contexts. Will be UVA use the same Page-Table (virtual address <-> physical address) for UVA in…
Alex
  • 12,578
  • 15
  • 99
  • 195
2
votes
4 answers

Dividing an address space by 8

My question is in regards to dealing with address spaces. I have two address spaces which are in Hex: 0x7fffff09 and 0x7fffff08. How can I know if they are divisible by 8 or 8 byte aligned ? Like what would the check look like in C or C++ code. I…
Masterminder
  • 1,127
  • 7
  • 21
  • 31
2
votes
1 answer

Where virtual memory addresses reside?

I know that if page is not in main memory, CPU will bring it from swap file. So if a virtual address does not have its physical address counterpart in place, CPU will bring it from disk. So mapping to virtual address can be in one of two places: its…
2
votes
1 answer

use of memory mapped file in virtual address space

Well. I am pretty much confused with the concept of memory mapped file used in virtual address spaces. In the following link I have googled. http://en.wikipedia.org/wiki/Virtual_address_space I found a section Then the application's…
2
votes
2 answers

Virtual address space vs virtual memory

Is there any difference between virtual address space and virtual memory? If that be the case 32 bit OS will not have more than 4GB vaddr space and virtual memory. Thanks in advance Ok Virtual memory could exist anywhere local or remote. Virtual…
2
votes
1 answer

Word size in bits to bytes conversion confusion

I have a pretty elementary question which is somewhat confusing me. It will be great to get some refresher on this. Every computer has a word size. The word size is the maximum size of the virtual address space. So if we have lets say a 32 bit word…
sc_ray
  • 7,803
  • 11
  • 63
  • 100
2
votes
2 answers

What are the cases when a program has the same virtual address space

If you ran a program foo.c in two different terminals, and printed the address of the local variable being executed. They would be same. However, in context of forking and executing say for example inside shell, I run a program such foo.c . It will…
user1675999
  • 123
  • 3
2
votes
1 answer

Change the process virtual address space of a child process

I would like to know if it is poosible to change the virtual address space of a child process in Unix like operating system. I want to have the ability to (a) Load/unload shared libraries (b) Write to random user space memory locations of the child…
qwrty
  • 331
  • 3
  • 15
2
votes
1 answer

Is it possible to safely assume that the 16 high bits (2 are sufficient for me) in a 64-bit pointer are unset?

I'm building a data structure which sets into 64 bit integers a set bit every 2 or 3 bits. It would be convenient for me if I could alternately also store a pointer in this structure (when they are terminal nodes in a tree, but that's not…
Steven Lu
  • 41,389
  • 58
  • 210
  • 364
2
votes
1 answer

Address-Override Prefix in 64-bit mode

In 64-bit mode, the default address size is 64 bits. If the address-size override prefix (67h) is present, the address size is 32-bits. I'm aware of the fact that canonical 64-bit addresses have bits 63 through the most significant implemented bit…
shigoel
  • 447
  • 4
  • 11
2
votes
2 answers

Non-canonical linear addresses and general protection exception

The Intel Manuals say the following about canonical addresses and general protection exception: From (Vol 1, Pg. 3-13): "If a linear-memory reference is not in canonical form, the implementation should generate an exception. In most cases, a…
shigoel
  • 447
  • 4
  • 11
2
votes
1 answer

Mapping of Page allocated to user process in Kernel virtual address space

When a page is created for a process (which will be mapped into process address space), will that page be mapped into kernel address space ? If not, then it won't have kernel virtual address. Then how the swapper will find the page and swap that…
viji
  • 2,706
  • 5
  • 28
  • 34
1
vote
0 answers

Cannot write to virtual address using iowrite()

I am trying create a hardware driver module in linux kernel. The hardware is connecting to the CPU through UART, therefore I am trying to access the UART register directly through iowrite(). However I found that I can never write to the register…
1
vote
1 answer

How can I programmatically determine the maximum user-mode space of the (windows) OS?

I'm writing a diagnostic app which needs to log what the user has set as his user-mode space a.k.a. user-mode virtual address space a.k.a. the /3GB switch in WinXP or the increaseuserva switch in bcdedit on Vista/Win7. Either of C++ or C++/CLI will…
user99495