Skip to main content

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
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 ...
Mia8Cew's user avatar
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 ...
AthaSSiN's user avatar
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. ...
Jason Nordwick's user avatar
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 ...
PC Safe's user avatar
  • 25
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 ...
Allexj's user avatar
  • 1,447
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 ...
EA.01's user avatar
  • 1
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 ...
WannabeArchitect's user avatar
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 ...
alessio solari's user avatar
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 ...
Nansi's user avatar
  • 21
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 ...
Aries Zhao's user avatar
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 ...
Hardik Sharma's user avatar
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 ...
Mona the Monad's user avatar
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 ...
choxsword's user avatar
  • 3,319
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 ...
Daniel Catalano's user avatar
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^...
voltamatron's user avatar

15 30 50 per page
1
2 3 4 5
16