目录

https://blog.csdn.net/weixin_45792450/article/details/109314765


由CPU并行引发的思考

现代计算机CPU是并行执行程序的,本质上宏观上并行,微观上串行

比如有A,B两个程序在并行执行,将CPU的1s时间平均分为一万份时间片,并排上序号0,1,2…,9999.在序号为偶数的时间片执行A,序号为奇数的时间片执行B,由于1s的万分之一特别短,以致出现了在宏观上感觉A和B在并行执行。

程序指令在CPU中执行,会使用CPU中的寄存器保存一些状态变量。那么,这引出了一个问题:怎样将在CPU状态下执行的A换成B或者B换成A呢?直接转换肯定不行,CPU中的寄存器数据会混乱。不止寄存器,还有一些CPU状态可能也会混乱。

很显然,需要记录A,B的CPU执行状态和其他的一些关键参数(比如CPU里面寄存器的内容等等,这些数据很可能换一个对象执行时会被污染),这叫保护现场。对应恢复程序原先执行环境参数的过程叫恢复现场,它们是协调工作的。

引入进程控制块PCB(Process Control Block)的数据结构,用于记录CPU再次执行A或B时需要的‘现场’。而上面的A,B是两个进程,两个独立执行的单位。

在上面例子中,A有一个PCB,B也有一个PCB。


进程概念的理解

进程 = 程序 + 数据 + 进程控制块PCB

它是程序一次运行的活动,是运行起来的程序。程序开始运行,相应进程创建;程序运行结束,相应进程销毁。

程序 作业 进程

程序:放在外存中的程序代码

作业:正准备从外存调入内存的程序

进程:正在从内存中运行的程序

一个理解进程鲜活的例子

进程管理 进程的概念


# 进程与程序的区别

进程管理 进程的概念

相关文章: