进程、fork创建、PID获取

PCB(进程控制块)进程标识符PID, 从cpu获得时间片,就会从就绪状态R转换成运行状态R

包含的信息比上述包含的多得多… 一个内存页4096字节 虚拟内存实际映射到物理内存时只有一点点的内存,需要时会申请内存 进程和程序: 并行和并发的区别: 多个处理器才叫并行,单个处理器在短时间内轮换执行叫并发!

内存管理单元: 进程控制块: Linux内核源文件:(很长 只截取一部分) 这个结构体中有很多的变量: 进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。 在三态模型中,进程状态分为三个基本状态,即运行态,就绪态,阻塞态。 在五态模型中,进程分为新建态、终止态,运行态,就绪态,阻塞态。

  1. fork()之后处于就绪态(所有都储备好了,就差CPU调度),cpu调度后就变为运行态。优先级高的越先被调度。
  2. 子进程挂了,父进程没有替他收尸,就成了僵尸进程。
  3. 运行态接收到信号(内核发送的)就到了停止态,被唤醒后就到就绪态,再到运行态
  4. 运行后未申请到资源,就成为了不可中断等待态/可中断等待态。 查看进程状态命令
ps aux

ps:

top命令: kill: -9代表强制结束 Linux中可以存在名字相同的进程:(但是PID不一样) killall: 一次性杀死全部同名的进程

经验分享 程序员 微信小程序 职场和发展