当前位置: 技术问答>linux和unix
(菜鸟提问)怎么区份linux系统进程和用户进程?
来源: 互联网 发布时间:2016-03-12
本文导语: 如题:怎么区分系统进程和用户进程? 还有,用户程序是以进程的形式来运行的,怎么得到这个用户程序的PID呢,怎么知道所得到的PID就是我想要的特定用户进程的PID呢?? | 1:没有内核进程和用户进...
如题:怎么区分系统进程和用户进程?
还有,用户程序是以进程的形式来运行的,怎么得到这个用户程序的PID呢,怎么知道所得到的PID就是我想要的特定用户进程的PID呢??
还有,用户程序是以进程的形式来运行的,怎么得到这个用户程序的PID呢,怎么知道所得到的PID就是我想要的特定用户进程的PID呢??
|
1:没有内核进程和用户进程之分;
2:每个进程可以在用户态运行和内核态运行;
3:每个进程可以认为是一个指令运行路线+背景信息(如:打开文件),这些指令沿着路线的执行会影响到进程的信息(进程的路线是由CPU的eip决定的);
4:进程的切换:进程的切换需要由当前正在运行的进程准备好“切换到的进程”的相关信息的设置(如:current_proc),然后在执行一个CPU指令(如:ljmp可以通过TSS完成相关寄存器的设置),在这之后,地址空间变了,且CPU按照新的的eip执行了,也就是说新的进程得到了运行。
2:每个进程可以在用户态运行和内核态运行;
3:每个进程可以认为是一个指令运行路线+背景信息(如:打开文件),这些指令沿着路线的执行会影响到进程的信息(进程的路线是由CPU的eip决定的);
4:进程的切换:进程的切换需要由当前正在运行的进程准备好“切换到的进程”的相关信息的设置(如:current_proc),然后在执行一个CPU指令(如:ljmp可以通过TSS完成相关寄存器的设置),在这之后,地址空间变了,且CPU按照新的的eip执行了,也就是说新的进程得到了运行。
|
blackbillow回答得很全很好
|
如题:怎么区分系统进程和用户进程?
在内核中有内核线程的概念,它与用户进程的主要区别是:内核线程的内存描述符是空的,即task->mm=NULL。
|
2:每个进程可以在用户态运行和内核态运行;
======================================================
我不赞同这句话!
用户空间的进程,如果要到内核态去运行的话,必须走相关的系统调用~~否则是非法的!
======================================================
我不赞同这句话!
用户空间的进程,如果要到内核态去运行的话,必须走相关的系统调用~~否则是非法的!
|
进程可以在用户态和内核态运行
如果没有系统调用,用户态运行,可以提高性能和执行效率
但要是有系统调用,只能陷入内核了。
如果没有系统调用,用户态运行,可以提高性能和执行效率
但要是有系统调用,只能陷入内核了。