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

When does virtual address (VA) gets assigned to an application? (run time/compile time)

An application binary is loaded into RAM, which got compiled using GCC Does this binary get virtual address (VA) starting from 0x0 or some other value? (When i check the application binary, i couldn't see any VA in application)
Girish
  • 31
  • 4
0
votes
1 answer

Changing nx-bit directly from paging-level structures

I'm studying about Virtual Address Translation in Windows 10 x64. I also read about PML4,PDP,PDE and PTE and now I'm trying to change the stack's nx-bit in order to execute code in stack by modifying the paging structures. I saw the following image…
Migo Lopak
  • 29
  • 6
0
votes
1 answer

Virtual Memory, Virtual Address

I have gone through various online docs/videos to understand "Virtual Address, Virtual Address Space(VAS)" and so on but still few doubts mentioned below aren't yet clear. 1) When program is read from hard disk, CPU generates the "Virtual Address".…
Rahul
  • 11
  • 3
0
votes
0 answers

How can I get the physical address of an array in kernel module?

The function virt_to_phys is only valid when addresses directly mapped or allocated via kmalloc. So how can I translate a virtual address that is or not allocated via kmalloc, into a physical address?
cg f
  • 41
  • 1
  • 5
0
votes
1 answer

file offset vs virtual address in a shared library

For a shared library file, how to convert between the file offset and virtual address of the definition of a symbol? In ELF document, for a symbol in a symbol table, In executable and shared object files, st_value holds a virtual address. To…
dudu
  • 801
  • 1
  • 10
  • 32
0
votes
0 answers

Virtual addressing in os

If programme loaded into the ram at the phsycal spaces and the cpu reads addresses from ram so what is the purpose of the virtual address spacing. At the end cpu will read everything from ram's phsycal addrssses. I mean does mmu converts ram's…
Yasin Fatullayev
  • 137
  • 1
  • 11
0
votes
1 answer

why stack, heap's virtual address are changed at each time?

when i run program 'A', heap and stack's virtual addresses are changed although i run the same program 'A'. i know that stack, heap's virtual addresses are not defined in the executable object file(elf format). They are variable things. i can check…
0
votes
1 answer

explain WEC7 virtual/physical address space

Can anyone explain about the address spacing (virtual/physical) in WEC7 (Windows Embedded Compact 7)? and Virtual to physical address mapping with examples?
0
votes
2 answers

Virtually indexed virtually tagged cache

As far as I know about virtually indexed virtually tagged cache, here we have a virtual address divided into page number and page offset. We use this page number to get the cache block. If there is a cache miss, we do address translation using TLB…
Zephyr
  • 1,521
  • 3
  • 22
  • 42
0
votes
2 answers

why there are such large virtual addresses in a x86_64 kernel's memory layout

kernel's Documentation/x86/x86_64/mm.txt says: ffff880000000000 - ffffc7ffffffffff (=64 TB) direct mapping of all phys. memory so I assume there should not be address mappings larger than actual physical DRAM size in this region. but on a x86_64 PC…
0
votes
1 answer

Size of page tables and available physical addresses

let's assume we have 4 GiB of RAM and we use a page table size of 4 kiB, with 32 Bit addresses. After my calculations, I got: we can only address a maximal of 2^32 addresses; each page table has a total of 2^20 entries; in total we have 4 GiB/4…
primef
  • 199
  • 10
0
votes
1 answer

Is a process' page table mapped to Kernel address space?

I was doing Windows system programming and wondered if I can access a process' page table on source code level. Here is what I know about page table related to virtual memory. Let's suppose an user just runs a process called 'A' process on Windows…
0
votes
1 answer

Windows 64bit address space

I am developing a 64 bit application with a couple of dll's. Coming from win 32, where the default base address of the loaded dll's was 0x10.000.000 and then they where moved, when conflicts arose. John Robbins from Wintellect recommended to set the…
kfn
  • 620
  • 1
  • 7
  • 26
0
votes
0 answers

Readback of writes via an mmap mapped region returns wrong values

I am working on a Zynq board with custom FPGA design, where I have some Block Memories and I want read/write to them from software running on ARM. I have used mmap to map the address space of the block memory to user space from /dev/mem. I write a…
rdst15
  • 41
  • 1
0
votes
1 answer

Mapping of arrays from virtual address to physical address

When a 2 D array is declared statically, we get a huge contiguous chunk of virtual addresses. These addresses need not be mapped to contiguous memory addresses in physical addresses. Does the same happen for 1 D array? Are the addresses of…
Sahana ys
  • 351
  • 1
  • 3
  • 8