当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: 更重要的是启动之后依次执行了哪些程序(文件)?? cgweb 回复于:2003-09-03 10:39:34 [size=18:f99ca3b6da][color=red:f99ca3b6da][b:f99ca3b6da]Linux开机启动程序详解[/b:f99ca3...
 

 

 ·谈linux分区(zt)    »显示摘要«
    摘要: 转贴前言:1。下文是我第一次在cu里面贴技术类文档,比较基础,但我希望给刚刚从windows投向linux的朋友们一些入门级的帮助。(实际上,当初我刚接触linux时,最难理解的就是磁盘结构) 2。由于本文写得比较早,文中只提及ext2分区格式,现在的分区格式已经是ext3了。 1991年,芬兰的一名学生linus torvalds出于兴趣,以他的灵感和才思,开发了当今最为流行的免费操作系统linux。linux也正以它的优越性赢得越来越多的用......
 ·using unispin in linux    »显示摘要«
    摘要: using some input methods in linux: http://shang.at.6600.org/~sqh/in/xim-sqh.html bjchenxu 回复于:2003-09-03 16:04:41 感谢提供!紫光是我windows平台上的唯一中文输入法 fcitx是我linux上的唯一中文输入法 sqh 回复于:2003-09-03 16:41:31 /shakehand chenxu......


问题:linux在启动过程中究竟做了些什么事情?

更重要的是启动之后依次执行了哪些程序(文件)?? 【相关文章:vi中如何实现批量替换?

【扩展阅读:在redhat9下配samba,win2

【扩展信息:帮忙找个软件lvm linux下的逻辑卷

 cgweb 回复于:2003-09-03 10:39:34 [size=18:f99ca3b6da][color=red:f99ca3b6da][b:f99ca3b6da]linux开机启动程序详解[/b:f99ca3b6da][/color:f99ca3b6da][/size:f99ca3b6da]

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

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

加载内核 

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

执行内核 

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

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

init进程 

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

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

rc命令脚本程序

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

对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。
...   下一页
 ·scsi安装问题!急    »显示摘要«
    摘要: 现有一台服务器,宝德pt1300r,主板se7502wv2。scsi卡为adaptec aic-7902 hostraid driver,单36g scsi硬盘一块,现需装radhat7.2系统,但是我不知道在哪里下载scsi驱动,有下了几个驱动, aic79xx-1.1.0-athlon-rh7.2.img.tz aic79xx-1.1.0-i686-rh7.2.img.tz aic79xx-1.1.0-rh7.2.i686-rpm 但是不......
» 本期热门文章:

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