- 论坛徽章:
- 0
|
hi,
系统启动过程
1) 系统加电后,PDC(Processor Dependent Code)即刻从系统的Boot Rom芯片加载到内存中,PDC进行硬件初始化检测,检测内存,CPU以及外设,然后检查非闪失存储器(Stable Storage)以确定从哪个磁盘是默认的启动磁盘.PDC扫描内存后,初始化控制台并把控制台路径拷贝到内存,把引导路径和autoboot标记拷贝到内存中.如果autoboot禁用,它显示PDC菜单;如果被启用,它会显示让你10秒中断,如果10秒内按任意键中断引导,则显示PDC菜单;否则从主引导路径引导.
2) 每个引导磁盘包括两部分,BDRA(启动数据保留区)和LIF区,BDRA区包含root卷组中磁盘位置和大小,root,主swap和dump逻辑卷的位置,内核使用这些信息在启动的时候配置主交换区,LIF区包含LIF头和LIF卷,LIF头包含指向LIF卷中文件的指针,LIF卷包含四部分
ISL 初始化系统加载器
HPUX 内核加载程序
AUTO 包含autoboot字符串
LABEL 在一个正常的启动中,被HPUX用来定位root逻辑卷的位置
PDC从引导路径装入并执行初始化系统装载器(ISL),如果autoboot没有被中断,ISL可以自动完成预定义的任务.通过中断PDC,可以与ISL交互.
3) ISL加载叫HPUX的第二个系统加载器,HPUX loader在启动数据保留区中检测并寻找boot物理卷,HPUX loader从启动物理卷中读取LABEL文件,HPUX loader 查找root文件系统的位置,HPUX loader将/stand/vmunix内核载入内存并将控制权交给内核.
4) 内核管理用于换入和换出的内存.内核通过读取BDRA区,配置root逻辑卷,主swap和dump逻辑卷.内核装载设备驱动程序并启动swapper进程.swapper进程ID为0,它管理用于换入和换出的内存
5) 执行/sbin/pre_init_rc,这个文件最主要的命令时fsck,它检查并修复根文件系统,内核对根文件系统进行一致性检查,然后调用init守护进程.
6) 启动init进程,它的ID为1.init守护进程负责将系统带入一个全工作状态,init守护进程执行一些系统的初始化任务,它从/etc/inittab配置文件中读取initdefault条目,告诉系统的运行级别,一般正常启动时3,然后执行/etc/inittab里面带sysinit标志的命令,其中最主要的时/sbin/ioinitrc,用于初始化I/O设备,接着执行/sbin/bcheckrc,它的作用是激活卷组并进行文件系统的检查,init检查并运行/etc/rc.config.d/下面的所有配置文件,最后运行/sbin/rc,根据系统的运行级别依次执行相应的启动脚本. |
|