进程的生命周期:
[1].创建 --- fork
[2].执行 --- a. exec
b.子进程实现代码逻辑
[3].结束 --- exit _exit
僵尸态进程---wait waitpid
孤儿进程
--------------------------------------
进程存在的问题:
(1).进程的创建 --- 复制
(时间 和 空间的开销很大)
(2).进程的运行 --- 调度-->
进程本身涉及到的资源是很多的
(时间 和 空间的开销很大)
进程的创建 速度 还有 进程的切换的速度 都较低
导致整体的效率 不够高!
如何提高效率!---- 系统设计者的角度思考
(1).进程的创建 --- vfork 写时拷贝
(2).运行如果可以减少进程间切换频率,则效率也会提升!
----------------------------------------------------
线程 --- light thread (轻量级的进程) <-->heavy thread(重量级的进程)
进程:
资源管理的最小单位 --- 资源体
线程:
系统调度的最小单位 (进程也是系统调度的) --- 执行体
进程 和 线程关系:
进程作为了资源分配的基本单位
线程共享进程的地址空间,共享进程的这些资源
线程本身拥有的资源是很少的,所以线程在创建 和 运行时需要的时空
[1].创建 --- fork
[2].执行 --- a. exec
b.子进程实现代码逻辑
[3].结束 --- exit _exit
僵尸态进程---wait waitpid
孤儿进程
--------------------------------------
进程存在的问题:
(1).进程的创建 --- 复制
(时间 和 空间的开销很大)
(2).进程的运行 --- 调度-->
进程本身涉及到的资源是很多的
(时间 和 空间的开销很大)
进程的创建 速度 还有 进程的切换的速度 都较低
导致整体的效率 不够高!
如何提高效率!---- 系统设计者的角度思考
(1).进程的创建 --- vfork 写时拷贝
(2).运行如果可以减少进程间切换频率,则效率也会提升!
----------------------------------------------------
线程 --- light thread (轻量级的进程) <-->heavy thread(重量级的进程)
进程:
资源管理的最小单位 --- 资源体
线程:
系统调度的最小单位 (进程也是系统调度的) --- 执行体
进程 和 线程关系:
进程作为了资源分配的基本单位
线程共享进程的地址空间,共享进程的这些资源
线程本身拥有的资源是很少的,所以线程在创建 和 运行时需要的时空