linux 学习笔记(一)

这是我的第一篇博客,距离我开始正式学习linux的知识,已经过去三个月了,比起之前盲人摸象的状态,现在好了很多,希望能把自己学习的内容真正掌握

 

linux启动流程: 第一步,电源启动后,首先启动BIOS,BIOS中存储所有主机的硬件信息,包括CPU,硬盘,内存等硬件信息。

二、读取MBR(磁盘主引导记录)共512字节,包含了预启动信息,分区表信息。包含两部分,一部分为引导区,446字节。 另外一部分为partition table分区表,共66字节。包含了磁盘的分区信息。

注:另外MBR所能识别的磁盘最大数据量为2TB,现在用的越来越多的是GUID.

三、然后通过磁盘介质,查找并启动bootloader,通过bootloader我们可以初始化硬件、建立内存空间的映射图。我们一般使用的到的 bootloader是gurb,依照grub中的设置,启动操作系统。

四、加载内核

根据grub中存在的内核镜像的路径,系统读取内核镜像,并进行解压缩,启动linux内核。

五、依据/etc/inittab设定系统的运行级别 此为/etc/inittab中的内容

# Default runlevel.

The runlevels used are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this) id:3:initdefault:

默认的runlevel等级为3 ,在命令行界面runlevel,可以显示系统当前系统的运行级别。

而带图形桌面的runlevel为5

六、init进程执行rc.sysinit

linux执行/etc/rc.d/rc.sysinit脚本程序,设定包括PATH(系统变量),网络配置(/etc/sysconfig/network), 启动swap等操作。

载入用户自定义模块 /etc/sysconfig/modules/*.modules 读取/etc/sysctl.conf内容进行内核设定 将开机信息保存到/var/log/dmesg中,可以使用dmesg查看结果。

七、执行不同运行级别下的脚本程序 /etc/rc3.d,我们默认的级别,来完成的相应的初始化和启动服务。

八、执行/etc/rc.d/rc.local 这里可以自己设定需要的启动进程,或者脚本。

九、执行/bin/login,进入登录状态。

 

另外,linux启动的同时会挂载存储设备,存储设备的list在/etc/fstab中

附一张启动流程图:

 

posted @ 2016-02-29 09:23  懵懂的青年  Views(135)  Comments(0)    收藏  举报