So, I was reading about these terms and got confused after reading Frames and Pages.

  1. Memory can be divided into fixed or dynamic partition using Base and limit registers which normally face problems of internal or external fragmentation. Each partition can possess only one process.

  2. During Pages of Process, memory(RAM) is divided into fixed size frames to hold same sized Pages of a process. Process is divided into many Pages and many memory Frames are holding these pages.

My questions, is memory(RAM) divided into partition{fixed/dynamic} later subdivided into Frames, am I confusing these all and Memory partition concept is an outdated concept and frames/pages are latest concept and I am confusing these two with one another?

  • 1
    It's still current, you're just mixing things. Pages are a virtual concept, frames are the physical counter parts. Not all of those processes are directly reflected in physical memory. As an example a page fault means that the page currently isn't "in a frame"/physical memory. – Seth Dec 9 '17 at 9:52
  • @Seth So, memory is first divided into partitions which could be fixed or dynamic later the same memory partition is further divided into frames while Process is divided into Pages which is handled by virtual addresses and tables? "OR" without virtual memory on swap partition we have just partitions of fixed and dynamic size but when we have swap partition for VM then frames and pages concepts are used ? – Mani Dec 9 '17 at 9:56

Page table on Wikipedia has a pretty nice graphic to visualize part of your question. It's the first graphics on the page.

A process has a virtual address space which can be a lot bigger than any physical memory you got. Data within this address space obviously has to be mapped to physical memory at some point. The memory management unit (MMU) is responsible for this. Through various mechanisms it keeps track of which pages (segments of the virtual address space) related to which physical memory frames. A page doesn't necessarily has to relate to a physical address. If that's the case you will get a page fault which means that particular page has to be loaded from an alternative story location into physical memory before it can be accessed.

The virtual address space always starts at 0. The base and limit registers are used to define the start and end of the physical memory partition an application can work in. If your base registers is 12345 for every virtual address you're trying to access 12345 is added.

For some more information about this see also How are base registers, limit registers and relocation registers used?

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.