Harshil Shah
Harshil Shah

Reputation: 152

User mode and kernel mode: different program at same time

Is it possible that one process is running in kernel mode and another in user mode at the same time?

I know, it's not a coding question but please guide me if someone knows answer.

Upvotes: 1

Views: 953

Answers (3)

Alex
Alex

Reputation: 1001

correct me but i suppose there is no any processes in kernel mode , there are only threads.

Upvotes: 0

Nadav Har'El
Nadav Har'El

Reputation: 13731

For two processes to actually be running at the same time, you must have multiple CPUs. And indeed, when you have multiple CPUs, what runs on the different CPUs is very loosly coupled and you can definitely have one process running user code on one CPU, while another process runs kernel code (e.g., doing some work inside a system call) on another CPU.

If you are asking about just one CPU, in that case you can't have two running processes at the same time. But what you can have is two runnable processes, which mean two processes which are both ready to run but since there is just one CPU, only one of the can actually run. One of the runnable processes might be in user mode - e.g., consider a long-running tight loop that was preempted after its time quota was over. Another runnable process might be in kernel mode - e.g., consider a process that did a read() system call from disk, the kernel sent the read request to the disk, but the read request completed so now the process is ready to run again in kernel mode and complete the read() call.

Upvotes: 2

Yash Sodha
Yash Sodha

Reputation: 703

Yes, it is possible. Even multiple processes can be in the kernel mode at the same time.

Just that a single process cannot be in both the modes at the same time.

Upvotes: 1

Related Questions