Jump to content

Talk:Fragmentation (computing)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Doradus (talk | contribs) at 13:28, 28 February 2008 (Internal Fragmentation: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconComputing Unassessed
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
???This article has not yet received a rating on Wikipedia's content assessment scale.
???This article has not yet received a rating on the project's importance scale.

Internal Fragmentation

I recently reverted an edit that turned the Internal Fragmentation section into the text below. This text might have some useful contributions, but it's nowhere near good enough to replace the existing text yet.

Allocation either including reduntant information or data which are not going to be used. The term "internal" means that the unusable storage is inside the allocated region but is not being used.

Purpose and advantages:

  • Usually provides increased efficiency or simplicity.

Disadvantages:

  • More difficult to reclaim than other forms of fragmentation.
    • Usually the best way to remove it is with a design change. For example, in dynamic memory allocation, memory pools drastically cut internal fragmentation by spreading the space overhead over a larger number of objects.

Examples:

  • In many file systems, files always start at the beginning of a sector (simplifies organization, easier growth of files). Any space left over between the last byte of the file and the first byte of the next sector is a form of internal fragmentation called file slack or slack space.
  • Examples of use of metadata:
    • Program allocates a single byte of data is often allocated many additional bytes for metadata and alignment.
  • Examples of use of reserved (often unused) resources: