Please explain it nicely. Don"t simply write definition. Additionally explain what it does and how is it different from segmentation.

You are watching: Fragmentation does not occur in a paging system.



Fragmentation requirements to be taken into consideration with storage allocation techniques. Paging is basically no a memory allocation technique, however rather a way of providing virtual address spaces.

Considering the comparison through segmentation, what you"re most likely asking around is the difference in between a storage allocation method using fixed size blocks (like the pages the paging, presume 4KB page size here) and a an approach using variable dimension blocks (like the segments provided for segmentation).

Now, assume that you directly use the web page allocation user interface to implement storage management, that is you have actually two attributes for managing memory:

alloc_page, i m sorry allocates a single page and also returns a tip to the beginning of the newly easily accessible address space, andfree_page, i m sorry frees a single, allocated page.

Now suppose every one of your currently available virtual storage is used, however you need to store 1 additional byte. You speak to alloc_page and also get a 4KB block that memory. You only use 1 byte of that huge block, but also the other 4095 bytes are, indigenous the view of the allocator, used. If this happens multiple times ultimately all pages will be allocated, so further calls to alloc_page will fail. Even if you just need another extr byte (which could be among the 4095 that obtained wasted above) the allocator will tell you the you"re the end of memory. This is interior fragmentation.

If, on the various other hand, girlfriend would usage variable sized blocks (like in segmentation), climate you"re fragile to exterior fragmentation: mean you control 6 bytes of memory (F way "free"):

FFFFFFYou an initial allocate 3 bytes for a, then 1 for b and also finally 2 bytes for c:

aaabccNow you totally free both a and also c, leaving just b allocated:

FFFbFFYou now have actually 5 bytes of unused memory, but if you try to point out a block the 4 bytes (which is less than the easily accessible memory) the allocation will certainly fail due to the unfavorable location of the memory for b. This is outside fragmentation.

See more: How Rare Is A Five Leaf Clover ? Schoolboy Finds Five

Now, if you expand your page allocator to have the ability to allocate multiple pages and include alloc_multiple_pages, you have actually to attend to both inner and external fragmentation.