Having got some clarity of what I have to do, I want to now proceed for a step by step development. What all I know about linux kernels is a theoretical understanding of its various components (from the book of Robert Love) but as far as practical is concerned, I know the following things: 1) Linking modules dynamically to kernel at run time ( outside source tree and inside source tree) 2) Adding system calls Rather than trying to go blind folded in getting practical experience of linux programming, I want to gain experience only in relation to my task of creating a distributed process scheduler. What all things should I try to work with to understand the kernel CFS scheduler well? Please provide sufficient literature for the practical work. Also what is the best place to learn about implementing linux containers? On Wed, Feb 17, 2016 at 11:40 AM, <Valdis.Kletnieks@xxxxxx> wrote: > On Wed, 17 Feb 2016 10:21:35 +0530, Nitin Varyani said: > >> Actually it is a master's thesis research project as of now. I am ready to >> boil down to the most basic implementation of distributed linux kernel. >> Assume there is no network connection and no open files. We can drop even >> more assumptions if it becomes complicated. Once this basic implementation >> is successful, we can go ahead with a more complicated version. The next >> task is to integrate the migration code in the linux kernel. What is the >> most easy way of implementing it. > > If you get it to where you can migrate a process on command controlled by > a userspace process, the scheduler part will be trivial. > > And note that the choice of which process to migrate where is sufficiently > "policy" that it belongs in userspace - see how cgroups and containers are > kernel mechanisms that are controlled by userspace. You want to follow that > model if you intend for this to be upstreamed rather than just another dead > master's thesis. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies