Differences between internal and external fragmentation, Computer Engineering

Assignment Help:

Explain the differences between Internal and external fragmentation.

Internal and external fragmentation

(1) While memory allocated to a process is a little larger than the requested memory, space at the end of a partition is not used and wasted. Such wasted space inside a partition is termed as internal fragmentation. When sufficient total memory space exists to satisfy a request, but this is not contiguous; storage is fragmented in a large number of small holes. It wasted space not allocated to any partition is termed as external fragmentation.

 (2) Internal fragmentation is determined in multiple fixed partition schemes whereas all the partitions are of similar size. That physical memory is broken in fixed-sized blocks.

External fragmentation is determined in many variable partition schemes. In place of dividing memory in a fixed set of partitions, an operating system can select to allocate to a process the accurate amount of unused memory space this requires.

(3) In many fixed partition schemes, the partition table requires storing either the starting address for each process or the no. of the partition allocated to each process.

In many type of variable partition scheme, the overhead of managing extra data increases.

The partition table should store exact starting and ending location of each process and data about that memory locations are free should be maintained.

(4) In schemes of multiple fixed partitions, size/limit register is set at boot time and includes the partition size. All time a process is allocated control of CPU, the operating system only requires resetting the relocation register. Within multiple variable partition schemes, each time a diverse process is given control of the CPU, the operating system should reset the size/limit register in addition to the relocation register. The operating system should also make decisions on that partition this should allocate to a process.

(5) Internal fragmentation can be reduced by using multiple variable partition method. Though, this solution suffers from external fragmentation. This external fragmentation can be solved by using compaction where the goal is to shuffle the memory contents to place all free memory mutually in one large block. The other possible solution to the external fragmentation problem is to allow the logical address space of a process to be non-contiguous. Such solution is achieved by segmentation and paging.


Related Discussions:- Differences between internal and external fragmentation

Difference between shadow and override in programming, Overriding tell us o...

Overriding tell us only the methods, but shadowing tells us the entire element.

When the get cursor command used in interactive lists, When the get cursor ...

When the get cursor command used in interactive lists? If the hidden information is not enough to uniquely recognize the selected line, the command GET CURSOR is used.  The GET

Important part of process - canonical genetic algorithm, Important part of ...

Important part of Process - canonical genetic algorithm: In such a scenario evolution or random mutations are often highly deleterious or can say harmful to the organism it me

Determine capacity in bytes of a certain memory, A certain memory has a cap...

A certain memory has a capacity of 4K × 8 (i)  How many data input and data output lines does it have? (ii) How many address lines does it have? (iii) What is its capacity in bytes

Illustration of equivalent exe program, Q. Illustration of equivalent EXE p...

Q. Illustration of equivalent EXE program? An illustration of equivalent EXE program for COM program is: ; ABSTRACT this program adds 2 8-bit numbers in the memory locations

Basic tradeoff of concerns for instruction set design, Q. Basic Tradeoff of...

Q. Basic Tradeoff of concerns for instruction set design? Basic Tradeoff: Smaller instruction (less space) vs. desire for more powerful instruction repertoire. Generally p

How does vb.net achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# provide polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which ar

What is self reference, What is self reference?  The Turing machine tha...

What is self reference?  The Turing machine that ignores its input and prints out a copy of its own description,   we call this as SELF. There is a computable function q: €*€*,

Virtulization, Analyse the future of Operating Systems with reference to Vi...

Analyse the future of Operating Systems with reference to Virtualisation.words accepted#

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd