Python多任务编程,进程的创建,CPU时间片,PCB(进程控制块),进程的状态,进程优先级/特征【Python笔记】

Python多任务编程,进程的创建,CPU时间片,PCB(进程控制块),进程的状态,进程优先级/特征【Python笔记】

多任务编程

意义:充分利用计算机的资源提高程序的运行效率

定义:通过应用程序利用计算机的多个核心达到同时执行多个任务的目的,一次提高计算机运行效率

实施方案:多进程   多线程

并行:多个计算机核心在同时处理多个任务,这时多个任务间是并行关系。

并发:同时处理多个任务,内核在多个任务间不断的切换,达到好像都在处理运行的效果。但实际一个时间点内核只能处理其中一个任务。

程序:是一个可执行的文件,是静态的占有磁盘空间,不占有计算机的运行资源

进程:进程是一个动态过程的描述,占有计算机的资源,有一定的生命周期

同一个程序的不同运行过程是不同的进程,占用资源和生命周期都不一样

进程的创建流程

1.用户空间通过运行程序或者调用接口发起创建进程

2.操作系统接受用户请求,开始创建进程

3.操作系统分配计算机资源,确定进程状态,开辟进程空间等工作

4.操作系统将创建好的进程提供给应用程序使用

CPU时间片

如果一个进程占有计算机核心,称为该进程占有计算机CPU时间片

多个任务之间是争夺CPU的关系

谁占有CPU最终是操作系统决定的

PCB(进程控制块)

在内存中开辟的一块空间,用来记录进制的信息

进程控制块是操作系统查找识别进程的标志

进程信息:ps -aux

PID(process ID):在操作系统中每个进程都有一个唯一的ID号来区别于其他进程,ID号由操作系统自动分配,是一个大于0的整数

父子进程:在系统中除了初始化进程,每一个进程都有一个父进程,可能有0个或者多个子进程,由此形成父子进程关系。

查看进程树:pstree

查看父进程PID:ps -ajx

进程的状态

三态

就绪态:进程具备执行条件,等待系统分配资源

运行态:进程占有CPU,处于运行状态

等待态:进程暂时不具备执行条件,阻塞等待满足条件后再执行

五态(三态基础上增加新建态、终止态)

新建态:创建一个新的进程,获取资源的过程

终止态:进程执行结束,资源释放回收的过程

运行 ps -aux 的 STAT 代码代表的含义:

S 等待态 (可中断等待)

D 等待态 (不可中断等待)

T 等待态 (暂停状态)

R 运行态 (包含就绪态)

Z 僵尸进程

< 高优先级进程

N 优先级较低

l 有子进程的

s 会话组组长

+ 前台进程

进程优先级

作用:决定了一个进程的执行权限和占有资源的优先程度

查看进程优先级:

top: 动态查看系统中的进程信息,用 < > 翻页

取值范围 -20 - 19 -20 优先级最高

nice -优先级:设置进程优先级

如:nice -9 ./while.py  以9的优先级运行 while.py

    nice --9 ./while.py 以-9的优先级运行 while.py

进程特征

1.进程之间运行互不影响,各自独立运行

2.进程是操作系统资源分配的最小单位

3.每个进程空间独立,各自占有一定的虚拟内存


最后编辑于:2019/10/25作者: 牛逼PHP

发表评论