进程映像和多线程进程映像的区别
1. 进程映像:
进程映像是任何进程执行期间都需要的可执行文件。它由与流程执行相关的几个部分组成。
以下是过程映像的内容 —
1. 过程控制块
2. 堆栈
3. 数据
4. 代码
2.多线程进程映像:
多线程进程映像是任何线程执行期间都需要的可执行文件。它由与线程执行相关的几个部分组成。
以下是多线程进程映像的内容—
1. 过程控制块
2. 线程控制块
3. 堆栈
4. 数据
5. 代码
进程映像和多线程进程映像的区别:
进程映像 | 多线程进程映像 |
---|---|
进程映像是进程执行期间所需的可执行文件。 | 多线程进程映像是线程执行期间需要的可执行文件。 |
进程映像由总共四个部分组成。 | 多线程进程映像由每个线程的 2 个段和 3 个公共段组成。 |
创建过程映像需要更多时间。 | 创建单线程映像需要更少的时间。 |
在两个过程映像之间切换需要更多时间。 | 在两个线程图像之间切换需要更少的时间。 |
不同的进程共享不同的内存和不同的图像。 | 多线程进程映像中的公共地址空间由所有线程共享。 |
进程映像使用了用户地址空间。 | 多线程进程映像使用公共地址空间。 |
过程映像之间的通信很困难。 | 两个线程映像之间的通信很简单。 |
过程映像中使用单个控制块。 | 一个控制块用于父进程,一个控制块用于线程。 |