2
Well I’m doing the Operating Systems discipline and a doubt has arisen while I read memory management.
From what I read, one way to abstract memory is to use base and limit registers, where each program in physical memory is stored its start in the base register and the end in the limit. See you around, okay. Then I saw ways to manage free memory, which is what to do when taking or allocating a program in physical memory, then you have the bit map or chained list, in the case of the chained list you have the first-fit, next-fit, best-fit, Worst-fit algorithms. So far OK.
So I’ve understood so far that it takes an abstraction of memory for many programs to use and a way to manage available space, how to allocate and so on.
Now I’m seeing virtual memory, which I understand is for when the program doesn’t fit whole in physical memory and you need to run it even if it’s not whole in memory. Then use the pagination scheme and page table, which when you need to fetch some instruction in memory the MMU(Memory Management Unity) makes the calculation of the absolute address through the page table that this page references and its displacement.
Now that my doubt comes in, when using paging does not use the base register scheme and limit? Pq since all process will be saved on the pages and the MMU does the calculation pro absolute address no longer needs base register and limit.