zoukankan      html  css  js  c++  java
  • 对Linux进程的理解

    在本科期间学习过进程,网上也有很多关于进程的知识,但对于进程到底是什么一直没有让我满意的解答(以下截图来自网络,感觉对进程理解有问题,说得也很虚)。

    但今天找到这个博文感觉挺符合我的胃口:http://blog.csdn.net/yuqiang_ee_android/article/details/16889257

    • 进程的本质

    进程是Linux内核提供的一个环境(资源分配的基本单位),包括:

    (1)进程控制块(用于操作系统对进程的管理)。

    (2)虚拟内存(分为好几段:正文段、数据段、BBS段、堆栈段等等)。

    (3)其他内核资源(打开的文件等等)。

    • 进程和可执行文件的关系

    前面说了,进程有正文段和数据段等,这些都是从磁盘上的可执行文件加载而来(可以通过size命令查看可执行文件分段信息)。

    所以:可执行程序为进程提供必要的代码和数据等。

    • 进程和线程的关系

    有很多关于 进程和线程的区别及联系 的文章,但大部分和我的理解不一样。以下是我的个人理解。

    (1)进程提供了环境,为谁提供?答案就是线程。进程提供资源,线程干活。

    (2)进程是资源分配的基本单位,线程是CPU调度的基本单位。(有人说线程是进程的实体,我不知该怎么理解)

    (3)进程创建后默认就有一个初始线程存在,以后在该进程中创建的线程都会共享进程提供的环境。

  • 相关阅读:
    JSON2 源代码
    C#冒泡排序详解
    SqlHelper 带详细中文注释
    js-cookie
    淘宝镜像(cnpm) 安装
    vue全局刷新
    webpack-npm安装-查看当前版本
    半环进度条
    Parameter 'name' implicitly has an 'any' type.
    vue3.0-如何切换路由-路由模式ts
  • 原文地址:https://www.cnblogs.com/Zkqq/p/6832386.html
Copyright © 2011-2022 走看看