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?

Define shell in unix system, A Unix shell is a shell or command-line inte...

A Unix shell is a shell or command-line interpreter that gives a traditional user interface for the Unix-likesystems and for Unix operating system. Users operates the operation of

What are the advantages and disadvantages of multithreading, What are the a...

What are the advantages and disadvantages of multithreading?  Advantages : Since by multithreading multiple executions are carried out in the same process environment t

Split the hexadecimal format, The following is a dump of a TCP header in h...

The following is a dump of a TCP header in hexadecimal format: 00CD0018 00000EF1 00000D5D 502200D1 01BF0010 We need to first split the above hex as such 00 CD 00 18 00 00

Which are the different states of a process, Which are the different states...

Which are the different states of a process?   Different status of a process is: New: When the process is created. Running: When instructions are executed. Wait

Deadlock-avoidance algorithm, Regard as a computer system that runs 5000 jo...

Regard as a computer system that runs 5000 jobs per month with no deadlock-prevention or deadlock-avoidance scheme. Deadlocks take place about twice per month and the operator must

What is the difference b/w multiprocessing and multitasking, What is the di...

What is the difference between multiprocessing and multitasking? Multi programming means implementing more than one program but here whenever the processor is idle during execu

Determine the syntax of the assembler directive equ, Determine the syntax o...

Determine the syntax of the assembler directive EQU The following is syntax of the assembler directive EQU: EQU

Show the multithreading performance, Q. Provide two programming instances i...

Q. Provide two programming instances in which multithreading provides better performance than a single-threaded solution. Answer: (1) A Web server that services every request

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