关于进程竞争性 独立性 并行 并发的理解

目录

CPU执行程序的过程

独立性

竞争性

并行

并发


CPU执行程序的过程

在介绍这些性质时候,我们先对CPU执行程序的过程做一个简要的说明。

CPU并不是将一个一个运行队列中的进程从头到尾运行的,而是根据时间片,由调度器来确定的。优先级是影响调度的一个因素。举个例子,优先级80,时间片10ms与优先级60,时间片10ms的进程。由于60优先级 的进程优先级更高,因此正在享受CPU调度的80优先级的进程,即使运行的时候时间片还没到,还是会被该进程抢占掉位置。

也有这种情况,一个进程正被放在CPU上运行,当他的时间片运行完了就被放到队伍的后面,即使此时这个进程还没有被运行完,但是由于时间片耗尽了,因此只能等待下次调度。

正在被调度的进程也可以主动让出CPU资源。

一个一个进程以相对固定的时间运行着,那么这样每个进程在对应时间段内都可以享受到CPU资源。也就提升了计算机的整体效用。

再者,如果一个一个进程是顺序执行的话,那么很容易被黑掉系统。黑客可以在一个进程上安装死循环相关的代码,由于是顺序执行的,所以只能一直处于死循环的这个状态。病毒也更容易被植入了。

关于上述进程之间如何完成切换工作的:被放到队伍尾部的进程,是如何再下次被调度的时候重新恢复数据?肯定将数据保存了下来,这个工作又是由谁做的。怎么做的?

CPU内有很多寄存器,宏观上分为两类:1可显寄存器:给用户进程所使用的。2不可显寄存器CPU内部自己维护的比如用户状态切换等,有状态标志位,局部调用描述符等。比如CPU内存在大量的通用寄存器主要用来完成函数调用,记录代码执行到某个位置,进程的栈空间起始和终止地方等信息。

CPU在执行进程A的时候,CPU内的寄存器内的数据用的是进程A拷贝下来的临时数据。这个临时数据叫做上下文数据。被保存在PCB中维护。进程A正在被运行,那么CPU的寄存器中一定保存进程A的临时数据。一旦数据被抹杀了,进程A就不能运行了。因为他记录了代码在哪存储,该进程运行的状态是什么,进程在哪里存储……一旦都被清理了,那进程就无用了。

CPU运行不是从头到尾依次运行的,进程正在运行期间,时间片段被抢占了,进程A被切走,B被放入,也就是说进程A暂时被切下来的时候,并不是把进程B的PCB直接放到CPU上去,进程A应该带走自己的上下文数据,以便于之后再次调度进程A的时候恢复之前的进度。这样就能按照之前的逻辑继续向后运行了。就如同没有被中断过一样。

CPU内的寄存器只有一份但是上下文数据可以有多份,他们分别对应不同的进程。

CPU内的寄存器,来回保存不同进程PCB中的上下文数据,来回切换。

独立性

在计算机工作的时候,我们有时候不止启动一个进程,通常情况下是有好几个进程同时在工作的。比如我可以一边挂着qq,一边挂着微信,另一边用腾讯会议来上课。实际上,有时候我们启动一个程序,可能就运行了几个进程,而且除了我们平时自己启动的这些进程,系统中也会有对应的进程的。

那么我们思考:这么多进程同时在我的电脑里跑着, 相互之间会影响吗?一个进程挂了会影响另外的一个进程吗?

不会的,因为他们在客户端是两个程序。

进程出问题,导致系统出问题的连锁反应除外。这时候可能整个操作系统都会崩溃。

即使是有父子关系的进程也是如此,比如父进程用fork创建一个子进程来完成任务,但是子进程即使任务失败了,也不会对父进程有影响。

也就是说,多个进程同时运行的时候,即使有时候资源共享,但是这些进程都是互相独立,互相不影响的。指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单元。

竞争性

为什么会有竞争性:系统中进程数目众多,CPU资源很少,所以操作系统需要先给特定的进程分配资源。比如优先级就是进程之间竞争性的一个体现。

并行

有同时多个进程被多个CPU调度运行,这种关系就叫做并行。

 

 

并发

并发是通过快速切换得来的。

多个进程在一个CPU下被调度运行。虽然任何一个时刻,只有一个进程在CPU上跑,但是在一个时间段内,进程得以推进,这种现象叫做并发。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值