Operating Systems - Internal and External Fragmentation

127 Views Asked by At

In the case that I have 1Mb block of memory as follows:

   +----------------------------------------------------------------------------+
   |                                      1Mb                                   |                                                   
   +----------------------------------------------------------------------------+  

And say I use the buddy system to allocate processes to this memory block, so that the memory block looks as follows:

   +------------------------------------------------------------------------------+
   |  128K  |  128K  |         256K         |                512K                 |                                                   
   +------------------------------------------------------------------------------+  

And say the following requests are have been made and added:

  • Request A = 100K
  • Request B = 240K
  • Request C = 120K.

And let the allocation look as follows:

   +-------------------------------------------------------------------------------------+
   | A = 128K | C = 128K |        B = 256K         |                512K                 |                                                   
   +-------------------------------------------------------------------------------------+  

Now say that I want to release C and add a new Request D = 600K. This would not be possible since there isn't enough contiguous space available for this process.

Now my question is when can it be seen as External Fragmentation?

I know there's internal fragmentation in requests A,B and C but when can you say it's external fragmentation? Only when you know there's a process which would need more memory than what's contiguously available or can all free and unused memory be seen as external fragmentation?

If I missed some key details or information please forgive me, but at the moment this is all I know and well I ask because I'd like to know more.

0

There are 0 best solutions below