14 Nov 2014
启动流程:
BIOS(basic in out system)
通电检查硬件,然后加载第一可用启动项的mbr;
MBR(main boot recorder)
磁盘的第一个扇区,共512字节,446字节的boot程序空间,64字节的分区表,2字节的校验位。执行MBR内保存的boot loader程序,一般为GRUB,通过GRUB来找到kernel和initrd(centos6里面此文件更名)并将其拷贝到内存解压,控制权交给kernel;
kernel接管系统
会执行ramdisk,通过ramdisk识别并释放文件系统,从而加载硬件驱动,此时硬件系统准备完毕,接下来系统会执行init程序。
第一个进程init启动
init的作用就是要准备软件执行的环境(主机名称、网络设置、语言环境设置、档案系统格式和其他一些服务)。
配置文件:/etc/inittab。按照上述配置文件里的描述,启动相应runlevel的服务和程序。(例如启动/etc/rc3.d/下面的程序,/etc/rc3.d/下的文件名称一种以K开头,意为kill,不启动,一种以S开头,意为start,根据S后面的两位数字的大小进行由小到大的顺序启动)
至此软件运行环境准备完毕;
user的自定义启动项配置文件
运行/etc/rc.local,(centos6和centos5里面的路径有差异)
此配置文件可以设置任何你希望开机执行的命令或程序,包括shellscript
启动终端或x-window
配置文件:/etc/inittab
根据上面的配置文件,启动 /sbin/mingetty,启动六次,也就是启动6个终端,至此,系统显示登陆界面,启动过程准备完成。
GRUB配置文件:/boot/grub/grub.conf(/etc/grub.conf是软连接)
相关命令:
pstree, 查看系统进程树w, 结果可以看出,几个tty在登陆,几个pts(远程连接)在登陆。/ 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件等 /dev 存放设备文件 /etc 存放系统的配置文件 /home 用户文件的主目录,用户数据存放在其主目录中 /lib 存放必要的运行库 /mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。 /proc 存放存储进程和系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件的目录 /usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。 /var 包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单独的放在一个分区。