EmbLogic's Blog

The process list

To allow an efficient search through processes of a given type (for instance, all processes in
a runnable state) the kernel creates several lists of processes. Each list consists of pointers to
process descriptors. A list pointer (that is, the field that each process uses to point to the next
process) is embedded right in the process descriptor’s data structure. When you look at
the C-language declaration of the task_struct structure, the descriptors may seem to turn in
on themselves in a complicated recursive manner. However, the concept is no more
complicated than any list, which is a data structure containing a pointer to the next instance of itself.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>