轻量级重量级过程

use*_*142 5 multithreading process

关于上述问题,以下断言是否正确?

轻量级进程包含单个进程但包含多个线程

重量级进程可以包含多个子进程

我知道它还有更多,但我想知道这是否会成为对重量级和轻量级流程的一个非常基本的理解...

小智 6

操作系统(OS)下的正常进程是重量级进程。对于每个这样的进程,操作系统提供了一个独立的地址空间,这样可以将不同的用户和服务分开。从一个这样的过程切换到另一个过程是耗时的,尽管现代机器包含一个特殊的单元,内存管理单元 (MMU),专用于该任务。轻量级进程 (LWP),也称为线程,运行在普通(重量级)进程的地址空间下,并且同一进程下的 LWP 可以共享例如变量。从一个 LWP 切换到另一个 LWP 比从一个重量级进程切换到另一个要快得多,因为要管理的更少,而且不涉及 MMU。


Dav*_*nan 2

事实上我认为恰恰相反。 维基百科是这样说的:

在计算机操作系统中,轻量级进程(LWP)是实现多任务处理的一种手段。在该术语的传统含义中,如 Unix System V 和 Solaris 中所使用的,LWP 在单个内核线程之上的用户空间中运行,并与同一进程中的其他 LWP 共享其地址空间和系统资源。由线程库管理的多个用户级线程可以放置在一个或多个 LWP 之上 - 允许在用户级完成多任务处理,这可以带来一些性能优势。

因此,LWP 在同一进程内共享地址空间。换句话说,LWP 是一个子进程。