为什么进程调度不称为线程调度?

时间:2014-08-10 12:32:00

标签: multithreading process operating-system

我发现Linux和Windows都安排了线程,而不是进程。

Source

所以我不明白为什么我们称之为"进程安排"更多。我们不应该称它为线程调度吗?对同一进程的线程共享内存的想法似乎是在实际运行线程时必须要注意的技术性(我们可以假设同一进程的2个线程是共享内存的2个单线程进程)。

是否有任何操作系统可以安排进程以及何时运行进程,特别是决定如何运行其线程?

2 个答案:

答案 0 :(得分:2)

OS调度线程是一项相对较新的功能。就在不久之前,Unix上的单独执行路径意味着创建一个全新的流程。所以有历史阻力。

某些系统(Unix变体,VMS)调度进程,而不是线程。进程调度可能仍然是实时操作系统的一种方式。

答案 1 :(得分:1)

在进程调度中,资源以不同方式分配给每个进程,即假设您创建了2个进程,然后每个进程将获得自己的资源(文件缓冲区,I / O文件,CPU控制等)。在这种情况下,计划完成时浪费了时间。当调用第一个进程时,在调用第二个进程时将资源分配给该进程,然后将资源分配给该进程,以便将资源分别分配给每个进程,并且还在调度期间增加上下文切换时间。 线程基本上是一个小的过程单元。所以一个进程可以有很多线程。但是这里资源在不同线程之间共享,因为它们是进程的一部分,因此可以进行多任务处理,并且上下文切换时间也较少。