• 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,给病人看病的过程是时间片轮转,进程切换。

     

  • 相关阅读:
    [附源码]JAVA毕业设计简易在线教学系统(系统+LW)
    十四、队列函数
    大数据ClickHouse进阶(十):ClickHouse的Array Join子句
    数据结构——栈,队列,及其结构特点应用。
    Python网络爬虫:使用Requests库精通网络请求
    移动零(力扣热题HOT100 之 力扣283)java
    结合Command以AOP方式实现事务
    Ant-Design-Pro使用QianKun微前端最佳实践
    Vue中如何进行多语言处理
    【LeetCode热题100】--543.二叉树的直径
  • 原文地址:https://blog.csdn.net/weixin_69283129/article/details/130899554