并行启动应用程序从而加速 Linux 的引导

http://tech.ddvip.com   2007年05月12日    社区交流

本文详细介绍并行启动应用程序从而加速 Linux 的引导

  您可以使用服务定义对整个系统进行编码,如清单 2 所示。那些没有依赖关系的服务可以立即(并行地)启动,而具有依赖关系的服务则必须等待以安全启动。您可以将 initng 看作一个基于目标的系统。其目标就是要启动的服务。没有进行显式的规划;相反,依赖关系简单地定义了服务初始化的流程,这个过程中隐含着并行化的操作。

  使用 initng

  initng 包对于典型用法的安装来说相对简单。对于使用非标准包(不是默认配置中出现的包)来说,必须要进行一些汇编工作。

  initng 的典型安装需要 initng 发行版(源代码或二进制文件)和 ifiles 发行版。您可以使用 ./configure、make 和 make install 编译自己的 initng 发行版。您必须使用 cmake 来编译 ifiles 文件(这是脚本文件)。根据系统需求的不同,您可能需要创建新的服务/守护进程定义(不过很可能 initng 社区中已经有人这样做了)。然后您还必须修改 LILO 或 GRUB 的配置以指向新的 /sbin/initng。

  要控制 initng,需要使用 ngc(比较 telinit 与传统的 init)。它们的语法有些不同,不过功能是相同的。

  upstart

  替换 init 的另外一种选择是 upstart,它使用的方法与 initng 使用的方法稍有不同。 upstart 是一个基于事件的 init 的替代程序,这意味着服务的启动和停止都基于事件的通信。 upstart 正在由 Scott James Remnant 进行开发,用于 Ubuntu 发行版,不过它想要成为任何 Linux 发行版上 init 的通用替代程序。

  upstart 的工作原理

  Upstart 要求您更新初始化脚本来支持基于事件的操作模式。upstart 维护自己的在系统启动时启动的 init 进程(对于所有其他方法也是如此)。 首先,init 会发出 startup 事件 —— 这是两个核心事件之一。事件 startup 是由 init 在系统启动时发出的,事件 shutdown 则是在系统关闭时发出的。其他核心事件包括 ctrlaltdel,它说明您按下了 Ctrl-Alt-Delete,或 kbdrequest,它用来说明您按下了 Alt-Up(向上箭头)键组合。

来源:ibm    作者:M. Tim Jones    责编:豆豆技术应用

正在加载评论...