一、一些必要的前置知识

目录

一、一些必要的前置知识

1.进程(Process)

2.中央处理器(Central Processing Uni)

3.并行执行与并发执行

4.进程控制块(Processing Control Block)

二、进程调度

1.进程状态

2.进程优先级

3.进程上下文

4.进程记账信息


1.进程(Process)

我们的系统中有很多程序,占用大量的磁盘空间,但那不重要,并不会影响我们的系统运行速度,(对于磁盘空间满了的这种极端情况,可能会因为占用了交换空间导致内存不足)其原因就是因为这些程序并不占用内存,启用这些程序之后才会占用,比如这些:

process调节作用怎么分析_java

2.中央处理器(Central Processing Uni)

负责执行各种指令,就是这个东西让程序运行了起来,这也是电脑中最核心的存在。当前市面上售卖的电脑基本上只有一个多核心的cpu,究其原因就是因为cpu的造价太贵,不如搞多核心。

3.并行执行与并发执行

用户一般会同时运行好几个程序,打开后台管理器更是密密麻麻一堆进程,就凭电脑几个处理器一对一的运行显然不行,为了营造各程序同时运行的效果,cpu主要采取并行执行与并发执行的方式。

并行执行:n个核心同时运行n个进程

并发执行:一个cpu核心在一定时间内先运行进程1,在运行进程2.......(可以理解为cpu核心在极短时间内,趁着程序没反应过来,在多个进程间反复横跳,从而达到同时运行的效果,劳模啊,泪目了o(TヘTo) )

4.进程控制块(Processing Control Block)

为了管理众多进程,所以给每个进程发了“身份证”,主要用来记录进程信息:pid(进程身份标识,不能重复),内存指针,文件描述符表,进程状态进程优先级进程上下文进程记账信息。后四个就是进程调配的主要参考信息。

二、进程调度

为了使几个cpu核心能够同时处理上百个进程,就往往要使用并行与并发结合的方式。对于并发执行,既然只能一对一的处理,那就必须面对时间多寡的问题,这时候就需要进程调度。

1.进程状态

进程分文就绪状态与阻塞状态,就绪状态的进程参与进程调配,而阻塞状态则不参与

2.进程优先级

有些进程数据量大,即时性强,就需要多分配一些时间,但有些没那么紧迫的就可以少分配一些时间。

3.进程上下文

当进程这次运行结束后,就需要记录当前的数据,留待下次使用。(相当于游戏打一半先存个档,下次读档接着玩(^-^)V)

4.进程记账信息

记录每个进程运行的时间,防止在当前调配中进程分配到cpu时间太少。(给一个保底~ヾ(≧▽≦*)o)

有了这些信息,根据不同操作系统的进程调度算法就可以完成进程调度了。

(看完是不是对自己的cpu更有信心了,就可以更放心的压榨性能了呢(๑•̀ㅂ•́)و✧)