将大量用户线程与内核级线程相关联究竟意味着什么?

时间:2015-08-12 15:17:56

标签: multithreading process scheduling

我正在阅读高尔文的操作系统概念。在那里声明用户级线程和内核级别之间必然存在某种关系,然后他们解释了广泛使用的所有类型的关系。但他们没有明确提到什么是“联想”。 从他们使用该术语的上下文中,我猜想一组线程可以进行的并发系统调用(可能都属于特定进程)。我猜是正确的吗? 通过将用户级线程与内核级线程相关联,我们将实现什么目标?

1 个答案:

答案 0 :(得分:0)

您指的是多线程模型"多线程模型"在"线程"章?

如果是这样,那么很快就会解释:

线程由OS(内核)管理,或者由非内核进程模拟。今天,(本机)程序中的线程恰好对应于一个内核管理的线程。这些线程是OS已知的,可以根据需要由OS的调度程序进行调度。

有些程序选择自己实现类似线程的功能。其中一个突出的例子是Python解释器:虽然Python语言提供了对多线程的支持,但解释器只能运行单个OS /内核线程,并且会注意在不同Python线程本身的代码之间切换执行;那是多对一的"多对一"映射:在单个OS线程上运行多个Python线程。早期版本的Java VM做了类似的仿真,但我似乎无法记住它是否是"多对一"或者"多对多"风格。