一、概念
进程,指正在运行的程序,代表了程序所占用的内存区域。
其特点包括以下几个:
1、独立性:
进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个资源都拥有自己私有的地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。
2、动态性:
进程与程序的区别在于,程序是一个动态的指令集合,而进程是一个正在系统中活动的指令集合。进程具备自己的生命周期和不同的状态,而程序不存在此类概念。
3、并发性:
多个进程,可以在单个处理器上并发执行,多个进程之间不会相互影响。
二、CPU的分时调度
时间片:
时间片,是CPU分配给各个程序的时间,每个进程被分配一个时间段称作它的时间片。时间片是该进程允许运行的时间,使各个程序从表面上看都是同时运行的。
如果时间片结束时,进程还在运行,则CPU会剥夺该时间片并分配给另一个进程,将当前进程挂起。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换而不会造成CPU资源浪费。当又换到之前执行的程序时,把现场恢复,继续执行。
看到这里,大家可以结合实际电脑运行情况,得出这么个结论:
·从宏观上看:我们可以同时打开多个应用程序(比如你打开了QQ、QQ音乐、视频播放器、浏览器网页等等),此时,每个程序进入并行状态,即同时运行。
·在微观上看:如果只有一个单核CPU,一次只能处理程序要求的一部分,如何公平处理,一种方法就是引入时间片,令每个程序轮流执行,另一种,则时提高CPU核心数量,多核同时运行提高并发能力。
注:CPU一般只有一个,CPU内置物理的CPU核心,每个程序的运行,会分配一个CPU核心,也就意味着,单核CPU -- 只能同时运行一个程序,多核同时运行多个(4核、8核等)。