进程的基本概念

发布于 2023-04-14 21:22:51 字数 834 浏览 97 评论 0

进程的基本概念

进程其实就是对正在运行的程序过程的抽象。(a new level of abstraction)。

本质上说进程是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。

Linux 进程结构:可由三部分组成:代码段、数据段、堆栈段。 也就是程序、数据、进程控制块 PCB(Process Control Block)组成。 进程控制块是进程存在的惟一标识,系统通过 PCB 的存在而感知进程的存在。

进程是资源分配的最小单位,线程是 CPU 调度的最小单位。 线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。 由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度, 从而显著提高系统资源的利用率和吞吐量

进程和线程的区别

大的方向上:

  • 进程是资源分配的独立单位
  • 线程是资源调度的独立单位

我们只讨论有线程的系统,不考虑无线程系统

具体来说,有以下几个方面:

  1. 地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
  2. 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
  3. 调度和切换:线程上下文切换比进程上下文切换要快得多。
  4. 在多线程 OS 中,进程不是一个可执行的实体。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

巴黎夜雨

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

束缚m

文章 0 评论 0

alipaysp_VP2a8Q4rgx

文章 0 评论 0

α

文章 0 评论 0

一口甜

文章 0 评论 0

厌味

文章 0 评论 0

转身泪倾城

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文