Skip to main content
12 events
when toggle format what by license comment
Nov 20 at 19:10 comment added gnasher729 Typical now is a system where you have say up to 2048 processes, and 53 bit address space. So you combine 11 bits from the process and 53 address to 64 bit - and that 64 bit can be fed into a single lookup table without any problems. Addresses from different processes will be different within the highest 11 bits and therefore never map to the same entry in a page table.
Dec 12, 2012 at 19:30 vote accept IAE
Jan 23, 2012 at 11:27 comment added edA-qa mort-ora-y @DeadMG, about multilevel tables, newer chips provide a layered translation table for the purpose of virtual machines hosting multiple operating systems.
Jan 22, 2012 at 20:57 comment added DeadMG @SoulBeaver: You only need to unload the data in main memory which is going to be replaced with data from the hard drive. There's no need to replace the entire main memory.
Jan 22, 2012 at 20:13 comment added IAE @DeadMG and Grant: THank you for the help, I think I have just one more question before I can start working on the implementation: what happens during a page fault? If we have to swap out the virtual memory mapped to a physical memory, do we first have to unload everything in the main memory to the hard drive? Otherwise we would lose the data in the RAM, correct? That means during the swap the Page Entry saves the data stored at each address and is then saved to the harddrive.
Jan 22, 2012 at 19:58 comment added user4828 @SoulBeaver in fact the 'infringing' can be extremely useful. The same physical memory can be mapped into two or more processes and used for interprocess communication.
Jan 22, 2012 at 19:40 comment added DeadMG @SoulBeaver: Yes, it is the job of the kernel to control the page tables. They can infringe but only if the kernel allows that to happen.
Jan 22, 2012 at 19:36 comment added IAE Oooooh. That's probably what tripped me up. I thought there was a central Page Table and that all processes get their address translated through that central structure. All others suddenly stopped making sense. But if every process has an individual page table, how do they know they aren't infringing on another process' memory physical memory space? They could just map their virtual address to the same page frame without knowing about it? I suppose this is the job of the OS or MMU?
Jan 22, 2012 at 19:22 comment added DeadMG @SoulBeaver: No, there is just multiple page tables. I don't think there even is such a thing as an OS page table. A page table is a per-process structure.
Jan 22, 2012 at 19:16 comment added IAE Are we talking about multilevel page tables now? The OS Page Table checks in the Page Table of process A for the translation of its virtual address into a physical address and then checks if that address is mapped in the OS Page Table?
Jan 22, 2012 at 19:09 history edited DeadMG CC BY-SA 3.0
added 257 characters in body
Jan 22, 2012 at 19:04 history answered DeadMG CC BY-SA 3.0