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
virtual-address-space
234
questions
0
votes
1
answer
63
views
When a user process swaps out a page, is the virtual address of the page in user space or kernel space?
I am a beginner in Linux and have always been confused about the difference between kernel space and user space.
I am currently researching memory management and would like to know if the virtual ...
0
votes
0
answers
19
views
XV6 Pagetable permissions are different
I was solving the print a pagetable question in the Pagetables lab in the XV6 operating system in MIT's 6.1810, as described here (https://pdos.csail.mit.edu/6.S081/2023/labs/pgtbl.html):
To help you ...
1
vote
1
answer
116
views
Performance implications of aliasing in VIPT cache
What are the performance implications of virtual address synonym (aliasing) in a VIPT cache? I'm specifically interested in recent x86_64 architectures but knowing more about others wouldn't hurt.
...
0
votes
0
answers
29
views
Understanding paging and fetching instructions from memory
as stated in the title, I am implementing a processor emulator in C# and I have a problem with understanding, that is, with the paging logic when retrieving an instruction from memory.
Namely, I have ...
0
votes
1
answer
31
views
Who and how generate the virtual/logical addresses? Confusion if it's the compiler, the linker, the loader
I know that when I compile a program and then I inspect with objdump, I have addresses. These are relative addresses.
But if it's a C program and I printf with %p a pointer, that is a virtual/logical ...
0
votes
0
answers
271
views
Mapping Kernel space to userspace with remap_pfn_range()
I'm new to kernel development so bear with me please. I'm looking to map Kernel memory to userspace in order to read it without copying. Here is a snippet of example code it seems to break in ...
0
votes
0
answers
22
views
What are "Global Pages" for? (Intel x86 processors) [duplicate]
Disclaimer: this is a repost from superuser, due to a comment that the question might be more suitable for Stack Overflow.
In Intel Software Developer's Manual (Intel 64 and IA-32 Architectures ...
0
votes
0
answers
132
views
Function address in executable ( inspected by objdump ) not matching the address of the same function printed by printf. What happens under the hood?
I'm on an Ubuntu ( 22.04.3) x86_64 system.
I know how virtual memory and pages work in general and I also know that systems can use ASLR.
However I'd like to know what exactly happens in an Ubuntu ...
0
votes
0
answers
82
views
Multi-level page tables - calculating the number of levels
I had this question in an Operating system course test And Im couldn't figure out on how to solve it
A system is given that uses paging, with a page size of 1MB. The length of the virtual address is ...
1
vote
1
answer
102
views
Why does MAXVA in xv6 source code differ from the value in the xv6 textbook?
Why is the MAXVA value defined differently in the xv6 textbook of MIT 6s081 and the xv6 source code? The textbook states that the maximum address is 2^38 - 1 = 0x3fffffffff, while the source code ...
0
votes
1
answer
218
views
Why is 38 written as 9 + 9 + 9 +12 - 1 in xv6 RISC-V source code
I was trying to add a few system calls to the xv6 source code developed at MIT, and upon reading this resource (https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf), on page 26, they ...
1
vote
1
answer
323
views
AArch64 memory synchronization operations on multiply-mapped addresses
Suppose I have two pages that map to the same physical memory. Would an acquire operation (or fence) on a virtual address in one page properly synchronize with a release operation (or fence) on a ...
0
votes
0
answers
131
views
why does kernel image and direct mapping overlap in physical address space?
below is the implementation of transforming virtual addr to physical addr of kernel space. However, by this way the kernel image and direct mapping have overlapped area in physical space. Is this way ...
0
votes
2
answers
3k
views
How much memory does a 64bit Linux Kernel take up?
The address space is huge for the x86-64 even though 48-bit addresses are mainly used.
On x86 32-bit machines it was pretty clear how much RAM the kernel took up. Generally around 1 GB of ZONE_NORMAL ...
0
votes
1
answer
388
views
How come the allocation of virtual address spaces doesn't rob you of all virtual memory?
On a 32-bit computer, a virtual memory address is represented as an integer between 0 and 2^32. By virtue of being a 32-bit system, no address can be represented that's lower than 0 or higher than 2^...