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