• 加电之后载入Bios(base input output system)
  • 载入CMOS信息,此信息放在ROM中。CMOS中的信息由纽扣电池供电。
  • 自我检测,检测硬件信息是否正常和完善
  • 确定开机设备顺序
  • 确定开机设备之后,到应的设备上找MBR(master boot record)分区(通过INT13信道中断查找硬盘的),找到MBR分区后,将后续的操作交给MBR,由MBR分区中的boot loader程序指导后续的流程。 linux:boot loader分为:
  • LILO:Linux loader
  • Grub:Grand unique BootLoader
  • stage1:MBR
  • stage1.5:识别常用的不同文件系统
  • stage2:引导内核的
  • 提供菜单,让用户选择从哪个loader启动。
  • 载入内核,后续的所有操作由内核指导
  • 转交loader,可以将loader转交给其他的loader(windows不提供转交也不让别人转交它,win8以后锁死MBR分区。只能安装windows的多系统,不能安装其他系统,不提供其他系统的loader选择权)
  • loader通过根引用方式,找到内核文件,启动内核。内核启动之后,需要加载驱动,进一步需要识别硬盘信息,需要识别驱动信息就要加载驱动(死循环)。其实内核会加载一个虚拟文件系统(主要放的就是硬盘之类的驱动),识别到真实硬盘之后,重新挂载真实的根。 虚拟文件系统:
    是系统安装完成后自动生成,里面主要包含驱动对应启动设备所需的驱动信息。它是一个文件,在内存中以硬盘的方式存在,故也成为ramdisk(red hat5) ramfs(red hat6)
    ramdisk---initrd
    ramfs------initramfs
    linux 设计风格
    单内核:打包成一起---半模块化(动态加载外围设备)---linux
  • 内核KO kernel object
  • 共享SO share object

微内核:模块化---windows、solaris

由于协调复杂,linux没有使用这种内核机制

linux运行级别

  • 0:halt关机
  • 1:单用户模式启动,直接以管理员身份切入
  • 2:多用户模式,不启用NFS
  • 3:多用户模式,不启动图形界面
  • 4:保留模式
  • 5:多用户模式,启动图形界面
  • 6:reboot重启