标签:sequence 网络管理 配置文件 linux 操作系统
系统启动流程(1)
pc:os(linux)
POST(加电自检)-->BIOS (Boot sequence)(决定到哪里有启动操作系统的顺利)--MBR(bootloader ,446bit)
-->Kernel (文件系统、进程管理、内存管理、网络管理、安全功能、驱动程序)-->initrd
--/sbin/init (用户空间进程的管理)[启动系统模块,与相关的硬件信息的初始化文件 /etc/rc.d/rc.sysinit-->启动系统中所需的各项服务/etc/rc.d/rc]
/etc/rc.d/ec.loacl 可以自定义脚本程序在这里,开机启动就可以启动的服务
这些脚本的配置文件都是放在、/etc/sysconfig
系统自定义的设备与模块对应文件 : /etc/modprobe.conf
加载流程:
1、通电自检,加载BIOS的硬件信息与进行自我测试,并根据设置取得第一个可启动的设备;
2、读取并执第一个启动设备内MBR的boot loader(即是grup,spfdisk等程序)
3、依据boot loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序
4、在硬件驱动成功后,Kernel会主动调用init进程,而init会取得run-level等信息
5、init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络、时区等信息)
6、init执行run-revel的各个服务的启动
7、init执行/etc/rc.d/rc.local文件
8、init执行终端模拟程序mingetty来启动login进程,最后就等用户登录
运行级别:启动的服务不同
运行级别:0-6
0:halt 关机
1:single user mode 单用户模式 ,直接以管理员身份切入,不用密码(维护模式)1 s S singer
2:multi user mode, no nfs文件系统 多用户模式
3:multi user mode,多用户命令模式
4:reseved 保留级别
5:multi user mode 多用户界面模式
6:重启
运行级别的配置文件 /etc/inittab
详解启动过程
bootloader(属于MBR)
linux LILO:linux LOader
GRUB:
stagel:MBR
stagel1.5:
stagel:/boot/grub/
grub 的配置文件
greb.conf
default=0 设定默认启动的title的编号,从0开始
timeout=5 等待用户选择的超时时长,单位为妙
splashimage=(hd0,0)/grub/splash.xpm.gz grub 的背景图片
hiddenmenu 隐藏菜单
password 明文
password --md5 md5格式加密的 命令行grub-md5-crypt 可以直接产生MD5密码
title CentOS 6 (2.6.32-504.el6.x86_64) 内核标题或操作系统名称,字符串可以自由修改
root (hd0,0) 内核文件所在的设备,对Grub而言,所有类型硬盘一律为hd: 表示第几个磁盘,最后的0表示对应磁盘的分区
kernel /vmlinuz-2.6.32-504.el6.x86_64 ro SFONT=
initrd /initramfs-2.6.32-504.el6.x86_64.img
查看运行级别:
runlevel who -r
查看内核:
uname -r 显示内核版本号
安装grub stagel:
#grub
grub >root (hd0,0)
grub >set (hd0)
安装grub第二种方式:
# grub-install --root-directory=/
Kernel初始化的过程中:
1:设备探测
2:驱动初始化(从initrd文件中装载驱动模块)
3:以只读方式挂载根文件系统
4:装载第一个进程init (pid :1)
/sbin/init: 读取的文件(/etc/inittab)
upstart
id:标识符
runlevels:运行在哪个级别;
action:在什么情况下执行此行;
process:要运行进程;
si :sysinit (系统初始化)
initdefault:设定默认运行级别
sysinit:系统初始化
wait:等待级别切换完成
/etc/rc.d/sysinit完成的任务:
1、激活udev和selinux;
2/根据/etc/sysctl.conf文件,来设定内核参数;
3、设定时钟时钟;
4、装载键盘映射;
5:启用交换分区;
6:设置主机名;
7:根文件系统检测,并以读写方式重写挂载
8:激活RSID和LVM设备
9:启用磁盘配额;
10:根据/etc/fstab,检查并挂载其它文件系统;
11:清理过期的锁和PID文件;
内核设计的风格:
单内核:把所有的功能多做成一个内核,Linux,仅支持轻量级进程(线程)
核心:KO(Kernel object)
微内核:window,支持多线程
chroot:chroot /PATH/TO
核心:/boot/vmlinuz-version
内核模块(ko):/lib/modules/version/
内核设计:
单内核 Linux 模块化设计 内核很小,吧基本的功能装载模块
微内核 模块化设计
装载模块:
indmod
www.kernel.org
用户空间访问,监控内核的方式:
/proc,/sys
伪文件系统
/proc/sys :在此目录中的文件是可以读写的,
/sys :某些文件可写
设定内核参数值的方法:
echo VALUE > /proc/sys/...
sysctl -W kernel.hostname=
内核参数脚本: /etc/sysctl.conf
内核模块管理 ;
列出内核装载了哪些模块 command:lsmod
管理模块: modprobe MOD_NAME:装载某个模块
modprobe -r MOD_NAME 卸载某个模块
查看模块的具体信息 modinfo COM_NAME
insmod /PATH/TO/MOD-NAME_FILE 装载模块, 一定要指定模块的路径
remod MOD_NAME 移除某个模块
depmod /PTAH/TO/MODLIES_STR 依靠关系
内核中的 功能除了核心功能之外,在编译的时候,大多功能会有三种选择:
1、不适用此功能
2、编译成内核模块
3、编译进内核
如何手动编译内核:
查看内核版本: uname -r
标签:sequence 网络管理 配置文件 linux 操作系统
原文地址:http://10744927.blog.51cto.com/10734927/1705251