Linux在按下开机键之后都做了什么?

今天小编要跟大家分享的文章是关于Linux再按下开机键之后都做了什么?计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。下面我们就一起来看一看,Linux在按下开机键之后都做了哪些? Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助 !

<img src="http://Linux.tedu.cn/upload/20190620/20190620164725_649.jpg" alt="Linux在按下开机键之后都做了什么?"/>

一、最初始阶段

当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。

下一步,计算机将从你所选择的存储设备中读取起始的512 bytes(比如光盘一开是的512 bytes,如果我们从光盘启动的话)。这512 bytes叫做主引导记录MBR (master boot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (内核)所在位置等。常用的boot loader有GRUB和LILO。

随后,boot loader会帮助我们加载内核(kernel)。内核实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过内核传达给硬件。Windows和Linux各自有自己内核。狭义的操作系统就是指内核,广义的操作系统包括内核以及内核之上的各种应用。

(Linus Torvalds与其说是Linux之父,不如说是Linux 内核之父。他依然负责Linux 内核的开发和维护。至于Ubuntu, Red Hat, 它们都是基于相同的内核之上,囊括了不同的应用和界面构成的一个更加完整的操作系统版本。)

实际上,我们可以在多个分区安装boot loader,每个引导加载程序对应不同的操作系统,在读取MBR的时候选择我们想要启动的引导加载程序。这就是多操作系统的原理。

小结:BIOS -> MBR -> 引导加载程序 -> 内核

二、内核

如果我们加载的是Linux内核,Linux内核开始工作。内核会首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,内核会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,内核就完成了在计算机启动阶段的工作,交接给init来管理。

小结:内核 -> init process

三、init process

(根据boot loader的选项,Linux此时可以进入单用户模式(single user mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误)

随后,init会运行一系列的初始脚本(startup scripts),这些脚本是Linux中常见的shell scripts。这些脚本执行如下功能:

设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络……

当这些初始脚本,操作系统已经完全准备好了,只是,还没有人可以登录。init会给出登录(login)对话框,或者是图形化的登录界面。

输入用户名(比如说vamei)和密码,DONE!

在此后的过程中,你将以用户(user)vamei的身份操作电脑。此外,根据你创建用户时的设定,Linux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。

所以你将是用户vamei, 同时是vamei组的组员。(注意,组vamei和用户vamei只是重名而已,就好想你可以叫Dell, 同时还是Dell公司的老板一样。你完全也可以是用户vamei,同时为stupid组的组员)

四、总结

BIOS -> MBR -> 引导加载程序 -> 内核 -> init process -> login

用户,组。

以上就是小编今天为大家分享的关于Linux在按下开机键之后都做了什么?的文章,希望本篇文章能够对正在使用Linux系统的用户有所帮助。想要了解更多Linux相关知识记得关注马哥教育官网。最后祝愿小伙伴们工作顺利!

作者:Vamei

链接:http://www.cnblogs.com/vamei/archive/2012/09/05/2672039.html

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

原文地址:https://www.cnblogs.com/woshijiuke/p/12199887.html

时间: 2024-10-12 12:13:42

Linux在按下开机键之后都做了什么?的相关文章

Android从按下开机键到启动发生了什么

作为一个Android开发者,了解整个系统架构是必须的,所以这篇就总结一下Android手机从按下开机键到启动这一过程发生了什么. 要了解Android手机启动过程,我们先来了解一下基于linux系统的电脑从按下电源键的那一刻起,发生了什么,这样类比可以更好的理解Android手机的启动过程. 基于Linux的pc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中的,然而我们的操作系统一般是存放在硬盘上的,当我们按下开机键的时候,此时内存中什么程序也没有,因此需要借助某种方式,将操

电脑在开机的时候都做了些什么

首先嘛,开机对于大家来说也就是捅一下开机按钮,然后电脑开始嗡嗡叫,各种风扇转起来,显示器上显示了一个LOGO,最后就看到了Win7的启动动画.这个过程中,电脑详细都做了些什么呢?我在这里详细的说一说我的了解.(注意这只是我的了解,我还是很严谨的哦) 1.开机之后,主板的芯片组会给CPU发送一个RESET信号,CPU会挂起,并不马上执行指令(CS:EIP=0xFFFF:0x0000) 这个时候CPU完成初始化,内部恢复到初始状态. 等芯片组检测到电源已经稳定供电了,芯片组就撤去RESET信号,CP

Linux命令行下的快捷键

1. 命令行下的快捷键 经常在命令行下工作的同志们,可能用的最多的就是两个上下键,主要用来调出历史命令:使用左右箭头使光标向后或向前移动以修改上次使用过的命令.其实这样做效率并不是很高,有了快捷键可以让我们的效率有所提高,而且看起来还更专业.更加Awesome.更加Geek.掌握了这些快捷键,我们可以做到手不离主键盘区域,完全可以忽略掉键盘上的四个可爱的箭头.当我们熟练之后,会越发喜欢这种方式. 1.1 常用快捷键介绍 下面介绍一些作者在命令行下经常使用的快捷键,这些快捷键在Emacs下面是有同

三星Exynos4412开发板RP4412升级烧写时注意按开机键5秒左右

关于荣品4412开发板使用中相关问题,仅作参考. 注意:RP4412开发板升级烧写换到inand启动时一定要按开机键5S左右. 问:用的荣品三星Exynos4412开发板,我把RP4412的iNAND内容清空后,按照升级方法所说的在命令行运行writer_4412_file.bat,升级完后开发板不能从iNAND启动.什么原因? 答:烧写的文件是1G内存的还是2G内存的.确定下烧对文件. 问:好像是1G,我在试试看试了还是不行呢怎么办,现在都没法启动了. 答:你确认下有没有严格按照步骤来烧写文件

惠普笔记本按开机键后电源灯亮的,但是屏幕一直是黑的,只有大写锁定键闪烁,闪3次一个循环,听得到风扇

现象: 惠普笔记本按开机键后电源灯亮的,但是屏幕一直是黑的,只有大写锁定键闪烁,闪3次一个循环,听得到风扇转动的声音,热风,cpu应该也在工作,请问是什么问题. 解决(我按照红色的作了,就可以了,真是奇怪...): 您好,感谢您选择惠普产品. 1.您的笔记本开机黑屏,请您回忆一下最近是否进行过什么方面特殊操作,比如最近是否进行过硬件改动(例如添加过新内存)或者连接了外接设备,如果是,建议您恢复之前硬件配置及断开所有外接设备看是否可以正常开机. 2.如果您没有进行过特殊操作,使用电池或电源适配器供

linux将指令加入开机启动或加入环境变量

以mongodb运行指令为例,/usr/local/webserver/mongodb/bin/mongo 1,linux将指令加入环境变量PATH 简单说PATH就是一组路径的字符串变量,当你输入的命令不带任何路径时,LINUX会在PATH记录的路径中查找该命令.有的话则执行,不存在则提示命令找不到.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls命令根本不在这个两个目录下,当你输入ls命令时LINUX会去/bin,/usr/bin,/sbin等目录寻找该命令.而P

linux 查询目录下包含关键字的所有文件

linux查找目录下的所有文件中是否含有某个字符串 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^

Linux 系统根目录下各个文件夹的作用

原文: https://blog.csdn.net/qq_26941173/article/details/78376760 /bin 系统由很多放置可执行文件的目录,但是bin目录比较特殊.因为bin目录下面放置的是在单用户维护模式下还能被操作的命令 在/bin下面的被root用户和一般的用户所使用,主要有cat.chmod.chown.date.mv.mkdir.cp.bash等. /boot 这个目录主要放置开机能够使用到的文件,包括linux内核文件和开机菜单与开机所以需要的配置文件.

linux网络环境下socket套接字编程(UDP文件传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux