Linux开机启动过程详解(bootstrap)
了解计算机开机过程有助于我们修复开机可能出现的问题。
最初始阶段
当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。
下一步,计算机将从你所选择的存储设备中读取起始的512 bytes(比如光盘一开是的512 bytes,如果我们从光盘启动的话)。这512 bytes叫做主引导记录MBR (master boot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB和LILO。
随后,boot loader会帮助我们加载kernel。kernel实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过kernel传达给硬件。Wdows和Lux各自有自己kernel。狭义的操作系统就是指kernel,广义的操作系统包括kernel以及kernel之上的各种应用。
(Lus Torvalds与其说是Lux之父,不如说是Lux kernel之父。他依然负责Lux kernel的开发和维护。至于Ubuntu, Red Hat, 它们都是基于相同的kernel之上,囊括了不同的应用和界面构成的一个更加完整的操作系统版本。)
实际上,我们可以在多个分区安装boot loader,每个boot loader对应不同的操作系统,在读取MBR的时候选择我们想要启动的boot loader。这就是多操作系统的原理。
小结BIOS -> MBR -> boot loader -> kernel
kernel
如果我们加载的是Lux kernel,Lux kernel开始工作。kernel会预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,kernel会启动一个it进程。它是Lux系统中的1号进程(Lux系统没有0号进程)。到此,kernel就完成了在计算机启动阶段的工作,交接给it来管理。
小结: kernel -> it process
it process
(根据boot loader的选项,Lux此时可以进入单用户模式(sgle user mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误)
随后,it会运行一系列的初始脚本(startup scripts),这些脚本是Lux中常见的shell scripts。这些脚本执行如下功能
设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络……
当这些初始脚本,操作系统已经完全准备好了,只是,还没有人可以登录!!!it会给出登录(log)对话框,或者是图形化的登录界面。
输入用户名(比如说vamei)和密码,DONE!
在此后的过程中,你将以用户(user)vamei的身份操作电脑。,根据你创建用户时的设定,Lux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。
所以你将是用户vamei, 是vamei组的组员。(注意,组vamei和用户vamei只是重名而已,就好想你可以叫Dell, 还是Dell公司的老板一样。你完全也可以是用户vamei,为stupid组的组员)
BIOS -> MBR -> boot loader -> kernel -> it process -> log
用户,组。
网络推广
- 过期域名有价值吗 抢注过期域名的几大注意事项
- 域名注册去哪个网站好 如何辨别哪个网站好
- 洛浦百度关键词排名的优化策略与实战技巧
- 台南网站优化公司 提升您网站曝光率的最佳选择
- 广州服务器托管有什么要注意的地方
- 选域名可以先考虑哪一类 新手需要了解哪些域名
- 怎么注册好记域名 注册好记域名有什么技巧
- cc域名具有哪些优势 有没有投资价值
- 陕西SEO推广的用户痛点有哪些
- 服务器无法正常运行 也许是这3个原因导致的
- 山东百度关键词seo有没有优惠
- 元谋专业的网站建设公司 打造您的在线品牌
- SEO搜索引擎优化的细节分析
- 南溪seo网站排名关键词优化 提升网站可见性的有
- 双辽网站SEO 提升网站在搜索引擎中的可见性
- 如何利用竞价推广打造品牌口碑