博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统的启动(以Linux为例)
阅读量:6863 次
发布时间:2019-06-26

本文共 1164 字,大约阅读时间需要 3 分钟。

Linux OS的启动过程在做开发的过程中,突然发现,要对系统做一些有意义的改变,必须要对操作系统的启动过程有一定的了解,不然就是修改你都不知道从哪里下手啊,然后就是找来资料看,去网上看别人的博客,有了前一周一些基本的经验,理解起来就快很多了。但是,别人的东西终究还是不适合自己,遂自己来总结一遍典型的Linux操作系统的启动过程,中间若有错误还请批评指正!1、加电并且启动BIOS加电也就是把电源按钮按下去,主板通电后会启动BIOS,都知道BIOS是写在单独的芯片中的,这个时候还只是BIOS来控制整个系统。2、BIOS到要引导的存储设备BIOS启动之后会先进行POST(short for Power On Self Test),在无误通过之后,BIOS会按照用户设定的顺序依次检索存储设备,寻找“引导块”,如果第一顺位引导硬盘的话那就是MBR(Master Boot Record),而后,BIOS会将控制权交给MBR。3、GRUB或者LILO的启动如果是单操作系统的启动,那这一步就可以跳过了,可以直接由MBR来引导起来操作系统。但是,由于MBR只能引导一个操作系统,所以我们需要MBR来进行多系统的引导。这时候,MBR的作用是引导GRUB的运行。4、加载内核在GRUB启动之后,会由它来引导内核的运行,也就是GRUB将配置中制定的内核映像拷贝到内存之中,并且会引导它的运行。但是,在这之前,还会有一个例程(这个没搞清楚是哪一个,还需要改天做实验)先运行起来,它会解压内核镜像,而好由解压好的内核来引导系统。5、执行init进程当内核完成核内引导之后就会开始加载init进程,从这里开始才是每台机子独一无二的操作,之前的大家都是一样的(除了自己编译过的内核),但是这里几乎就是每台机子都不一样了。6、系统初始化执行init进程后,还需要依赖于根目录下init/init.d来初始化整个系统,还有rc*.d目录下的各个链接,来对系统和各程序进行初始化。7、Login程序在完成系统的初始化之后,就可以看到登录的画面了,这个时候就算完成了真个操作系统的启动。                                                                                          By  Air_Fighter                                                                                             2012.7.23

转载于:https://www.cnblogs.com/airfighter/archive/2012/07/23/How_OS_RunUp.html

你可能感兴趣的文章
lua表排序
查看>>
[git]本地分支关联远程分支
查看>>
SQL Server:属性ErrorLogFile 不可用于JobServer“[SERVER]......”的问题时的解决方案
查看>>
浅解多线程(二)
查看>>
div+css
查看>>
国际市场的内容体验调查
查看>>
ASP.NET文件的上传下载提交分页
查看>>
【leetcode】388. Longest Absolute File Path
查看>>
webstorm注册码
查看>>
shell编程(2)
查看>>
TensorFlow中的基本概念
查看>>
解决y7000笔记本ubuntu下wifi无法连接问题
查看>>
vue的生命周期
查看>>
项目成功先从制定项目计划开始
查看>>
转:String StringBuffer StringBuilder区别
查看>>
浅谈javascript函数,变量声明及作用域
查看>>
基于C/S模式的程序更新-启动
查看>>
solr8.0的简单搭建(一)
查看>>
lamba表达式和匿名委托
查看>>
Sql Server系列:视图
查看>>