欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

九、linux内核相关概念

程序员文章站 2022-07-13 21:47:42
...

树莓派等芯片带操作系统的启动过程

单片机

  C51,STM32(裸机)》》》》》》C直接操控底层寄存器实现相关业务。 业务流程型的裸机代码
  遥控灯: while(1)
  垃圾桶:WemosD1 LOOP
  恩智浦智能车: stm32

windows

windows:X86,Intel 架构处理器
Windows启动过程: 电源 -> BIOS ->windows内核->C,D盘->程序启动(QQ)

linux

  linux启动过程: 电源-》BootLoader(引导操作系统启动)-》Linux内核-》文件系统(根据功能性来组织文件夹,带访问权限)-》KTV点歌机
  嵌入式产品: 树莓派,mini2440, mini6410,nanopi,海思,RK(瑞芯微)------人脸识别打卡器,智能家居主控。。。

安卓

  启动过程: 电源-》 fastBoot/Bootloader/-》linux内核-》文件系统-》虚拟机-》HOME应用程序-》点某图标打开某APP。
BootLoader:
  一阶段:让CPU 跟内存,FLASH, 串口,IIC,IIS, 数据段,打交道,驱动这些设备(汇编和C结合)
  二阶段:引导Linux内核启动 (纯C)

树莓派Linux源码目录树分析

linux内核源码:

  大约1.3w个C文件 1100w行代码
  Linux是开源,免费,LInux开源社区工作者共同维护,爱好
  Linux是一个开源的,支持多架构多平台代码 =非常牛逼
  可以移植性非常高
  但是Linux内核编译出来一般就几M.
为啥内核代码量如此庞大?
因为支持多平台,多架构,所以编译之前要配置,配置成适合的目标平台来用
ARM架构:曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构
海思 友善之臂 RK 树莓派 nanoPi
X86架构:泛指一系列基于Intel 8086且向后兼容的*处理器指令集架构
PowerPC架构:是一种精简指令集(RISC)架构的*处理器(CPU)
MIPS架构:是世界上很流行的一种RISC处理器

Linux内核源代码目录树结构

  arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。

block:部分块设备驱动程序。

crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。

Documentation:关于内核各部分的通用解释和注释。

drivers:设备驱动程序,每个不同的驱动占用一个子目录。

fs:各种支持的文件系统,如ext、fat、ntfs等。

include:头文件。其中,和系统相关的头文件被放置在linux子目录下。

init:内核初始化代码(注意不是系统引导代码)。

ipc:进程间通信的代码。

kernel:内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放在arch/*/kernel	目录下。

lib:库文件代码。

mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。

net:网络相关代码,实现了各种常见的网络协议。

scripts:用于配置内核文件的脚本文件。

security:主要是一个SELinux的模块。

sound:常用音频设备的驱动程序等。

usr:实现了一个cpio。
相关标签: 树莓派 内核