0 Linux系统启动流程如下:
术语介绍: POST: power on safe testing BIOS: 定义设备启动次序,依次去找对应设备的MBR, MBR里面包含了bootloader大小为446字节,根据MBR的分区表查找活动分区,找到操作系统所在的分区,并加载这个分区的操作系统内核,此时BIOS退出 Kernel: 操作系统内核,一般都是压缩的,将操作系统装载入内核,并解压缩,而后将控制权转交给内核,内核装载驱动识别硬件,获取整体硬件控制权,此时bootloader退出 Kernel涉及的操作:文件系统,进程管理,内存管理,网络管理,安全功能,驱动程序 initrd: 开始启动init进程,上帝开始造人,开始管理用户空间和相关业务请求进程, Init是用户空间的主导程序 流程如下: POST-->BIOS(Boot Sequence)-->MBR(bootloader,446字节)-->Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab) POST 硬件内置的,检查硬件健康 显卡 内存 CPU风扇等
2 内核设计风格:
单内核LWP: 所有功能都做进内核 比如文件系统 内存管理等 Linux 在linux上线程被称为轻量级进程LWP(ligth weight process) linux的内核解压后有几百兆大小 这几百兆是为了支持多个平台,内置的 微内核: 文件系统 驱动程序等做成子系统,需要什么子系统由内核来调度 windows solaris 支持真正意义的多内核 /lib/modules:内核模块文件,其下是所有外围模块
3 运行级别:
即启动的服务不同 启动的服务不同, 这个级别定义在/etc/inittab下的 id:3:initdefault:内 运行级别:0-6 0:halt 停止 1: single user mode, 直接以管理员身份切入, s,S,single 2:multi user mode, no NFS(不启用NFS 网络文件系统) 3: multi user mode, text mode(只有命令行的多用户模式) 4:reserved 保留级别 尚未定义 5: multi user mode, graphic mode 多用户图形模式 6: reboot
4 启动过程细节:
bootloader(MBR) linux的bootloader有如下几种 1 LILO: LInux LOader 支持单个分区不大于8G 现在少用 2 GRUB: GRand Unified Bootloader 分两步执行 Stage1: MBR Stage1_5: Stage2: /boot/grub/ /etc/grub.conf 下是开机参考的文件 ,可以修改里面配置文件后保存在重新启动 来实现开机引导设置 参数如下: default=0 # 设定默认启动的title的编号,从0开始 timeout=5 # 等待用户选择的超时时长,单位是秒 splashimage=(hd0,0)/grub/splash.xpm.gz # grub的背景图片 hiddenmenu # 隐藏菜单 password redhat password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG. title Red Hat Enterprise Linux Server (2.6.18-308.el5) # 内核标题,或操作系统名称,字符串,可自由修改 root (hd0,0) # 内核文件所在的设备;对grub而言,所有类型硬盘一律hd,格式为(hd#,N);hd#, #表示第几个磁盘;最后的N表示对应磁盘的分区; kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/vol0/root rhgb quiet # 内核文件路径,及传递给内核的参数 initrd /initrd-2.6.18-308.el5.img # ramdisk文件路径 password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG. title Install Red Hat Enterprise Linux 5 root (hd0,0) kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6 initrd /initrd-5 password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.
5