进程pid理解

Posted caihongmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程pid理解相关的知识,希望对你有一定的参考价值。

PID(Process Identification)操作系统里指进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程ID,即PID。
 
PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。
PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统随机分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。
含义
只要运行一程序,系统会自动分配一个标识。
是暂时唯一:进程中止后,这个号码就会被回收,并可能被分配给另一个新进程。
只要没有成功运行其他程序,这个PID会继续分配给当前要运行的程序。
如果成功运行一个程序,然后再运行别的程序时,系统会自动分配另一个PID。
是暂时唯一:进程中止后,这个号码就会被回收,并可能被分配给另一个新进程。
只要没有成功运行其他程序,这个PID会继续分配给当前要运行的程序。
如果成功运行一个程序,然后再运行别的程序时,系统会自动分配另一个PID。
 
操作系统中进程管理的基本原理 
  1)进程的三种基本状态 
 我们已经知道了进程实际是一个动态的概念,我们再回到分时系统的原理上。分时系统是给一个进程分配一个时间片,让这个进程执行,当进程时间片用完以后,为下一个进程分配时间片。当进程执行过程中发生阻塞,则主动让出CPU控制权,给其它进程执行的机会。   分析上面的过程,每一时刻只有一个进程处于执行的状态。而有多个进程处于等待分配时间片的状态,这多个进程应该遵循一定的顺序。事实上是存在于一个队列中。这种等待分配时间片的状态我们称为就绪状态,存放就绪进程的队列就称为就绪队列。当CPU处于空闲状态时,调度程序就会从就绪队列中取出一个进程并执行。当进程时间片用完后,调度信息就会把这个进程放入到就绪队列中。   除了时间片用完,当进程IO请求时,进程会在IO请求完毕之前无法继续执行,这类情况我们称为进程的阻塞(可能出现进程阻塞的有IO请求,申请缓冲空间等)。当出现进程阻塞后,调度程序应该怎么处理呢?首先进程肯定不能放入就绪态,因为放入就绪态就有可能被分配时间片,而此时进程不能继续执行,这就浪费了CPU资源。调度程序对其进行的处理是将其放到一个阻塞队列中,当IO完成时,再把它放回就绪队列等待分配时间片。   图1画出了进程就绪态,执行态和阻塞态的关系   
使用Toyix查看进程的三种状态 
Toyix是一个专门为操作系统的基础理论教学而编写的系统,通过这个系统可以很方便的模拟进程的创建执行过程。 
从Toyix网站(http://www.toyix.net/)下载系统并安装(具体安装方式请参考网站教程)  

转载:https://www.cnblogs.com/wangshuai6707/p/4430586.html













以上是关于进程pid理解的主要内容,如果未能解决你的问题,请参考以下文章

Linu创建回收进程forkexecwaitwaitpid函数的理解

关于pid_t和fork()的理解,linux tomcat mysql php安装

理解Linux的进程,线程,PID,LWP,TID,TGID

android uid 和 pid 的理解获取

namespace的理解

进程相关函数理解