iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux启动过程的示例分析
  • 813
分享到

Linux启动过程的示例分析

2023-06-09 16:06:02 813人浏览 八月长安
摘要

这篇文章主要为大家展示了“linux启动过程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux启动过程的示例分析”这篇文章吧。Linux启动过程详细介绍启动第一步--加载BIOS

这篇文章主要为大家展示了“linux启动过程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux启动过程的示例分析”这篇文章吧。

Linux启动过程详细介绍

Linux启动过程的示例分析

启动第一步--加载BIOS

当你打开计算机电源,计算机会首先加载BiOS信息,BioS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。

启动第二步--读取MBR

众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。

系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

启动第三步--Boot Loader

Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader。
我们以Grub为例来讲解吧,毕竟用lilo和spfdisk的人并不多。
系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。

启动第四步--加载内核

根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。

启动第五步--用户层init依据inittab文件来设定运行等级

内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。
其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
关于/etc/inittab文件的学问,其实还有很多

启动第六步--init进程执行rc.sysinit

在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。如果你有兴趣,可以到/etc/rc.d中查看一下rc.sysinit文件,里面的脚本够你看几天的

启动第七步--启动内核模块

具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

启动第八步--执行不同运行级别的脚本程序

根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

启动第九步--执行/etc/rc.d/rc.local

你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

启动第十步--执行/bin/login程序,进入登录状态

此时,系统已经进入到了等待用户输入username和passWord的时候了,你已经可以用自己的帐号登入系统了。:)
===
漫长的启动过程结束了,一切都清静了…
其实在这背后,还有着更加复杂的底层函数调用,等待着你去研究…本文就算抛砖引玉了:)

以上是“Linux启动过程的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux启动过程的示例分析

本文链接: https://www.lsjlt.com/news/256650.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux启动过程的示例分析
    这篇文章主要为大家展示了“Linux启动过程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux启动过程的示例分析”这篇文章吧。Linux启动过程详细介绍启动第一步--加载BIOS...
    99+
    2023-06-09
  • linux启动流程的示例分析
    这篇文章将为大家详细讲解有关linux启动流程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux启动流程简介我们都知道,由于linux的稳定性,通常被作为服务器系统,要想称为一个PHP的高...
    99+
    2023-06-09
  • Angularjs中启动过程的示例分析
    这篇文章主要介绍Angularjs中启动过程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!启动过程(v1.3.9)步骤一用自执行函数的形式让整个代码在加载完成之后立即执行i...
    99+
    2022-10-19
  • Linux中启动与自启动的示例分析
    这篇文章将为大家详细讲解有关Linux中启动与自启动的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux启动与自启动的实例详解一 启动与自启动服务启动:就是在当前系统中让服务运行,并提供功能...
    99+
    2023-06-09
  • Linux启动脚本的示例分析
    这篇文章主要介绍Linux启动脚本的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redhat的启动方式和执行次序是:加载内核执行init程序/etc/rc.d/rc.sysinit # 由init执行的**...
    99+
    2023-06-17
  • android性能优化之启动过程的示例分析
    小编给大家分享一下android性能优化之启动过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、应用的启动方式通常来说,启动方式分为两种:冷启动和热...
    99+
    2023-05-30
    android
  • Linux中开机启动的过程分析
    这篇文章主要介绍了Linux中开机启动的过程分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Inp...
    99+
    2023-06-13
  • Linux程序编译过程的示例分析
    小编给大家分享一下Linux程序编译过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文将介绍如何将高层的C/C++语言编写的程序转换成为处理器能够执...
    99+
    2023-06-15
  • 简要分析linux系统的启动过程
    接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程: 一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下几步: 1)开...
    99+
    2022-06-04
    linux系统的启动过程 linux启动过程
  • Tomcat9请求处理流程与启动部署过程的示例分析
    这篇文章主要为大家展示了“Tomcat9请求处理流程与启动部署过程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Tomcat9请求处理流程与启动部署过程的示例分析”这篇文章吧。Over...
    99+
    2023-06-02
  • Linux系统开机后的启动过程分析
    本篇内容介绍了“Linux系统开机后的启动过程分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux的启动其实和windows的启动过...
    99+
    2023-06-13
  • Android Service的启动过程分析
    Android Service的启动过程分析 刚开始学习Service的时候以为它是一个线程的封装,也可以执行耗时操作。其实不然,Service是运行在主线程的。直接执行耗时操...
    99+
    2022-06-06
    android service service 启动 Android
  • 小程序启动app开发示例分析
    这篇文章主要介绍“小程序启动app开发示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序启动app开发示例分析”文章能帮助大家解决问题。  小程序跳转app使用说明  用户可以在小程序里更...
    99+
    2023-06-26
  • linux驱动程序开发的示例分析
    这篇文章主要为大家展示了“linux驱动程序开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux驱动程序开发的示例分析”这篇文章吧。前提,一般来说内核代码的错误可能会引起一个用...
    99+
    2023-06-13
  • Bootstrap过渡动画的示例分析
    这篇文章主要为大家展示了“Bootstrap过渡动画的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Bootstrap过渡动画的示例分析”这篇文章吧。动...
    99+
    2022-10-19
  • Vue3过渡动画的示例分析
    这期内容当中小编将会给大家带来有关Vue3过渡动画的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景在我的 《Vue 3 开发企业级音乐 App》课程问答区,有个同学提了个问题,在歌手列表到歌手...
    99+
    2023-06-22
  • linux下mongodb集群搭建过程的示例分析
    小编给大家分享一下linux下mongodb集群搭建过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mongodb的集群结构如上图网上有个mongo3...
    99+
    2023-06-29
  • U盘启动proxmox ve的示例分析
    U盘启动proxmox ve的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Proxmox虚拟环境是基于QEMU / KVM和LXC的开源服务器虚拟化管理解决方案。...
    99+
    2023-06-05
  • Linux中运行级别与重新启动的示例分析
    这篇文章将为大家详细讲解有关Linux中运行级别与重新启动的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述在本文中,学习关闭或重启您的 Linux 系统,警告用户系统正在关闭,请切换到单用户模...
    99+
    2023-06-16
  • Spring IOC容器启动示例分析
    目录一、简介二、IOC整体流程一、简介 Spring核心有两个: IOC:控制反转AOP:面向切面编程 相信大家在项目中都使用过Spring进行开发,都知道Spring非常强大,那么...
    99+
    2023-02-14
    Spring IOC容器启动流程 Spring IOC容器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作