进程是操作系统分配资源的基础,线程是资源调度的基本单位。
进程有独立的内存空间,线程共享进程的内存空间。
纤程/协程:用户态的线程,调度和切换不需要经过操作系统
一般线程分配线程资源1M,协程占用资源4K。

进程:linux中也称为task,是操作系统资源分配基本单位
拥有独立的地址空间,内核数据结构,进程描述符,全局变量
进程描述符:PCB Process Control Block

线程:linux中就是一个普通的进程,只不过和其他进程共享资源
其他系统都有各自的LWP(Light Weight Process)实现,是一个进程的不同执行路径,是资源调度的基本单位

内核线程:内核启动之后需要完成一些后台操作,这些由Kernel Thread来完成,只运行在内核空间

进程的创建和启动:系统函数调用fork、exec
A中forkB的话,A称之为B的父进程。

僵尸进程:ps -ef | grep defunct
父进程创建一个子进程,会维护子进程的一个PCB,子进程退出,父进程会释放这个PCB。如果父进程没有释放PCB,那么这个子进程成为一个僵尸进程,杀不掉。

孤儿进程:子进程退出前,父进程已经退出。孤儿进程会成为init进程的孩子,进程号为1或1457,1457的父进程是1

image.png


一只鱼
49 声望1 粉丝

« 上一篇
CPU乱序执行
下一篇 »
进程调度中断