我正在使用高尔文(第9版)的教科书讨论操作系统的主题。关于多线程的第4章中,我遇到了问题14,如下所示:多处理器和多线程 - 操作系统
具有两个双核处理器的系统有四个可用于调度的处理器。这个系统上运行着一个CPU密集型应用程序。所有输入都在程序启动时执行,当一个文件必须打开时。同样,所有输出都在程序结束之前执行,此时程序结果必须写入单个文件。在启动和终止之间,程序完全受CPU限制。您的任务是通过多线程处理来提高此应用程序的性能。应用程序在使用一对一线程模型(每个用户线程映射到内核线程)的系统上运行。
•您将创建多少个线程来执行输入和输出?说明。 •您将为应用程序的CPU密集部分创建多少个线程?说明。
对于第一部分,我认为我们可以创建4个线程用于从文件读取输入以及将输出写入文件。这是因为在输入或输出期间,不会更新正在执行的数据。
对于第二部分,对数据执行操作的性质是未知的,例如,(1)要打印数据的平均值还是(2)打印第一个数据的平均值和最后的数据点,然后打印第二和第二个最后的数据点的平均值,依此类推。
因此,对于第二部分,可以使用一个线程来处理操作。
但我不太确定我给出的答案是否正确。所以,如果你能让我知道正确的答案,我将非常感激。
我从来没有读过高尔文的书,但从这里提出的问题来看,它必须是完全的卡卡。问题中没有足够的信息来给出正确的答案。 – user3344003
我遇到了问题,贴出了完全相同的问题,也写了我认为应该是答案并要求更正的问题。我不明白为什么它应该邀请降价? :( – Neha