我发现Linux和Windows都安排线程,而不是进程。
所以我不明白为什么我们还叫它“进程调度”。我们不应该叫它线程调度吗?为同一进程的线程共享内存的想法似乎是在实际运行线程时必须处理的一个技术问题(我们可以假设同一个进程的两个线程是一个共享内存的2个线程进程)。
是否有任何操作系统计划进程,当进程运行时,特别决定如何运行它的线程?
发布于 2014-08-11 06:15:50
OS计划的线程是一个相对较新的特性。不久前,Unix上单独的执行路径意味着创建一个全新的进程。所以有历史阻力。
一些系统(Unix变体,VMS)调度进程,而不是线程。在实时操作系统中,进程调度很可能仍然是可行的。
发布于 2014-08-12 03:48:17
在进程调度中,对每个进程分配的资源是不同的,假设您创建了2个进程,那么每个进程将获得自己的资源(文件缓冲区、i/o文件、CPU控制等)。在这种情况下,当调度完成时,时间就被浪费了。当第一进程被调用时,当第二进程被调用时,资源被分配给该进程,然后资源被分配到该进程,因此资源被单独地分配给每个进程,并且在调度期间上下文切换时间也增加。线程基本上是一个小的进程单位。因此一个进程可以有多个线程。但是在这里,资源是在不同的线程之间共享的,因为它们是进程的一部分,所以多任务处理是可用的,而且上下文切换时间也更短。
https://stackoverflow.com/questions/25228642
复制相似问题