首页 > 系统相关 >Linux的启动过程

Linux的启动过程

时间:2022-09-26 15:57:14浏览次数:46  
标签:启动 程序 boot 文件系统 etc 内核 Linux 进程 过程

  1. 接通电源后BIOS开机自检,对硬件进行检测
  2. 加载MBR(主动引导记录),从磁盘调入boot独立程序, boot把自身复制到高位地址的内存,从而为操作系统释放低位地址的内存。
    MBR包括三部分内容:引导程序,分区表和分隔表示,最多512字节,引导程序最多446字节
  3. boot程序读取启动设备的跟目录,boot要理解文件系统和目录格式,然后boot被调入内核,控制权交给内核
  4. 内核启动,创建内核堆栈,识别CPU类型,计算内存,禁用中断,启动内存管理单元
  5. 分配一个消息缓冲区来存放调试出现的问题
  6. 操作系统进行自动配置,加载配置文件,检测设备,设备如果没有响应就忽略,响应则添加到已连接设备表中
  7. 配置完硬件后,创建进程0,设置堆栈并运行,执行初始化、配置时钟,挂载文件系统, 创建init(进程1)进程和守护进程(进程2)
  8. init进程会检测时为单用户服务还是多用户服务,如果是单用户,会fork一个shell进程。多用户fork创建一个运行系统初始化的shell脚本(etc/rc)进程,可以进行文件系统一致性检测,瓜汁文件系统,开启守护进程
  9. etc/rc进程会从/etc/ttys读取数据,/etc/ttys列出了所有的终端和属性,对于每一个启用的终端,这个进程会fork一个自身的副本,进行内部处理并运行一个getty的程序。
  10. getty程序会等待用户输入用户名和密码,然后启动/bin/login登录程序开始运行,检测密码,正确则用login程序以用户shell程序替换自身。

标签:启动,程序,boot,文件系统,etc,内核,Linux,进程,过程
From: https://www.cnblogs.com/baiyutang7/p/16731194.html

相关文章

  • Linux常用基本命令(进程管理类)
    进程管理类进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。 7.1ps查看当前系统进程状态ps:processstatus......
  • VMware虚拟机怎么快速克隆一台linux
    1、如图所示,点击“克隆”按钮  注意,克隆之前选择的机器需要关机!2、如图,点击“下一步”  下一步  3、选择“创建完整克隆”,默认的是第一个,不要选第一个......
  • 简单将Springboot项目部署到linux服务器上
    1.使用springboot的jar包方式直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到jar包3.将jar包放到linux的任意文件夹下(此项目是之前的kafkade......
  • Linux安装Maven
    Maven功能:Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。Maven官网:Maven–DownloadA......
  • 「国产系统」Tubian 0.1,兼容Windows和Android的GNU/Linux系统!
    Tubian是我的自用系统整理而成的Linux发行版,基于Debian,对Windows和Android应用提供了较为完善的兼容。可以直装QQTIM微信MSOFFICE等大量Windows应用,并且几乎实现对Android......
  • linux中sed命令同时传入两个参数
     001、[root@PC1test]#lsa.txt[root@PC1test]#cata.txthdwqgdt[root@PC1test]#sed-n"$a,$b"pa.txt##同时传入两个变量参数dwq ......
  • Linux tcpdump 命令使用详解
    文章目录一、介绍二、基础用法三、进阶用法四、总结和建议一、介绍在日常工作中,我们总是能遇上各种各样奇怪的网络问题,比如我这台机器怎么ping不通了,我的ssh怎么......
  • RSA 对称加密,对称解密----公钥私钥加密解密过程
    RSA对称加密,对称解密----公钥私钥加密解密过程(Java)公司说不能传铭文密码,所以只能加密,再解密;麻烦事,其实这在需求文档没有,开发时间点也没有,浪费了了一上午的时间,还......
  • linux cron 任务不成功定位
    编辑定时任务:crontab-e查看定时任务执行情况tail-500f/var/log/crontail-500f/var/spool/mail/root报错:/bin/bash^M:坏的解释器:没有那个文件或目录原因:这个文件......
  • C程序编译过程
    gcc命令依次执行了如下四步操作1--预处理(Preprocessing)预处理用于将所有的#include头文件以及宏定义替换成其真正的内容,预处理之后得到的仍然是文本文件,但文件体积会大......