计算机与操作系统:进程

   操作系统中最核心的概念是进程,进程是对正在进行的程序的抽象。因为有了进程这个概念的存在,才让cpu有了(伪)并发操作的能力。

  在任何多道程序设计系统中,cpu在多个进程中不断的切换,每个进程执行几十至几百毫秒。严格来说,在某一个瞬间,cpu只能运行一个进程,而在1秒内,它可能运行多个进程,这就给人了一种进程在并行运行的错觉,以上是指单cpu情况下的伪并行,多cpu计算机(多处理器系统)是可以实现真正意义上的进程并行操作的。

  在进程模型中,计算机中所有可运行的软件,包括操作系统,被组织成若干顺序进程,简称为进程,进程就是一个正在运行的程序的实例,它包括逻辑上的程序计数器(实际上每个cpu只有一个程序计数器),寄存器和变量的当前值。从概念上来说,每一个进程都有自己虚拟的逻辑cpu,实际上真正的cpu在各个进程间来回切换,这种快速的切换叫做多道程序设计。

  

  进程和程序间的区别是微妙的,想象有一位科学家正在为女儿烘制蛋糕,做蛋糕的食谱就是程序,科学家就是处理器(cpu),做蛋糕的各种原料就是输入数据,进程就是科学家阅读食谱,取来各种原料以及烘制蛋糕等一系列动作的总和。假设这时科学家的儿子哭着跑了进来,说他的手被蜜蜂蛰了,科学家就记录下他照着菜谱做的哪了(保存进程的当前状态),然后拿出一本急救手册,按照其中的指示处理蜇伤。这里处理器从一个进程(做蛋糕)切换到一个高优先级的进程(实施救治),每个进程都拥有各自的程序(食谱和急救手册),当处理完蜇伤后,科学家又回来做蛋糕,从他离开时的那一步继续做下去。

  这里的关键思想是:一个进程是某种类型的一个活动,它有程序/输入/输出及状态。单个处理器可以被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转而为另一个进程提供服务。

 

posted @ 2021-11-19 00:18  唐磊(Jason)  阅读(178)  评论(0编辑  收藏  举报