• Linux——进程的四大特性


    一.进程的四大特性:

    竞争性、独立性、并行性、并发性。

    1.竞争性:

            系统进程数码众多,而CPU的资源只有固定的那些,很少,比如说CPU,一般情况下CPU只有一个,所以进程之间是具有竞争属性的。为了高效的完成任务,更合理竞争相关的资源,便具有了优先级。

    2.独立性:

            多进程运行,需要独享各种资源,多进程运行期间互不干扰。

           之前我介绍了进程的僵尸状态,回顾一下:僵尸状态是某进程A运行后,fork创建了子进程,子进程运行了一会就退出了,而进程A的子进程成为了僵尸状态,但父进程仍在happy的执行着,没有收到半点影响,所以说子进程的退出并不影响父进程的执行,多进程的运行期间互不干扰!

    3.并行性:

            多个进程在多个CPU下分别同时运行,这就称之为并行。

    我们的笔记本电脑只有一个CPU,就只能同时进行一个进程的运行

            注:这里说的运行,并不是之前讲进程状态那部分内容说的“进程处在CPU的运行队列”,而说的是该进程正在被CPU做运行处理!

    4.并发性:

            多个进程在一个CPU下采用进程切换的方式运行,即在一段时间之内,让多个进程都得以推进,称之为并发。

    例:并发就是指我们在刷抖音的同时还能继续回复微信的消息。

            深入理解就是说:当两个甚至多个进程被执行后,抖音进程被CPU拿去运行处理,这时微信进程在运行队列的队首等待着,因为CPU的运行速度相当之快,是以纳秒为单位进行处理,所以CPU会处理数毫秒就会换到下一个微信进程处理,而这个抖音进程会被操作系统放到运行队列的队尾,等待着下一次CPU对它的运行处理,CPU处理一个进程几毫秒就会换下一个进程处理,是一瞬间的事情,所以在我们的感觉看来其实就像是它们在并发执行一样。即物理结构上是串行执行,在逻辑结构上是并行执行。

            就好比医生给病人看病,给第一个病人A看完后,让他去抽血化验拍CT,医生总不能等到病人A把结果拿回来才继续工作吧,很浪费时间,于是趁着病人A去做化验,医生继续给病人B,病人C看病,等到给病人D看病时,病人A拿着化验报告单回来了,于是医生先给病人A继续看病,根据他的报告开药方,让他去一楼买药,医生继续给病人D看病......周而复始,医生就相当于是CPU,给病人看病的过程是时间片轮转,进程切换。

     

  • 相关阅读:
    电商网站运营的 7 大关键指标
    golang学习笔记——接口interfaces
    沉睡者 - 现在的人为什么不好好工作,都想着「搞点副业」?
    java-net-php-python-springboot天山雪豹足球俱乐部信息管理系统计算机毕业设计程序
    攻防千层饼
    IDEA操作Sharding-JDBC实战1
    我赌你不懂系列:啥是序列化
    Prometheus监控案例
    软件测试|PO设计模式在 UI 自动化中的实践
    学习笔记-Secure-Win
  • 原文地址:https://blog.csdn.net/weixin_69283129/article/details/130899554