当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 剖析Linux系统启动过程(4)

Unix/Linux
Linux操作系统中使用Windows分区
红旗Linux与Windows双系统中开机时自动进入windows
红旗Linux 简介
红旗Linux桌面版5.0下载
重装Windows后重新恢复进入红旗Linux
红旗Linux6.0SP1 一些问题
红旗6.0一步一步搞定cdma无线网卡
红旗6.0如何挂载ntfs分区
红旗6.0下安装VirtualBox
从root用户切换到其他用户
红旗5中使用SAPGUI中遇到的问题及解决办法
红旗linux下GPRS无线上网拨号
RedFlag6 Vmware Tools安装和配置
红旗Linux桌面版 6.0 sp1下载地址
开启红旗LINUX6.0 SSH
红旗Linux5.0桌面正式版光盘安装图解
重装WINDOWS后引导红旗linux
红旗6.0sp1 分辨率没法调整解决方案
红旗Linux 6.0桌面版安装图解
红旗Linux4.1下安装配置Apahce+Tomcat+PHP+mySQL+vsFTPd

Unix/Linux 中的 剖析Linux系统启动过程(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 135 ::
收藏到网摘: n/a

第三部分:系统初始化
  在init的配置文件中有这么一行:  si::sysinit:/etc/rc.d/rc.sysinit  它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。  rc.sysinit约有850多行,但是每个单一的功能还是比较简单,而且带有注释,建议有兴趣的用户可以自行阅读自己机器上的该文件,以了解系统初始化所详细情况。由于此文件较长,所以不在本文中列出来,也不做具体的介绍。  当rc.sysinit程序执行完毕后,将返回init继续下一步。  第四部分:启动对应运行级别的守护进程   在rc.sysinit执行后,将返回init继续其它的动作,通常接下来会执行到/etc/rc.d/rc程序。以运行级别3为例,init将执行配置文件inittab中的以下这行:  l5:5:wait:/etc/rc.d/rc 5  这一行表示以5为参数运行/etc/rc.d/rc,/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。  /etc/rc.d/rc5.d/中的rc启动脚本通常是K或S开头的链接文件,对于以以S开头的启动脚本,将以start参数来运行。而如果发现存在相应的脚本也存在K打头的链接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先以stop为参数停止这些已经启动了的守护进程,然后再重新运行。这样做是为了保证是当init改变运行级别时,所有相关的守护进程都将重启。  至于在每个运行级中将运行哪些守护进程,用户可以通过chkconfig或setup中的"System Services"来自行设定。常见的守护进程有:  amd:自动安装NFS守护进程  apmd:高级电源管理守护进程  arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库  autofs:自动安装管理进程automount,与NFS相关,依赖于NIS  crond:Linux下的计划任务的守护进程  named:DNS服务器  netfs:安装NFS、Samba和NetWare网络文件系统  network:激活已配置网络接口的脚本程序  nfs:打开NFS服务  portmap:RPC portmap管理器,它管理基于RPC服务的连接  sendmail:邮件服务器sendmail  smb:Samba文件共享/打印服务  syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本  xfs:X Window字型服务器,为本地和远程X服务器提供字型集  Xinetd:支持多种网络服务的核心守护进程,可以管理wuftp、sshd、telnet等服务  这些守护进程也启动完成了,rc程序也就执行完了,然后又将返回init继续下一步。