Skip to main content
11 events
when toggle format what by license comment
Jan 7, 2021 at 11:16 comment added amon @joelw The 256TB address space limit comes from hardware: of 64 bit pointers, only 48 bits are actually used. However, half of those addresses are used by the kernel, leaving 128TB for the application's address space. Of course, future hardware can support more than 48 bit addresses which the linked article seems to be about.
Jan 6, 2021 at 22:01 vote accept qwerty_99
Jan 6, 2021 at 21:01 comment added Deduplicator 1. "... Linux happily overcommits memory." If you allow it to. Not that this is important here, as it need not dedicate any specific page even if overcommitting is forbidden, it just has to account for the promises given. 2. Whereas a compacting gc can likely move it around. Though the datastructures to support the gc and the necessary additional memory to make it acceptably performant are rather significant.
Jan 6, 2021 at 19:50 history edited Robert Harvey CC BY-SA 4.0
edited body
Jan 6, 2021 at 19:32 comment added joelw Is 265TB (or 256?) of virtual addresses the situation on Windows? On Linux it is 128TB without the P4D and 128PB with P4D. lwn.net/Articles/717293
Jan 6, 2021 at 18:12 comment added rwong @qwerty_99 This answer talks about virtual address space, which is the address space seen from the perspective of the application process. It is not related to the OS feature of using hard disk as swapping space to provide the illusion of having more memory capacity than the actually installed physical memory size. Between virtual memory address and physical memory address, the translation is performed by a component inside the CPU called TLB (translation lookaside buffer).
S Jan 6, 2021 at 17:48 history edited Glorfindel CC BY-SA 4.0
Code formatting updates
S Jan 6, 2021 at 17:48 history suggested lennon310 CC BY-SA 4.0
Code formatting updates
Jan 6, 2021 at 17:33 comment added qwerty_99 Thanks for the reply! So if I understand what you're saying, when I call malloc() it allocates a continuous block in the virtual memory (hard disk), and when needed the OS will map it to the RAM (physical memory, not necessarily continuous)? Also in the last paragraph you're talking about internal fragmentation right?
Jan 6, 2021 at 1:53 review Suggested edits
S Jan 6, 2021 at 17:48
Jan 5, 2021 at 12:31 history answered amon CC BY-SA 4.0