iOS操作系统的进程生命周期

2015-12-17 17:29:51 601浏览

        iOS的进程与其他操作系统里的单线程基本相同。每一个iOS进程有且只有一个线程,每个进程都有自己的栈空间、CPU上下文,并且都能控制诸如存储器和控制台设备(后面再详述)这样的资源。为了使开销最小,iOS并不采用进程间的存储保护,在上下交换期间不执行任何存储器管理。因此,虽然每个进程都有分配给自己的存储空间,但其他的进程也同样能访问该空间。

        iOS采用带优先级的运行直至结束策略调度的可执行进程。开始,这种没有抢先的模型对一个要迅速处理输入报文的操作系统来说是一个很次的选择。在某种意义上说,这是对的。iOS交换需要快速改善其处理模型的实时反映限制。然而,这种模型也有许多优点从而让它比较适合于支持在外部保持关键交换路径的进程,一些优点如下所示:

        1、低开销

        协调的多任务通常会使线程间的上下文交换更少,同时也减少了CPU总的调度开销。这也是iOS开发课程中非常重要的一门。

        2、 对编程者更简单

        因为编程者能控制一个进程将在哪里被挂起,这就很容易限制上下文交换发生在共享数据不会被修改的地方,从而减少了偏向某一进程和进程间死锁的可能性。

        iOS操作系统的进程生命周期:

        除了在iOS被中断期间,可以在任何时候创建和终止一个进程,一个进程可以被内核(iOS初始化时)或被其他运行的进程创建或终止。这里所用的中断是指硬件中断。当CPU被中断时,它暂时挂起现在运行的线程,并开始运行相应的中断处理程序,在CPU运行中断处理程序期间不能创建新的进程。

        在iOS中有一个进程负责创建多个进程:分析程序(Parser),它是一个解释iOS配置和可执行命令的函数集合。它在iOS初始化期间被内核唤醒,也可以被为控制台和Telnet会话提供命令行接口(CLI,Command—line Interface)的进程唤醒。

        任何时候用户键入一个命令或从一个文件读出一个配置命令行,分析程序都会解释该内容并采取相应的动作。一些配置命令可能只是一个值的集合,如IP地址,而有的命令可能比较复杂,如路由命令或事件监视命令。有些命令也会引起分析程序创建新的进程,比如:当通过CLI键入router eigrp配置命令时,分析程序就创建一个称为ipigrp(jtlJ果ipigrp进程还没被启动)的进程开始处理EIGRP IP报文。如果键入norouter eigrp命令,分析程序就会终止ipigrp进程进而停止任何IEIGRP IP路由。

        本文主要介绍了iOS进程生命周期,其实iOS进程的生存期间还要经历几个阶段,扣丁学堂下一篇iOS开发资讯文章中我们将会详细介绍iOS进程生存期间经历的四大阶段。

查看更多关于“iOS资讯”的相关文章>>

标签:

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号