当前位置: 首页 > news >正文

27、Solaris 多线程进程架构与内核调度器详解

Solaris 多线程进程架构与内核调度器详解

1. 用户级线程执行与 LWP 关系

用户级线程的执行依赖于轻量级进程(LWP)或内核线程(kthread),由线程库中的调度线程负责将用户线程调度到 LWP 上。用户线程有自己的优先级方案和线程库调度器,线程库调度器和内核调度器在架构上有诸多相似之处。线程创建时无需绑定到 LWP,多线程程序中常将多个未绑定线程调度到较少的 LWP 池上。确定 LWP 与用户线程的最佳比例并非易事,LWP 过多会增加内核管理负担,过少则会使可运行的用户线程等待 LWP,降低整体执行效率。

可通过thr_setconcurrency(3T)接口向操作系统提供应分配给进程的 LWP 数量提示。也可在thr_create(3T)调用中使用THR_NEW_LWP标志创建 LWP,并使用THR_BOUND标志将用户线程绑定到 LWP。

2. 会话与进程组
2.1 进程组
  • 进程组的归属:每个进程都属于一个进程组,由进程结构中的p_pgidp指针标识,在进程创建时由内核的fork代码建立。默认情况下,同一父子/兄弟链中的进程属于同一进程组。进程组 ID(PGID)是进程组领导者的进程 PID,即每个进程组都有一个进程组领导者,其 PID 和 PGID 相同,兄弟进程会被分配父进程的 PGID。
  • 进程组的创建
http://www.cnnetsun.cn/news/120636.html

相关文章:

  • 19、Linux内核模块安装与打印服务器配置全解析
  • 18、Kubernetes 监控与日志管理:从基础到实战
  • KH Coder终极指南:免费开源文本分析工具快速上手
  • 7、Linux桌面环境全解析:选择与使用指南
  • MCA Selector:Minecraft世界区块管理的终极解决方案
  • 5个必学的动态图标状态管理技巧:让你的界面活起来
  • RK3568设备Armbian服务器改造全攻略:从闲置电视盒子到高性能服务器
  • AssetStudio深度解析:解锁Unity资源提取的专业工具
  • Windows包管理器Winget快速部署全攻略
  • Kotaemon框架的测试驱动开发实践
  • 7、VMware使用指南:功能特性与操作详解
  • 8、VMware虚拟机硬件配置与操作指南
  • 13、VMware 中 Linux 客户操作系统的使用与配置
  • 14、Linux 系统下 VMware 的使用指南
  • Day 1:Git入门避坑:新手3步搞定首次提交
  • 3、开启 Linux 世界之旅:成为企鹅爱好者
  • 20、量子计算中的博弈与搜索算法
  • EmotiVoice结合大模型打造拟人化对话系统
  • Vue 项目路由 + Layout 的最佳实践
  • 11、量子电路的架构感知分解
  • Kotaemon能否扛住高并发?压力测试数据来了
  • Kotaemon支持的多种部署模式详解(本地/云/混合)
  • Kotaemon矿业安全规程问答机器人部署
  • Python大数据技术的基于Hadoop的健康饮食推荐系统的设计与实现_5578bn9k_yh025
  • 从文本到情感语音:EmotiVoice的技术实现路径
  • Kotaemon多租户支持能力曝光,适用于SaaS场景
  • EmotiVoice语音合成引擎的架构设计与原理剖析
  • 1、Linux API 与 Kylix 开发全解析
  • 3、深入探索Linux API:错误处理与特性对比
  • 17、深入理解Socket服务器的创建与应用