深入浅出-linux系统的启动流程-Linux系统的启动过程 (深入浅出类似的词语成语)

教程大全 2025-07-19 01:15:24 浏览

Linux系统启动过程是操作系统运行机制中一个十分重要的部分,下文将深入浅出的介绍一下Linux系统的启动过程。

首先,当电源通电时,电路板上的BIOS(主板上的固件)负责检查加载硬件数据,发出自检信号,BIOS既检查硬件信息,又由一张启动记录卡片读取启动项,然后运行第一张启动盘或者通过网络启动的形式加载操作系统引导程序,目前常用的开机引导程序有,GRUB(真正的Linux主引导程序),和LILO(老式的主引导程序,现在已经很少用了)等,以及neist(Intel开发的引导程序)等 。

接着,引导程序会负责引导识别内核,并加载内核,而内核又全都在操作系统的根目录下/boot/vmlinuz 或者/boot/vmlinux,接下来,内核便位于内存中并开始运行,接着便可以根据grub的配置文件调用 inintrd/inintrd.img(Initramfs) 作为它的initrd的文件系统,Initrd作用是从根目录/文件/initrd中装载必要的信息,如:文件系统驱动器,网络启动程序,或者发现某些异常情况,则从特定的目录中查找解决办法。

最后,Initrd执行完毕,内核便会加载/sbin/init程序,Init程序是一切操作系统的真正控制者,作用是建立操作系统的运行环境,包括自启动驱动程序,配置控制台,启动守护进程,显示图形用户接口等等,Init也是启动权限链的最终一环。

Linux系统的启动过程结束,便可以登陆完成工作了!总结一下就是:电源通电自检之后,通过启动引导程序加载内核,内核可以识别硬件,装载某个文件系统,并将其装入RAM,接着/sbin/init程序会自动启动,然后根据系统的故事线加载文件系统,实现Linux系统的正常启动。

|BIOS||Grub/LILO ||KERNEL|| INITRD/IMG ||INIT|

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


linux怎么打开程序

你先去学基础知识就行了,如果你不想学,那就最好改用 for windows 的版本……1、你在开始菜单里面找不到的程序,当然要用终端来运行,其实,可以用运行解决。 印象里打开运行菜单的快捷键是 alt + f2 。 你的开始菜单上面或许也有运行的功能,和Windows 的开始菜单,运行的作用一样,但 Linux 这个运行功能更多一些(看你用什么窗口管理器了)。 Linux 的程序是按照每个文件不同的性质放在不同的目录里。 这样程序之间的调用会方便很多,而且这也是 POSIX 定义的规范。 可以保证很好的兼容性。 所以你没有必要去找程序装在了什么地方。 直接运行就行了,系统会帮你找到需要的东西。 2、因为 Linux 的程序可以不可以执行,要看他是不是可以“运行”,这是一个权限设置,没有这个权限,就算他真的是个程序也不行。 有这个权限的文件就算不是程序,也可以运行,只不过系统运行他会出错而实际上不能运行(能运行的程序有特殊结构的)。 3、看你的是 KDE 还是 GNOME 了,都有菜单管理器。 印象里都是开始菜单上右键都有这个程序的启动项。 PS:Linux 下面用终端运行程序,关掉终端会一同关掉运行的程序是因为,Linux 下面,被终端运行的程序会成为终端的子进程。 子进程在父进程关闭而子进程没有经过特殊设置的时候,会被同时关闭。 这是系统的默认设置。 应该是一种保证系统资源稳定的设计,防止父进程已经退出,但子进程还在运行等父进程消息的这种情况,这样很浪费系统资源。 这种情况是服务器杀手,直接可以拖死服务器。

Linux系统从开机到登陆界面的启动过程是什么样的?

黑马程序员提醒您过程如下:⑴开机BIOS自检,加载硬盘。 ⑵读取MBR,MBR引导。 ⑶grub引导菜单(Boot Loader)。 ⑷加载内核kernel。 ⑸启动init进程,依据inittab文件设定运行级别⑹init进程,执行文件。 ⑺启动内核模块,执行不同级别的脚本程序。 ⑻执行/etc/rc.d/⑼启动mingetty,进入系统登陆界面。

Linux环境变量顺序是什么?

路径排前面的优先。 比如 $JAVA_HOME/bin和/usr/bin下面都有java。 PATH=$JAVA_HOME/bin:$PATH 时,执行 java的时候是$JAVA_HOME/bin/java,如果没有再执行/usr/bin/java PATH=$PATH:$JAVA_HOME/bin 时,执行 java的时候是/usr/bin/java。 一般用户设定都是为了特殊用途,使用方式2没什么意义,所以方式1多些。 内核启动的时候,各个驱动初始化的工作在文件init/main.c中的do_basic_setup()函数中做.

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐