Allocation of objects

Chris Johns chrisj at rtems.org
Wed May 18 12:41:09 UTC 2005


SAUDUBRAY, Fabien wrote:
> I'm not sure of my understanding :
> 
> Memory for objects is reserved, but is memory for objects  allocated 
> during Initialization. (ie during _Objects_Initialize_information calls ? )
> 
> Because when we create an object (a task for example), the kernel calls 
> the _Object_Allocate directive which returns the first object in the 
> Inactive Chain of this kind of Object. But this implies that this Chain 
> had been allocated before ?
> 

Originally the configuration table defined the number of objects for 
each type. The "unlimited" flag was introduced that allowed the number 
of objects to grow.

A static number of objects gives a fixed deterministic time to create a 
resource such as a task. The unlimited flag turns the configuration 
table value into a block size. This lets you control the amount of 
workspace overhead you get when the object table grows or shrinks. You 
how-ever need to size the workspace to meet your needs.

You can find more details about the unlimited flag and sizing the 
workspace here:

http://www.rtems.org/onlinedocs/releases/rtemsdocs-4.6.2/share/rtems/html/c_user/c_user00386.html

  [ The auto-extending mode can .... ]

and a little about how it works here:

  http://www.rtems.org/ml/rtems-users/2005/april/msg00054.html

-- 
  Chris Johns



More information about the users mailing list