[Select]

Memory


Index

 

Dynamic Areas overview

The Dynamic Area system has been extended considerably since its introduction with RISC OS 3.5. Whilst the core features of the Dynamic Area system have remained, the extensions allow much greater control over memory management and allow some operations to be automated which had previously to be duplicated within many applications.

Dynamic area features

Individual dynamic areas have changed in the following ways since those documented within the RISC OS PRM 5a :

  • Areas can be limited to set sizes when they request a maximum allocation size.
    Introduced with RISC OS 4.00.
    See the Clamps section for more details.
  • Areas can now be reduced in size according to memory pressures.
    Introduced with RISC OS 4.00.
    See the ShrinkableDAs section for more details.
  • Areas can now contain non-contiguous areas of allocated space.
    Introduced with RISC OS 4.00.
    See the SparseDAs section for more details.
  • Areas can now request that they be allocated memory from DMA-able memory.
    Introduced with RISC OS 4.04.
    See the DMAableDAs section for more details.
  • Areas can now be locked to prevent resizes or deletion.
    Introduced with Select 1.
    See the LockedDAs section for more details.
  • Areas can now manage OS_Heap storage within the dynamic area.
    Introduced with Select 1.
    See the HeapDAs section for more details.
  • Areas can now be created which refer to physical pages, rather than specific areas of RAM.
    Introduced with Kernel 7.62.
    See the PhysicalDAs section for more details.
  • Areas can now be created which can fix up aborts.
    Introduced with Kernel 8.19.
    See the AbortableDAs section for more details.
  • Areas can now be created which can be made inaccessible with a single system call.
    Introduced with Kernel 8.20.
    See the DomainDAs section for more details.
  • Areas can now be made 'invisible' to the user.
    Introduced with Kernel 9.02.
    See the InvisibleDAs section for more details.
  • Areas can now be created to use specified pages which are fixed at creation.
    Introduced with Kernel 9.09
    See the FixedPageDAs section for more details.

General dynamic areas

Dynamic areas have been created for system purposes, and others have been delegated from the Kernel to more suitable modules. More information can be found within the SystemDAs section.


This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.

HTML document version 1.03 3rd November 2015