当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 技术文章,仅供参考。
 

 

    摘要:本文主要说明x window system的基本运行原理,其启动过程,及常见的跨网络运行x window system。一) 基本运行原理 x window system采用c/s结构,但和我们常见的c/s不同。常见的c/s结构中,称提供服务的一方为server,即服务器端(如http服务,ftp服务等),使用服务的称为client,即客户端。但在x window system中,client是执......
 ·linux 双机精彩文档    »显示摘要«
    摘要:今天在网络上面找资料无意中发现的.文档来自http://linux.vbird.org/ 是alex ym lin一个ibm tw 公司的人写的.网站上的原本说明:同樣也是彥明兄提供的好文件,主要是在介紹 red hat enterprise linux (rhel)這個 linux 版本的完整解決方案。共有三集,集集精彩呀!里面主要是写如何在rhel上面如何建立ha.用通俗易懂的方法给......


通过并行化 Linux 系统服务来提高引导速度
技术文章,仅供参考.

通过并行化 linux 系统服务来提高引导速度

【程序编程相关:Linux from Scratch

【推荐阅读:听个ape咋就这么难?

级别:中级 【扩展信息:Getting Started with

james hunt (jameshunt-at-uk.ibm.com)

软件工程师,ibm

2003 年 11 月

本文向您描述了如何在不影响可用性的前提下加快 linux 操作系统的引导速度.当然,这种方法要求您对系统服务及服务之间的依赖关系有所理解,如果它们可以并行启动,就让它们并行启动而不是串行启动.

毫无疑问 linux 是一个优秀的系统,但仍然无法摆脱一个常见的责难(尤其是来自具有 microsoft windows 背景的人),那就是 linux 系统从按下“on”键开始到可以使用,需要的时间太长.其实他们说的没错,linux 确实需要比较长的引导时间.

在这里我所描述的加快 linux 引导速度的技术虽然理解起来很简单,但真正实现却需要谨慎行事.我希望 linux 的发行商能采用这种方法,这样用户就可以省去那些配置任务.不过如果您喜欢冒险,请继续阅读本文.

写在开始之前

如果您想体验一下这种方法,您首先必须得熟悉 linux 的配置脚本.修改系统的启动设置可能会带来危险,甚至可能会导致您的系统无法启动.如果出现这种情况,请重新启动机器并进入单一用户模式(运行级1),把您所做的修改还原回来,然后再重新启动.永远记住要备份您所修改过的所有文件,为了防止最坏的情况发生,您还需要有至少一个系统备份的映像.

我强烈建议您在考虑用我所建议的方法修改一个正式的系统之前,先去修改一个无关紧要的测试系统.如果您只有一台机器,那么您可以使用 uml (user mode linux) 这一非常有用的工具.uml是一个内核补丁,它可以将linux内核编译成为一个二进制文件,然后您可以像运行一个普通的程序一样去运行这个内核.也就是说,您可以在您的正常的系统之上以一个进程的方式来运行一个完整的 linux 系统.您可以将其想象为在一个正常的系统中运行一个 linux 系统.(请参阅本文末尾的参考资料,可以找到可以下载uml的站点以及 developerworks 网站上关于uml的教程).

使用uml您可以工作于一个测试系统,哪怕把这个测试系统完全破坏掉,也不会影响您正常的系统.

概述

本文的第一部分介绍当 linux 内核(linux 机器的的“核心”)加载后,一个 linux 系统怎样在后台启动.然后介绍加快您的系统引导速度的技术.

如果您对运行级与服务启动脚本已经熟悉,您可能希望直接跳转到传统服务框架的局限.

linux 引导次序与运行级

一个 linux 系统的引导过程可以分为几个阶段.本文并不会解释所有的不同阶段,因为我们所关心只是当内核加载后的那一个阶段.

您可以运行 /sbin/runlevel 命令来确定您的系统当前的运行级.(更多详细信息请查阅 man runlevel).

当内核被加载并开始运行时会调用 /sbin/init 程序.这个程序以 root 身份运行,并且在开始引导时按照要求设定为“运行级”.(更多关于 init 程序的详细信息,请参考 man init)

什么是运行级?

一个运行级仅仅是一个数字,linux根据这个数字来区分不同类型的高层次配置,系统将按照不同的高层次配置来进行引导.由于绝大部分运行级数字都定义了明确的含义,因而它们基本上是“众所周知”的.red hat linux 系统的主要运行级见表1.

表 1. red hat linux运行级

运行级 说明

0 关闭

1 单一用户模式(一般仅用于管理目的)

2 多用户模式,不允许使用网络

3 多用户模式,允许使用网络

4 没有用到的运行级

5 多用户模式,允许使用网络,x-windows 方式(图形登录界面)

6 重新引导

init如何初始化系统

init 通过一个ascii配置文件(/etc/inittab)来确定如何改变运行级.通常,init 会根据这个配置文件去运行 /etc/rc.d/rc 脚本,并将运行级数字传递给这一脚本.

rc.sysinit 脚本

在 red hat 系统中,在运行 rc 脚本之前,init 将首先运行 /etc/rc.d/rc.sysinit 脚本,这个脚本执行那些必需的底层设置任务,比如设置系统时钟,检查磁盘错误,然后挂载文件系统.

在本文看来,正是从运行 rc 脚本开始,事情才变得有趣.

系统服务

rc 脚本负责启动用户需要的所有服务.就像名字所描述的一样,所谓服务就是系统提供的有用的工具.可能会有很多服务需要启动.大部分的 linux 系统会启动 sshd(安全shell服务).syslog(系统日志工具)与 lpd(打印服务),但还会有更多的服务需要启动.比如,我的 red hat 9 系统现在运行着29个服务,但如果我把所有的服务都启动,那么我的系统中将会有近50服务在运行.


...   下一页
    摘要: 1。  暴风城里父子二人看到一只十分英伟的马。儿子不屑地对他的父亲说:“坐这种马的人,肚子里一定没有学问!”父亲则轻描淡写地回答:“说这种话的人,口袋里一定没有钱!”   ——你对事情的看法,亦能反映出你内心真正的态度 2。  晚饭后,侏儒一家都忙着干自己的事,母亲和女儿一块儿洗碗盘,父亲和儿子在客厅看电视。突然,厨房里传来打破盘子的响声,然后一片沉寂。儿子望着他父亲,说道:“一定是妈妈打破的。......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE