• linux内核的文件组织形式



    前言

    讲了Linux内核的一些文件组织管理


    1. Linux内核体系结构

    示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

    2. 内核引导与启动

    在这里插入图片描述

    BIOS/OF

    • 加电后处理器首先访问通常位于只读内存(一般是Flash ROM或仅仅是Flash)中的某一地址。
    • BIOS(基本输入输出)是x86系统加电后最先运行的代码。引导系统并与硬件相关的系统初始化代码。
    • Open Firmware是PPC(PowerPC)系统加电后最先运行的代码。

    BIOS功能

    • 自检及初始化程序;
      自检,对CPU,640K基本内存,1M以上的扩展内存,ROM,主板,CMOS存储器等进行测试。
      初始化,包括创建中断向量、设置寄存器等。
      引导程序 ,引导DOS或Linux等操作系统。
    • 硬件中断处理;系统在加电引导机器时,要读取CMOS信息,用来初始化机器各个部件的状态。
    • 程序服务请求;程序服务处理程序主要是为应用程序和操作系统服务,这些服务主要与输入输出设备有关,例如读磁盘、文件输出到打印机等。

    引导装入程序(Boot Loaders)

    • 格式化磁盘时,会创建主引导记录(MBR),该记录存储在引导设备的第一个扇区(0扇区、0磁道、0磁头)。包含:
    • 一个小程序
    • 一张四入口点的分区表
    • 结束标识符(0XAA55),用来做MBR的有效性检测。
    • Boot loader
      识别操作系统的文件格式,并根据已加载内核到内存中去执行。

    BIOS 与boot loader及内核加载流程

    在这里插入图片描述

    GNU GRUB

    GRUB(Grand Unified Bootloader),基于x86的引导装入程序,用来加载Linux。

    • GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。
    • GRUB允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。
    • GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

    GRUB2

    • GRUB2(GRand Unified Bootloader, Version 2)是GRUB的第二版。

    • GRUB目前已经不再继续开发,只是修正存在的错误。

    • 官方的说法是GRUB的编码实在太烂,以至于没法进行维护升级了,所以重新从零开发了新的GRUB2,从此以后原来的GRUB就叫做GRUB Legacy了。

    • GRUB2对GRUB2的接口进行了完整地重写,并且采用了清晰的架构和模块化的布局。

    • 目前大部分都采用GRUB2作为内核引导管理器。

    • 操作系统必须有loader才有办法加载该OS的内核。但还是MBR是整个硬盘第一个扇区中的一个区块,大小400多B。如何存储loader的数据?

    • Stage1 :执行Boot Loader的主程序
      MBR或启动扇区仅安装boot loader的最小主程序

    • Stage2:主程序加载配置文件
      通过boot loader加载所有配置文件与相关的环境文件 ( ls –l /boot/grub2)

    总结

    Linux内核的文件组织形式

  • 相关阅读:
    如何使用 Overleaf 编写 LaTeX 文档
    人工智能AI:农业病虫害计算机视觉-西红柿番茄病害识别(10种病害)
    【面试普通人VS高手系列】b树和b+树的理解
    JMETER连接数据库
    47.全排列II | 90.子集II
    前端入门(二)Vue2到Vue3
    Flutter——路由和导航
    亚马逊 CTO Werner Vogels:2023 年及未来五大技术趋势预测
    List执行remove操作间歇性报错UnsupportedOperationException
    使用MobaXterm连接服务器并利用Anaconda进行pytoch环境跑深度学习模型LeNet-5分类
  • 原文地址:https://blog.csdn.net/weixin_51422230/article/details/126772390