Explain external fragmentation?, Operating System

Assignment Help:

Explain external fragmentation?

External fragmentation is the process where the free space and the space still available for use, in a piece of storage become separated into many small pieces. It is caused over time by de-allocating ("freeing") and allocating pieces of the storage space of many different sizes. The result is that, although one may perhaps have plenty of free space, it mayn't be able to all used, or at least used as effectively as one would like to.

For instance in a dynamic memory allocation a block of 1000 bytes might be requested but the largest contiguous block of free space or memory hole has only 300. Still if there are ten blocks of 300 bytes of free space separated by allocated regions one still cannot allocate the requested block of 1000 bytes.

External fragmentation also takes place in file systems as many files of different sizes are change size, created, and are deleted. The effect is even worse if a file which is separated into many small pieces is deleted, for the reason that this leaves similarly small regions of free space.

External fragmentation is able to be eliminated through a process called compaction, where existing objects are all moved in to one large adjacent block, keep left all of the remaining free space in one large block. Moving garbage collectors use compaction to enhance dynamic memory allocation performance and tools that defragment disk drives as well perform a compaction step. It is frequently possible to do a partial but still useful form of compaction more efficiently or to continually compact in an incremental fashion therefore that external fragmentation is always kept low.

 


Related Discussions:- Explain external fragmentation?

Differences between foreground and background, Describe the differences bet...

Describe the differences between foreground and background processing. What advantage does background processing provide? 1. Background processes typically run with little or no

Define programming fundamentals for client- server developer, Define the Pr...

Define the Programming Fundamentals for Client- Server Developers Coding for client - server enforces good programming fundamentals. In order for applications to become client

Structures for a file''s data, Q. Likewise some systems support many types ...

Q. Likewise some systems support many types of structures for a file's data while others simply support a stream of bytes. What are the merits in addition to demerits? Answer:

What kind of protection structure do we have, Q. Consider a calculating en...

Q. Consider a calculating environment where a unique number is associated with each process and each object in the system. Suppose that we permit a process with number n to acce

Write knowledge base relevant propositional statement, Suppose a logic-base...

Suppose a logic-based agent in the wumpus world has found that locations (1,1) and (2,1) do not contain a stench, but that locations (3,1) and (2,2) do contain a stench. Can the ag

Drawbacks of least-recently used algorithm, The question of fairness, regar...

The question of fairness, regarding page eviction, is a hard one. How do we decide what is fair? Many operating systems use global LRU, where pages from all processes are managed t

Process destruction, Most process abstractions support processes being dest...

Most process abstractions support processes being destroyed when the program terminates, or in response to a specific kill directive. There are two common implementations, one a "p

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