【进程的概述】
1、程序和进程的区别(重要)程序 静态的 占磁盘空间
进程 动态的 (调度、执行、消亡),占内存空间。(进程是程序执行到结束间的这个过程)
2、单道和多道程序设计
1 单道程序设计 所有进程一个一个排队执行。若A阻塞,B只能等待,即使CPU处于空闲状态。
2 多道程序设计 在计算机内存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插的运行
3、并行和并发的区别(重要)
并行和并发 都是值多个任务同时执行。
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。(多核)
并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行(单核)
4、进程控制块(PCB)
进程运行时,内核为每个进程分配一个PCB(进程控制块),维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。
PCB存在于进程的内核空间里面。
系统会为每一个进程分配一个进程ID,其类型为pid_t(非负整数)
进程是系统分配资源的基本单位。
5、进程的状态
进程的状态:就绪态、执行态、等待态
就绪态:执行条件全部满足,等待CPU的执行调度
执行态:正在被CPU调度执行
等待态:不具备CPU调度执行的执行条件,等待条件满足。
查看进程的状态:ps -aux
stat中的参数意义如下:
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程S(大写) 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
N 低优先级
s 包含子进程
+ 位于前台的进程组
ps命令可以查看进程信息:
-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以便显示更多的信息
-r 只显示正在运行的进程以树状显示进程:pstree
网友评论