进程

什么是进程###

一个程序可以看作是一个进程
进程的概念是伴随着多任务系统而产生的
每个进程都占用一定的系统硬件资源
多个程序同时执行需要操作系统对这些进程进行合理的资源调度
进程不仅仅是文本段,它还包括活动的一些东西,比如程序计数器、处理器寄存器、堆栈、数据段等等。
对于一个完整的程序,在内存中分布情况如下图:

内存中进程.gif

两个进程可以与同一个程序(文本)有关,比如打开两个chrome,他们的文本相同,但数据段、堆、栈不同

进程状态###

进程可以分为5个状态:
(1)开始:进程开始创建
(2)就绪:等待进程调度算法分配就可以执行了
(3)运行:正在执行代码
(4)等待:等待IO等信号
(5)结束:进程被杀死

进程状态转换

进程控制块###

Process Control Block(PCB)
包含与一个进程相关的各种信息

PCB

进程状态:运行、就绪、等待等等
程序计数器:下一条要执行的指令地址
CPU寄存器:各种程序运行过程中数据信息
CPU调度信息:该进程的优先级等等
内存管理信息:所处内存基址、页表等等
记账信息:CPU时间、进程数量等信息
IO状态信息:分配的IO设备、文件等等

所以两个进程在CPU中切换时需要把被切换的进程PCB保存,同时把要执行的进程PCB加载,如下图所示:

进程切换

进程调度###

多进程好处在于使CPU一直busy,她累了我们就舒服了。想象一下以前只有一个进程能执行的时候,当进程处于等待IO时CPU就完全不干事,我们就会觉得电脑卡顿;而现在当一个进程处于等待IO时我们可以先把其挂起(等待),让CPU先运行其他进程,而当IO就绪后我们再把这个进程PCB拿回来继续执行,这样可以大大提高CPU使用率。
单处理器一次只能运行一个进程,进程调度即把一群处于就绪状态的进程选择出来一个放到CPU中执行的过程,其他要等CPU空闲下来后再被选中执行。

进程操作###

委婉

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,172评论 0 23
  • 进程的描述与控制 1.前趋图与程序执行1.1 前趋图介绍:描述程序先后执行顺序,又称为有向无循环图,可记为DAG(...
    孙梦翔阅读 733评论 0 1
  • 11.1进程的概念 进程的定义 进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程 精髓:正在执...
    龟龟51阅读 493评论 0 1
  • 1 进程介绍 1.1 进程和程序 所谓进程是由正文段(text)、用户数据段(user segment)以及系统数...
    疯狂小王子阅读 1,257评论 0 7
  • 今天和邵姐联系工作问题,她特别鼓励学习。非常热衷公司员工敢闯敢拼的劲。遇到她很幸运。让我更深刻近距离的体会,活到老...
    红颜江山阅读 298评论 0 0