Per fare quello che hai chiesto tu appunto ti serve conoscere le funzioni che usa il sistema per controllare i processi, (es conoscere la struct task_struct dichiarata nell'header sched.h).

Un consiglio che mi sono dimenticato di darti, é scaricarti i sorgenti di top e pstree per farti una idea piú o meno da dove partire.

Comunque, se hai bisogno di libri contattami per PM. Poi se vuoi ti posso aiutare con il programma.