<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>data storage management Archives -</title>
	<atom:link href="https://mitindia.in/tag/data-storage-management/feed/" rel="self" type="application/rss+xml" />
	<link>https://mitindia.in/tag/data-storage-management/</link>
	<description></description>
	<lastBuildDate>Sat, 31 Dec 2016 06:01:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mitindia.in/wp-content/uploads/2023/03/cropped-android-chrome-512x512-1-32x32.png</url>
	<title>data storage management Archives -</title>
	<link>https://mitindia.in/tag/data-storage-management/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Storage Management</title>
		<link>https://mitindia.in/storage-management/</link>
					<comments>https://mitindia.in/storage-management/#comments</comments>
		
		<dc:creator><![CDATA[SKB]]></dc:creator>
		<pubDate>Tue, 27 Dec 2016 04:52:03 +0000</pubDate>
				<category><![CDATA[C Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[data storage management]]></category>
		<category><![CDATA[data structure]]></category>
		<category><![CDATA[storage management]]></category>
		<guid isPermaLink="false">http://www.mitindia.in/?p=657</guid>

					<description><![CDATA[<p>Storage Management [Data Structure] In case of large voluminous data, every byte of space is important and plays a major factor in determining the cost of the resources. Programs that are run on computer systems will use variables that are stored in main memory for manipulation of data. When a variable is defined, a calculated [&#8230;]</p>
<p>The post <a href="https://mitindia.in/storage-management/">Storage Management</a> appeared first on <a href="https://mitindia.in"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span style="color: #ff0000;">Storage Management [Data Structure]</span></h2>
<hr />
<p><strong>In case of large voluminous data, every byte of space is important and plays a major factor in determining the cost of the resources.</strong></p>
<p><strong>Programs that are run on computer systems will use variables that are stored in main memory for manipulation of data.</strong></p>
<p><strong>When a variable is defined, a calculated amount of contiguous space is allocated to the variable, depending on its type.</strong></p>
<p><img fetchpriority="high" decoding="async" class="size-medium wp-image-658 alignright" src="http://www.mitindia.in/wp-content/uploads/2016/12/sm-300x194.jpg" alt="Storage Management " width="300" height="194" srcset="https://mitindia.in/wp-content/uploads/2016/12/sm-300x194.jpg 300w, https://mitindia.in/wp-content/uploads/2016/12/sm-270x175.jpg 270w, https://mitindia.in/wp-content/uploads/2016/12/sm.jpg 525w" sizes="(max-width: 300px) 100vw, 300px" /><br />
<em><strong>Compaction</strong></em>:- is the process of eliminating waste spaces so that there is no block of memory unusable.</p>
<p><strong> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- mylink -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-1696390399604457"
     data-ad-slot="7690934410"
     data-ad-format="link"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></strong></p>
<p><em><strong>Disadvantages:</strong></em><br />
The programs performing operations on memory are suspended while compaction is performed</p>
<p><strong>Reallocation Method</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong><em>First fit method</em></strong>: In the first-fit method, each block from the beginning is searched for a free block. The requested block of memory is allocated in the first possible free block.</p>
<p>freeblock *alloc,*y;<br />
x = fbhead;<br />
y = NULL;<br />
alloc = NULL;<br />
while( (x != NULL) &amp;&amp; (x-&gt;size &lt; n) )<br />
{<br />
y = x;<br />
x = x-&gt;next;<br />
}<br />
if( x != NULL )<br />
{ s = x-&gt;size;<br />
alloc = x + s &#8211; n;<br />
if( s == n )<br />
if( y == NULL )<br />
fbhead = x-&gt;next;<br />
else<br />
y-&gt;next = x-&gt;next;<br />
else<br />
x-&gt;size = s &#8211; n;<br />
}</p>
<p><strong><em>Best fit method</em></strong>: In the best-fit method, the entire list of free blocks is traversed and the smallest free block where allocation can be done is found out.</p>
<p>freeblock *alloc,*y;<br />
x = fbhead;<br />
y = NULL;<br />
z = NULL;<br />
alloc = NULL;<br />
bz = NULL;<br />
zsize = MAXMEM + 1;<br />
if( z != NULL )<br />
{<br />
alloc = z + zsize &#8211; n;<br />
if( zsize == n )<br />
if( bz == NULL )<br />
fbhead = z-&gt;next;<br />
else<br />
bz-&gt;next = z-&gt;next;<br />
else<br />
z-&gt;size = zsize &#8211; n;<br />
}</p>
<p><em><strong>Garbage collection</strong> </em><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Two phases of garbage collection are:<br />
<strong><em>-Marking phase</em></strong><br />
<strong><em>-Collection phase</em></strong></p>
<p><strong><em>Marking phase</em></strong>: A node is marked if it can be accessed from a given pointer. The nodes in the memory are sequentially checked.</p>
<p>If there are any nodes that can be accessed<br />
from the current node, then the nodes are all marked.<br />
In case the second node’s address is less than the<br />
previous node, the process continues from the second<br />
node. The process continues until all nodes are marked.</p>
<p>Node structure created for the example of Marking<br />
Phase</p>
<p>struct listnode<br />
{<br />
int info;<br />
int mark;<br />
int next;<br />
}list [50];<br />
int arptr[10];<br />
for( i=0; i&lt;10 ; i++)<br />
list[ arptr[i] ].mark = TRUE;<br />
i = 1;<br />
while( i &lt; 50 )<br />
{<br />
k = i + 1;<br />
if( list[i].mark )<br />
{<br />
if( list[ list[i].next].mark != TRUE )<br />
{<br />
list[ list[i].next].mark = TRUE;<br />
if( list[i].next &lt; k )<br />
k = list[i].next;<br />
}<br />
}<br />
i = k;<br />
}</p>
<p><strong><em>Collection phase</em></strong>: After the required nodes are marked, the collection phase begins. In the collection phase all the nodes that are not marked are added to a separate list. Then the space allocated for these nodes are reclaimed and assigned to newer nodes.</p>
<p>for( i = 0; i&lt; 50; i++ )<br />
{<br />
if( list[i].mark != TRUE )<br />
{<br />
list[i].next = glist;<br />
glist = i;<br />
}<br />
list[i].mark = FALSE;<br />
}<br />
<strong><em>The Big O Notation</em></strong>: is a popular mathematical tool used to calculate time complexities for different algorithms.<br />
The Big O notation is represented as:<br />
f(n) = O( g((n) )<br />
f(n) &#8211; the computing time of the algorithm when<br />
it is run for an input size of n.<br />
g(n) &#8211; standard function, whose value is<br />
determined prior to the execution of the algorithm.</p>
<p><em><strong>Standard functions</strong></em><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
n: An algorithm having a time complexity of order n, is said to be linear. The time taken is said to be linearly proportional to n.<br />
n2: The algorithm is said to be quadratic if the time complexity is of order n2.<br />
n3: If the time complexity of an algorithm is of order n3, then the algorithm is said to be cubic.<br />
Log n: If the time complexity of an algorithm matches the function log n, then the algorithm is said to be logarithmic.<br />
nlogn: If the time complexity of an algorithm is n log n, then it can be said that the algorithm solves a problem by breaking it into smaller sub-problems and solving them independently.</p>
<h3><strong><em>Conclusion:</em></strong><br />
When a variable is defined, a calculated amount of contiguous space is allocated to the variable<br />
Collecting unused space towards on one end in memory is called compaction<br />
A pointer is used to store the first location of the free block initially<br />
The disadvantage of compaction is the programs performing operations on memory are suspended, while compaction is performed</h3>
<h3>A linear list is used to keep track of list of free blocks<br />
The process of detecting unused nodes and collecting them together is known as Garbage Collection<br />
Garbage collection is done in two phases – marking phase and collection phase<br />
The garbage collection routine is called when there are only few spaces left in memory</h3>
<p><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fmitindia.in%2Fstorage-management%2F&amp;linkname=Storage%20Management" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fmitindia.in%2Fstorage-management%2F&amp;linkname=Storage%20Management" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fmitindia.in%2Fstorage-management%2F&#038;title=Storage%20Management" data-a2a-url="https://mitindia.in/storage-management/" data-a2a-title="Storage Management"><img src="https://static.addtoany.com/buttons/favicon.png" alt="Share"></a></p><p>The post <a href="https://mitindia.in/storage-management/">Storage Management</a> appeared first on <a href="https://mitindia.in"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mitindia.in/storage-management/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
