这个Linux系统启动过程啊,说实话,我认为,刚学习的时候看几遍,了解一下就好。现在的主要任务是用。熟练了之后再来深究这个不急。

下面我就简单地说说吧。

Linux系统的启动主要分为下列步骤:

1 内核引导

BIOS开机自检,按照BIOS中设置的启动设备(通常为硬盘)来启动。OS(Oerating System 操作系统)接管硬件后,首先读入/boot下的内核文件。

2 运行init进程

init进程(process)是所有进程的起点。只有启动了该进程,其它进程才可以启动。就像Java中函数调用顺序中的函数入口——main函数。如果你玩过红色警戒(Red Alert)。它就像是里面的基地车。

展开基地车后(启动init进程后)

才可以创建其它设施,建设军队。是不是很形象。哈哈。

3 确定启动程序

然而,不同的机器可能有着不同的作用。那么在开机时就要启动不同的进程。比如作为服务器,我们就要启动Apache。用作桌面则不需要。为了满足这个需求,Linux允许为不同的场合分配不同的开机启动程序。这就是运行级别(runlevel)。

我就直接粘贴过来了。

  Linux系统有7个运行级别(runlevel):

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

因为我主要是用作服务器。所以用不到级别5。

4 系统初始化

它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。相当于建造矿场,发电站,兵营和军事工厂这四大基础设施。

   5 建立终端

默认的运行级别将以respawn方式运行mingetty程序,mingetty程序能打开终端,并开启一个文本登录界面。就是我们登录时的那个界面。在登陆界面中输入的用户名会作为用户名参数传给login程序用于校验登录。

6 用户登录

登录方式有三种:

1) 命令行登录(登录界面直接输用户名和密码)

   2) ssh登录(通过ssh命令实现登录。我们在上一篇,环境安装中通过XShell连接Linux系统并登录就是这种方式)

3) 图形界面登录

参考链接: http://www.runoob.com/linux/linux-system-boot.html

最新文章

  1. BZOJ 1391: [Ceoi2008]order [最小割]
  2. BOM,DOM,ECMAScripts三者的关系
  3. 给Macbook Pro更换固态硬盘并转移系统的最简单办法
  4. 用python实现计算1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))类似的公式计算
  5. ubuntu16.04 orbslam ./build.sh 出错eigen
  6. .net 4.0 自定义本地缓存策略的不同实现
  7. C++ sort vector<vector<int> > or vector<MyClass> 容器的排序
  8. Keepalive
  9. C++ Socket编程步骤 【转】
  10. springmvc里面的中文乱码问题
  11. 代码-Weka的NaiveBayes类
  12. mind nerverr later(转)
  13. 各版本IIS安装方法
  14. 2077 汉诺塔IV
  15. Maven元素解析——pom.xml
  16. Entity Framework连接postgresql,code first
  17. 开源网盘云存储 Seafile
  18. window系统命令行设置proxy----Setting a proxy for Windows using the command-line
  19. Laravel 深入理解路由和URL生成
  20. 通过yiic来创建yii应用

热门文章

  1. C#爬虫系列(二)——食品安全国家标准数据检索平台
  2. O(N^2)最长上升子序列
  3. linux内核模块编程实例
  4. Linux正则表达式语法
  5. ASP.NET没有魔法——ASP.NET MVC使用Oauth2.0实现身份验证
  6. 自己实现String.prototype.trim方法
  7. 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数
  8. constructor.prototype
  9. lucene6+HanLP中文分词
  10. Go语言核心之美-必读