Check out the new USENIX Web site. next up previous
Next: /proc Interface Up: RCLinux Kernel Modifications and Previous: Changes to fork() and

System Initialization

During system initialization the resource container initialization routine rc_init() is called. This initializes the root container. It allocates RCMAXCPU to the root container, which is the value that is used to schedule all the processes system wide in one traversal of the hierarchy. It sets the cpu reservation of the container as the maximum reservation possible. The resource container for ``idle task'' is set to root, but the task is not added to the scheduler bindings of the root since we do not want it to be scheduled when there is some other task in the system. The parent container of the root is set to root itself. Current running container is set to the root container.

Process 0 creates init process with the CLONE_RC flag set so that a new container is created for init task. The scheduling parameters of this new container is set so that it is entitled to all the resources root can have. Init process spawns other kernel threads with CLONE_RC flag set.



Mansoor Alicherry 2001-05-01