【发布时间】:2021-03-15 20:34:24
【问题描述】:
我想知道将线程安排在 LWP 上运行究竟意味着什么。我无法正确可视化进程计划在 CPU 上运行时发生的步骤顺序,因为在高级视图中解释了很多概念。以下是导致很多头疼的段落;它来自操作系统概念,第 10 版,作者是 Abraham Silberschatz。
用户级线程和内核级线程之间的一个区别在于它们如何 被预定。关于实现多对一的系统(第 4.3.1 节) 和多对多(第 4.3.3 节)模型,线程库调度用户 在可用 LWP 上运行的级别线程。该方案被称为过程- 争用范围 ( PCS ),因为 CPU 的竞争发生在 属于同一进程的线程。 (当我们说线程库将用户线程调度到可用的 LWP 上时,我们并不是说线程是 实际在 CPU 上运行,因为这进一步要求操作系统 将 LWP 的内核线程调度到物理 CPU 内核上。)
我无法完全理解 LWP 的必要性和重要性。
【问题讨论】:
标签: multithreading operating-system scheduling