2015-12-17 17:38:16 506浏览
之前为大家讲过了《iOS操作系统的进程生命周期》的一篇文章,本文主要讲解iOS系统进程生存期间主要经历的四个阶段,包括创建阶段、修改阶段、执行阶段和终止阶段。和大家一起交流沟通下。
1、创建阶段
一旦一个新进程被创建,它就会收到自己的栈区并进入“新的”(new)状态。然后就能进入修改状态。如果没有必要修改,进程就进入执行状态。
2、修改阶段
跟其他的许多操作系统不一样,iOS在进程被创建时,并不自动向进程传送启动参数或为之分配一个控制台,因为它假定大多数进程不需要这些资源。如果一个进程确实需要两个之中任何一项资源的话,创建它的线程可以修改该进程从而给它分配资源。
3、执行阶段
在一个进程成功地创建和修改后,它转向就绪状态并进入到执行阶段。在这个阶段,一个进程能够访问CPU并且运行。
在执行阶段,进程处于三种状态之一:就绪、运行或空闲。处于就绪状态的进程是在等待访问CPU并就绪开始执行指令;处于运行状态的进程是正在控制CPU并执行着指令;而一个空闲的进程则是处于睡眠状态,在它有资格运行以前等待一个外部事件发生。当一个进程被调度运行时,它从就绪状态过渡到运行状态。在没有抢先的多任务调度下,一个被调度的进程一直在CPU上运行直至被挂起或终止。一个进程有两种被挂起的方法:它可以自己向内核明确地表示它要放弃CPU,转入就绪状态,等待下一次轮到自己时再运行;也可以因为等待一个外部事件的发生而挂起,当进程开始等待一个外部事件时,内核会隐含地把它转入空闲状态,从而被挂起,继续等待外部事件发生。事件发生后,内核再把它转入到就绪状态,于是该进程等待轮到它时再运行。
4、终止阶段
进程生存周期的最后一个阶段是终止阶段。当一个进程完成它的功能并关闭(称为自终止)或者另外一个进程杀死它时,就进入终止阶段。当一个进程被杀死或自终止时就进入死亡状态。被终止掉的进程一直保持死亡状态,不被激活,直到内核宣布收回它所占的全部资源。内核也可能在进程终止时记录关于进程栈的统计信息。当该进程的资源被重分配时,它就转出死亡状态,彻底从系统中消失。
经历以上四个阶段iOS系统进程就完成了一个循环,iOS操作系统进程还有很多的旁枝末节不能在这里一一叙述。关注扣丁学堂资讯频道或是iOS开发课程视频,了解更多更有用的iOS领域知识。