用户级线程必须映射到内核级线程的原因探究

用户级线程

用户级线程就是由应用程序所支持的线程实现。用户级线程对用户不透明(用户看得到),而对操作系统透明(操作系统看不到)。这是它最重要的特点。


在只有用户级线程的系统内,时间片分配以进程为单位。

内核级线程

内核级线程的管理工作由操作系统内核完成。可以这样理解:内核级线程就是从操作系统内核视角能看到的线程(看不到用户级线程)。

二者建立映射的原因

首先,用户级线程和内核级线程能够建立映射的条件是:系统要同时支持用户级线程和内核级线程。


书本上对于为何二者要建立映射的原因没有进行探讨。实际上,探索这背后的原因之前我们要明确一个概念,即:

只有内核级线程才是处理机分配的单位


我们这样考虑:用户级线程本身只是一堆数据用户程序,位于用户空间。内核级线程是系统中“真正”的线程,因此对于用户级线程来说,用户程序运行用户级线程,必须要通过映射到内核级线程后,在内核级线程上运行它。


在这里插入图片描述


如图所示,线程库调度器从某进程的多个用户级线程中选择一个线程,然后该线程和该进程允许的一个内核线程关联起来。内核线程将被操作系统调度器指派到处理器内核。

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值