Ivan’s Peace World

December 31, 2006

转载:linux开机过程

Filed under: 杂七杂八 — infocar @ 8:00 am

关于Linux操作系统的开机过程详解(转)

由于操作系统正在变得越来越复杂,所以开机引导和关机下电的过程也越来越智能化。从简单的DOS系统转移到Windows NT系统,人们已经亲身感受到了这些变化——这已不仅仅是核心操作系统的启动引导和关闭了,还包括必须要同时启动或者关闭相当数量的服务项目。类似于Windows NTLinux系统启动过程需要打开的服务项目也是数量极大的。

这里,我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤。

加载内核

LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的第一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。

执行内核

内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做init的程序。

注意:在这里我们故意略去了Linux内核启动的许多细节,这些细节只有内核开发人员才感兴趣。如果你好奇的话,可以访问http//www.redhat.com:8080地址处的 “Kernel Hackers Guide”

init进程

init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由06的整数表示)满足特定的目的。如果定义了initdefault级别,这个值就直接被选中,否则需要由用户输入一个代表运行级别的数值。

输入代表运行级别的数字之后,init根据/etc/inittab文件中的定义执行一个命令脚本程序。缺省的运行级别取决于安装阶段对登录程序的选择:是使用基于文本的,还是使用基于X-Window的登录程序。

rc命令脚本程序

我们已经知道,当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务。由于需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中,最主要的一个是/etc/rc.d/rc,它负责为每一个运行级别按照正确的顺序调用相应的命令脚本程序。我们可以想象,这样一个命令脚本程序很容易变得难以控制!为了防止这类事件的发生,需要使用精心设计的方案。

对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。

在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在/etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。

许多情况下,这些命令脚本程序的执行顺序都很重要。如果没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的执行顺序,在字母S或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在/etc/rc.d/rc3.d/S55named之前执行(S50inet配置网络设置,S55named启动DNS服务器)。

存放在/etc/rc.d/init.d子目录中的、被符号链接上的命令脚本程序是真正的实干家,是它们完成了启动或者停止各种服务的操作过程。当/etc/rc.d/rc运行通过每个特定的运行级别子目录的时候,它会根据数字的顺序依次调用各个命令脚本程序执行。它先运行以字母K打头的命令脚本程序,然后再运行以字母S打头的命令脚本程序。对以字母K打头的命令脚本程序来说,会传递Stop参数;类似地对以字母S打头的命令脚本程序来说,会传递Start参数。

编写自己的rc命令脚本

在维护Linux系统运转的日子里,肯定会遇到需要系统管理员对开机或者关机命令脚本进行修改的情况。有两种方法可以用来实现修改的目的:

如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。

如果所做的修改比较细致,或者还要求关闭进程使之明确地停止运行,则需要在/etc/rc.d/init.d子目录中添加一个命令脚本程序。这个命令脚本程序必须可以接受StartStop参数并完成相应的操作。

第一种方法,编辑/etc/rc.d/rc.local脚本,当然是两种方法中比较简单的。如果想在这个命令脚本程序中添加内容,只需要使用喜欢的编辑器程序打开它,再把打算执行的命令附加到文件的末尾就可以了。这对一两行的修改来说的确很便利。

如果确实需要使用一个命令脚本程序,这时必须选择第二个方法。编写一个rc命令脚本程序的过程并不像想象中那么困难。我们下面就给出一个例子,看看它是怎样实现的(顺便说一句,你可以把我们的例子当作范本,按照自己的需要进行修改和添加)。

假设你打算每隔60分钟调用一个特殊的程序来弹出一条消息,提醒自己需要从键盘前面离开休息一会儿,命令脚本程序将包括下面几个部分:

关于这个命令脚本程序功能的说明(这样就不会在一年之后忘记它);

在试图运行它之前验证这个命令脚本程序确实存在;

接受startstop参数并执行要求的动作。

参数给定后,我们就可以编写命令的脚本程序。这个程序很简单,大家可以自己编写一下,我在这里就不给出了。

编写好新的命令脚本程序之后,再从相关的运行级别子目录中加上必要的符号链接,来控制这个命令脚本程序的启动或者停止。在我的印象中,只想让它在运行级别3或者运行级别5中启动,原因是我认为只有这两个运行级别才是日常工作的地方。最后,希望这个命令脚本程序在进入运行级别6(重启动)的时候被关闭。

激活或者禁止服务项目

有的时候会发现,在引导的时候并不需要某个特定的服务被启动。如果你正在考虑使用Linux替换Windows NT的文件和打印服务器,就更是如此。

我们已经知道,在特定的运行级别子目录中给符号链接改个名称,就可以让该服务不被启动,如把其名称的第一个字母由S改为K。一旦熟练掌握了命令行和符号链接,就会发现这是激活或者禁止服务的最快办法。

在学习这个改名方法的时候,可能会觉得图形化的操作界面ksysv比较容易掌握。虽然它原来是设计使用在KDE环境里的,但在Red Hat Linux 7.2下缺省安装的GNOME环境里也运行得很好。如果想启动它,只需简单地打开一个xterm窗口,并输入ksysv命令就可以了。屏幕上会出现一个窗口,其中列出了能够修改的全部参数,需要时还包括在线帮助。

警告:如果是在一个现实中的系统上学 习本文的知识,要多多运用常识。当试着对启动脚本程序进行修改的时候,要记住所做的修改可能会造成你的系统不能正常工作,而且无法采用重启动的方法恢复。 不要在正常运转的系统上实验新的设置,对你准备修改的文件要全部进行备份。最重要的是,在手边要准备一张引导盘以防不测。

December 23, 2006

HOW LINUX BOOTS

Filed under: 杂七杂八 — infocar @ 7:45 am

Screenshot4

The boot process of LINUX:

1. A boot loader finds the kernel image on the disk, loads it into memory, and starts it.

2. The kernel initializes the devices and its drivers.

3. The kernel mounts the root filesystem.

4. The kernel starts aprogram called init.

5 init sets the rest of the processes in motion.

6. The last processes that init starts as part of the boot sequence allow you to log in.

(from: How LINUX Works, P53) 

December 21, 2006

对待生活的态度

Filed under: 杂七杂八 — infocar @ 6:03 am

人是要提高自己的生活质量,但却要有个度。这个‘度’的把握很重要,毕竟这个世界上还有人饿着肚子。

。。。。。。。。。。。。。

但人们很难相信,这位在河南开发了58万平方米房屋的“房产大佬”,却始终处身一个单身蜗居,在郑州城市花园小区的会所中心,胡葆森的办公室、起居室与建 业集团的总部办公室在一起。胡葆森衣着很朴实,长着一张建筑工人的脸。这位郑州大学兼职教授似乎并不在乎这些表象的东西,他理财的最大兴趣在于投资,并从 中获得巨大的商业利益。这是一个商人的本色。从房地产、物业管理、足球、信息技术到教育,胡葆森乐此不疲。2001年,胡葆森举资2.3亿元拍下了破产清 算的郑州亚细亚五彩广场,紧接着与北京华联签下租让合同。胡葆森称“我不相信我的企业会破产。如果破产是在假设的状况下,我相信自己仍旧会过得很好。我对 生活的要求是很低的,我可以回沈阳老家农村种地去。现在普通的下岗职工一个月200~300元钱,每个月300~500元人民币的生活我也能适应。我对生 活看得比较淡,对于养老,我的要求也很低,有几万元就足够了。”

December 13, 2006

good website for business

Filed under: 杂七杂八 — infocar @ 1:31 pm

business for sale

http://www.sbx.com.au/

http://www.businessforsale.com.au/html/mainhomepage.mv

http://www.lloydsbrokers.com.au/

http://www.trumpuniversity.com/products/art-buying-business.cfm

December 7, 2006

满塘荷

Filed under: 杂七杂八 — infocar @ 8:08 am

 用Nokia N70拍的,效果还不错。
于Sunshine Coast, Queensland, AU

17112006458

出污泥而不染

17112006459

想起了荷塘月色,可惜是白天。

扔掉面子

Filed under: 杂七杂八 — infocar @ 7:22 am

对于中国人在内的来说,面子很重要,我是中国人,所以我也继承了中国人的面子问题。其实有的时候面子是个累赘,这个累赘让人负担重,不能轻松前行。尝试着把面子仍在地上,反而能得到意想不到的效果,轻松的感觉。

请看冯老爷子的论调 :

我 们老在说一个小偷的故事,一个小偷偷了一根针,老大娘就说你怎么能偷东西,听着很没面子,其实就是一根针,说我没偷,围的人越来越多,没偷,我就是捡的, 冲突完了肢体就开始冲突,别人开始推他一下,打起来,打起来就跑,跑到墙根上逼急了,一刀把人捅死的,通常这么一个过程。

你承认一根针多少钱,搭一个面子,老不承认错误,成本就变高了。96、97年我们开始收缩调整的时候,当时我们内心欲望也有增长,在13个城市都有公司,最有男人满足那种牛X的感觉,到哪儿都有大饭店住着,到哪儿打一个电话有人送钱来,你说在江湖上走这是很愉快的事。可突然之间才发现从财务的观点看,很多东西都是不应该的,而且是站不住,虽然有钱但是可能亏损。于是我们一直压缩到还剩两个半城市,过去的人全跑了,当时西安最牛X的奔驰我们的,最后都卖了,有的抵债了,最后就开始打的,找朋友接济,然后自己带钱了,最后活了下来了。

这 个故事和心情我在德隆他们遇到危机的时候,曾跟德隆老板也交流过,我跟他们建议,就是战胜自己的面子问题,像很多明星,过惯了聚光灯之下浮华生活,突然要 粗茶淡饭接受不了,他可能会抑郁而终,粗茶淡饭也是绝大多数人的生活,所以我们就是说你懂人情还不够,还得懂自己,你得把自己当成个正常人,然后看自己。 这也有一个面子问题,俗人就有虚荣心,俗人就要算账,你不能吃亏,这都是俗人,你得懂自己、跟自己玩,差不多我们犯过所有人都犯过的错误,唯一不同的是我 们改正早,先把面子给扔地下了,你看《手机》里那句话,“喝酒给整地上了,面子砸地下了,面子扔地下了,你把面子先扔地下,然后又喝了一口,我这面子又捡起来了。”就得有这么一个过程。

November 29, 2006

甘地

Filed under: 杂七杂八 — infocar @ 7:14 am

圣雄甘地有一句名言被大家广泛地传诵着:“地球上提供给我们的物质财富足以满足每个人的需求,但不足以满足每个人的贪欲。”

November 28, 2006

20 largest companies

Filed under: 杂七杂八 — infocar @ 10:32 pm

November 9, 2006

张维迎说

Filed under: 政经文选 — infocar @ 10:10 am

从制度变革的角度看,简单地说,是改革开放改变了中国。如果从“英雄创造历史”或“历史创造英雄”的角度看,是邓小平改变了中国,因为邓小平启动了改革开放。

当然,也有人认为,在改革开放前夕,在经历了“……”这样的灾难之后,中国即使没有邓小平,也会出来另一个领导历史变革的人。但无论如何,我们要承认,邓小平超乎寻常的眼光和胆略,对改革开放的启动和发展起着至关重要的作用。

另 一方面,我自己想强调的一点,就是从社会人力资源的配置变化来讲,是企业家的出现和成长改变了中国。我一直认为,发达国家和落后国家的区别就在于社会中最 优秀的人做的事不一样。发达国家之所以发达,是因为它有一个好的制度环境,使得社会中最优秀的人去创业;而在落后国家,往往是最优秀的人去作官。

我 在1984年就提出一个观点,希望中国人从“学而优则仕”转到“学而优则商”。这个转变很大程度就是改革开放的写照。如果我们把中国的地区差异做一个比 较,可以看到,平均而言,政府官员占总人口或就业人口比例越低的地区,经济增长率越高。这说明政府官员比例的减少是促进经济增长的重要因素。

而 如果我们把全国31个省市自治区的GDP情况做一个比较,会发现,企业家活动越发达的地方,社会收入差距越小。GDP大致可分为劳动收入、利润、税收和折 旧。如果把利润占当地GDP的比例与当地的基尼系数进行分析,可以看到,利润占GDP比率越高的地方,基尼系数反倒越低。

所以,总的来 说,在改革开放过程中,哪个地方对企业家有吸引力,哪个地方的经济增长就快,哪个地方普通人的生活水平就高;哪个地方的创业环境好,哪个地方的企业办得 多,哪个地方的就业压力就小。企业家队伍的壮大对社会的贡献是多方面的。中国改革开放以来几次大的经济发展,都与企业家群体的成长有关。

November 3, 2006

李世昌

Filed under: 杂七杂八 — infocar @ 4:32 am

北京东亚国际技术培训中心
创业必须承担各种风险,当你无路可走时,你会毫无顾忌地往前冲,希望开创出一条道路。有了一张大学文凭,等于有一条退路,这可能会造成你裹足不前,不敢冒险创业。

Next Page »

Blog at WordPress.com.