Symbian3/SDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-2FAB8281-569A-52BE-8BC8-A2D378068706" xml:lang="en"><title>Caching</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>In Symbian OS versions earlier than 9.4, index entries were stored in a
       
    14 single index file in a permanent file store and the entire file was loaded
       
    15 into RAM on start up. In Symbian OS version 9.5 index entries are stored in
       
    16 an SQL database and only the most recently used index entries are cached in
       
    17 RAM. </p>
       
    18 <p>The following figure shows how a client request is completed using the
       
    19 cache functionality in the Message Server. </p>
       
    20 <fig id="GUID-43D2AE30-9221-500A-B934-5D3636168273">
       
    21 <title>           Caching architecture          </title>
       
    22 <image href="GUID-53A2CA11-2ABF-5ED7-A26C-7BE9FD9A1D22_d0e256631_href.png" placement="inline"/>
       
    23 </fig>
       
    24 <section><title>Creating and maintaining free space in memory</title> <p>Memory
       
    25 allocation to the cache is done incrementally, to reduce the Message Server
       
    26 start up time. When the Message Server starts, only a percentage of the maximum
       
    27 cache size (<codeph>MsvMaximumCacheSize</codeph>) is allocated to cache. The
       
    28 percentage is specified by the <codeph>MsvInitialCacheCreation</codeph> parameter.
       
    29 The next iteration of memory allocation is not initiated until the memory
       
    30 threshold (set using the <codeph>MsvCacheThreshold</codeph> parameter) is
       
    31 reached. The subsequent memory allocation is always done by a low priority
       
    32 active object. </p> <p><b>Example</b> </p> <p>The memory allocation strategy
       
    33 is illustrated in the following figures, based on the default values (shown
       
    34 in the preceding table). </p> <p>When Message Server starts, the cache is
       
    35 created with an initial size of 410KB (40 percent of 1024KB). If 70 percent
       
    36 of the free space in the cache gets used the server allocates an additional
       
    37 205KB (20 percent of 1024). </p> <fig id="GUID-CA4A08C8-C4E8-575F-8F03-F3D1F6579E5F">
       
    38 <image href="GUID-B459E37A-BECE-5087-9827-C93310890674_d0e256663_href.png" placement="inline"/>
       
    39 </fig> <p>Message Server can make two further 205KB allocations which it does
       
    40 as use reaches 70 percent of the memory already allocated. </p> <fig id="GUID-21A40614-046B-56DD-9DDD-34B2F9681B5C">
       
    41 <image href="GUID-107F7BC4-F776-512D-AD6F-1674B7ED19B5_d0e256671_href.png" placement="inline"/>
       
    42 </fig> <p>If more than 70 percent of the first two allocated memory chunks
       
    43 is used, an additional 20 percent of memory is added to the free space. </p> <fig id="GUID-EBF4FF85-D6D6-518C-9391-C3AFF8821F83">
       
    44 <image href="GUID-5E380880-9DBB-51D7-8942-829C6FD788C2_d0e256679_href.png" placement="inline"/>
       
    45 </fig> </section>
       
    46 </conbody></concept>