linux 轻量级进程与普通进程的区别
2017-04-10 10:36
120 查看
轻量级进程和普通进程的区别在于:前者没有独立的用户空间(内核态线程无用户空间,用户态线程共享用户空间),而普通进程有独立的内存空间;
表现在数据结构上:线程的mm=null或者与其他线程共享,而进程有独立的mm_struct。
内核线程内核线程只运行在内核态,不受用户态上下文的拖累。 Ø 处理器竞争:可以在全系统范围内竞争处理器资源;Ø 使用资源:唯一使用的资源是内核栈和上下文切换时保持寄存器的空间Ø 调度:调度的开销可能和进程自身差不多昂贵Ø 同步效率:资源的同步和数据共享比整个进程的数据同步和共享要低一些。轻量级进程轻量级进程(LWP)是建立在内核之上并由内核支持的用户线程,它是内核线程的高度抽象,每一个轻量级进程都与一个特定的内核线程关联。内核线程只能由内核管理并像普通进程一样被调度。轻量级进程由clone()系统调用创建,参数是CLONE_VM,即与父进程是共享进程地址空间和系统资源。与普通进程区别:LWP只有一个最小的执行上下文和调度程序所需的统计信息。 Ø 处理器竞争:因与特定内核线程关联,因此可以在全系统范围内竞争处理器资源Ø 使用资源:与父进程共享进程地址空间Ø 调度:像普通进程一样调度用户线程用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁全又库函数在用户空间完成,不需要内核的帮助。因此这种线程是极其低消耗和高效的。Ø 处理器竞争:单纯的用户线程是建立在用户空间,其对内核是透明的,因此其所属进程单独参与处理器的竞争,而进程的所有线程参与竞争该进程的资源。Ø 使用资源:与所属进程共享进程地址空间和系统资源。Ø 调度:由在用户空间实现的线程库,在所属进程内进行调度
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(6032) | 评论(0) | 转发(9) |
0
上一篇:LINUX内核经典面试题
下一篇:linux静态链接库和动态链接库简单使用
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
什么是shell
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
表现在数据结构上:线程的mm=null或者与其他线程共享,而进程有独立的mm_struct。
内核线程内核线程只运行在内核态,不受用户态上下文的拖累。 Ø 处理器竞争:可以在全系统范围内竞争处理器资源;Ø 使用资源:唯一使用的资源是内核栈和上下文切换时保持寄存器的空间Ø 调度:调度的开销可能和进程自身差不多昂贵Ø 同步效率:资源的同步和数据共享比整个进程的数据同步和共享要低一些。轻量级进程轻量级进程(LWP)是建立在内核之上并由内核支持的用户线程,它是内核线程的高度抽象,每一个轻量级进程都与一个特定的内核线程关联。内核线程只能由内核管理并像普通进程一样被调度。轻量级进程由clone()系统调用创建,参数是CLONE_VM,即与父进程是共享进程地址空间和系统资源。与普通进程区别:LWP只有一个最小的执行上下文和调度程序所需的统计信息。 Ø 处理器竞争:因与特定内核线程关联,因此可以在全系统范围内竞争处理器资源Ø 使用资源:与父进程共享进程地址空间Ø 调度:像普通进程一样调度用户线程用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁全又库函数在用户空间完成,不需要内核的帮助。因此这种线程是极其低消耗和高效的。Ø 处理器竞争:单纯的用户线程是建立在用户空间,其对内核是透明的,因此其所属进程单独参与处理器的竞争,而进程的所有线程参与竞争该进程的资源。Ø 使用资源:与所属进程共享进程地址空间和系统资源。Ø 调度:由在用户空间实现的线程库,在所属进程内进行调度
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(6032) | 评论(0) | 转发(9) |
0
上一篇:LINUX内核经典面试题
下一篇:linux静态链接库和动态链接库简单使用
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
什么是shell
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- linux 内核线程与普通进程的区别
- linux系统的内核进程/用户进程和轻量级进程区别与联系
- inux 轻量级进程与普通进程的区别
- 转载只为记录经典之<轻量级进程和普通进程以及线程之间的区别>
- linux 0号进程 1号进程 区别
- linux 0号进程 1号进程 区别
- Linux中关于进程方面常用函数的区别
- linux 下 进程和线程的区别(baidu 面试)
- linux 0号进程 1号进程 区别(转)
- linux下进程和线程的区别
- Linux进程状态与实时操作系统进程状态区别
- Linux 0号进程和1号进程区别
- linux 0号进程 1号进程 区别
- 关于普通Linux定制版和LFS定制版的区别
- Linux进程状态与实时操作系统进程状态区别
- linux进程创建过程与原理 & linux进程创建:fork、vfork和clone联系与区别
- Linux 进程栈和线程栈的区别
- 进程,轻量级进程,内核线程,用户线程的区别关系
- Linux下普通用户获取端口与进程ID的关联
- linux 0号进程 1号进程 区别(转)