并行启动应用程序从而加速 Linux 的引导
http://tech.ddvip.com 2007年05月12日 社区交流
本文详细介绍并行启动应用程序从而加速 Linux 的引导
Init 守护进程的替换
由于传统的 init 进程(sysvinit)是一个串行化的进程,因此可对这部分系统进行充分优化。实际上,您可以使用任何方法来对 init 进程进行优化。让我们来了解其中一些方法,以及它们是如何解决这个问题的。前两种方法是基于依赖关系的(即使用依赖关系来提供并行化),第三种方法是一个基于事件的系统(即进程依赖于事件来表示自己何时启动或停止)。
initng
第一种方法 initng (下一代 init)将完全取代异步启动进程的 init,能够更加快速地完成 init 进程。在编写本文时,initng 是一个 beta 版本的产品,其创建者是 Jimmy Wennlund。
initng 背后的基本思想是只要满足了服务的依赖关系就可启动。这样系统就可以在 CPU 和 I/O 之间实现较好的平衡。当从磁盘上加载一个脚本或等待硬件设备启动的同时,可以运行另一个脚本来启动另外一个服务。
initng 工作原理
作为一个基于依赖关系的解决方案,initng 使用自己的初始化脚本集,它们对服务和守护进程的依赖性进行了编码。清单 2 展示了一个示例。这个脚本指定了需要为给定的运行级别启动的服务。该服务具有两个依赖关系,使用 need 关键字定义,分别是 system/initial 和 net/all。在 system/my_service 可以启动之前,这些服务必须是可用的。当这些服务可用时,exec 关键字就开始起作用了。exec 关键字(以及 start 选项)定义了如何使用任何可用的选项启动服务。要停止这个服务,就会使用 exec 关键字以及 stop 选项。
清单 2. 为 initng 定义服务service system/my_service {
need = system/initial net/all;
exec start = /sbin/my_service --start --option;
exec stop = /sbin/my_service --stop --option;
}
来源:ibm 作者:M. Tim Jones 责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……