Hi MJ,

The switch_to(prev, next) function stores the registers of task "prev" to
its kernel stack, than restores registers
of task "next" from its kernel stack than resumes task "next" in kernel
mode.
If the selected task is a user process, it just takes the "return to user"
path to user space.

Regards,
MH


On Fri, Jan 3, 2014 at 6:31 PM, Mj Embd <[email protected]> wrote:

> Hi,
>
> A very basic question.
> AFAIK schedule() selects the next process to run.
> Now once it has selected the process, and say if the process is a user
> space or kernel space one. how does the switch to user happens,
>
> a) Is it in schedule function . it has to be a arch level function
> called from schedule()
>
> b) or Else where, so is there a umberlla function like
>
> somefunc()
> {
> task_ptr = schedule();
> switch_to(task_ptr)
>
> ...
>
> }
>
> Can someone explain this
>
> _______________________________________________
> Kernelnewbies mailing list
> [email protected]
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to