具有两个双核处理器的系统有四个处理器线程数

问题描述 投票:0回答:1

当我阅读《Operating System Concepts by Abraham Silberschatz - 第 10 版》一书时,我发现了一个有关第 4 章练习第 16 号的问题。我试图找出该问题的答案,但我发现所有在线资源都代表另一个答案。

我的回答:对于问题的第二部分:我们最多有 8 个线程,因为每个双核有 4 个处理器,所以总共有 8 个核心。而且,我们可以创建与处理核心一样多的线程。由于工作系统是问题中所述的一对一模型,用户级线程映射到内核级线程,因此,我们可以在多个处理器上调度每个线程,而不仅仅是一个处理器。

我想知道这个问题的答案,因为我对网上的答案感到非常困惑,因为网上的答案表明线程只有 4 个。

问题: 具有两个双核处理器的系统有四个可用于调度的处理器。该系统上正在运行 CPU 密集型应用程序。当必须打开单个文件时,所有输入都在程序启动时执行。类似地,所有输出都在程序终止之前执行,此时程序结果必须写入单个文件。在启动和终止之间,程序完全受 CPU 限制。您的任务是通过多线程来提高该应用程序的性能。该应用程序在使用一对一线程模型(每个用户线程映射到一个内核线程)的系统上运行。 • 您将创建多少个线程来执行输入和输出?解释。 • 您将为应用程序的CPU 密集型部分创建多少个线程?解释一下。

multithreading operating-system multiprocessing
1个回答
0
投票

i) 只有创建与阻塞系统调用一样多的线程才有意义, 因为线程将被阻塞。创建额外的线程不会提供
益处。因此,创建单个线程用于输入和单个线程是有意义的 输出线程。

ii) 四。线程的数量应该与处理核心的数量一样多。 更少会浪费处理资源,任何数量 > 4 都会 无法运行。

© www.soinside.com 2019 - 2024. All rights reserved.