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?

Pthreads, A thread is defined as an independent stream of instructions that...

A thread is defined as an independent stream of instructions that can be scheduled to run as such by the operating system. Each program contains a number of threads which can be ru

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

Transferring files from windows to unix, Transferring files from Windows to...

Transferring files from Windows to Unix Be very careful transferring files from Windows to Unix. If you do transfer a file from Windows to Unix open the file, in Unix, using vi

Find the parent process and the child process, Q. When a process creates a...

Q. When a process creates a fresh process using the fork() operation which of the following state is shared among the parent process and the child process? 1 Stack 2 Heap

Analysis of Pseudocode Sempahore Solution, Gopher Gallery consists of a sho...

Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at

Define page stealing, Define Page stealing    Page stealing is taking ...

Define Page stealing    Page stealing is taking page frames another working sets

What is scheduler, What is scheduler? A process migrates among the vari...

What is scheduler? A process migrates among the various scheduling queues throughout its life time. The OS must choose processes from these queues in some fashion. This selecti

Command interpreters, Develop a user mode command interpreter which support...

Develop a user mode command interpreter which support these functions: "list-short" -- just like ls without any options "list-long" -- same as ls -l "change" -- same as cd Your co

What are the multithreading models, What are the multithreading models? ...

What are the multithreading models? There are three models:- a) Many-to-One model b) One-to-One model c) Many-to-Many model

Task decomposition and data decomposition, Discuss the concepts of  task de...

Discuss the concepts of  task decomposition  and  data decomposition  within the context of parallel programming. Parallel programming or parrelel computing is the simultaneo

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