程序和进程
简介
本章摘取多本OS教科书中片段,重新组合
程序
程序实际上就是一堆指令和数据的集合,这个集合反映了在一个静态可执行文件和相关的配置文件等。或者换一个说法。
程序指的是由若干函数组成的可执行文件,而进程指的是特定程序的一个实例。
进程(Process)
进程是程序执行的基本单位,一个进程是特定程序的一个实例。进程是对硬件所提供的资源进行操作的基本单元,也是顺序执行其实例化程序的基本单位。
或者可以把它看作充分描述程序已经执行到何种程度的数据结构的汇集。
进程类似于人类:他们被产生,有或多或少有效的生命,可以产生一个或多个子进程,最终都要死亡。一个微小的差异是进程之间没有性别差异。-----每个进程都只有一个父亲。
- 术语: 进程(Process)
- 定义:进程是程序执行是的一个实例
多进程
操作系统(Operating System)可以运行多个程序,cpu执行速度很快,而待运行程序很多,操作系统为了运行多个程序,操作系统会把cpu的一段时间分成很多片段,假如现在将cpu未来工作的1秒分给5个进程,第一个进程分配0.2秒,第二个进程分配0.1秒,第三个进程配分0.3秒,第四个进程分配0.1秒,第五个进程分配0.3秒,进程执行顺序是按优先级先后执行,而进程优先级由操作系统的调度程序分配。在这一秒的时间中五个进程都执行完毕,对我们而言好似是同时执行的,然后并不是我们所想的那样,实际上是在不同的时间点执行的(这是在单核cpu上执行多进程的概念)。
如果在4核cpu上,就可以在同一时间点执行4个进程或线程。6核心8核心12核心cpu同样如此。
事实上,每个进程都有一个生命周期:进程被创建后,将存活一段不定长的时间,再次期间,它将经历各种状态的改变,直到最后消亡。