学嵌入式不得不知的linux内核

Linux内核基本概念

  • 从技术上说 linux 是一个内核
  • “内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。
  • 通常我们使用的 linux 系统是一个集 linux 内核、工具集、各种库、桌面管理器、应用程序等一体的一个发布包 (发行版)‏

主流的 Linux 发行版

  • Gentoo Linux
  • Asianux
  • Slackware Linux
  • Turbo Linux
  • CentOS
  • Debian GNU/Linux
  • Red Hat Linux
  • Fedora Core
  • Ubuntu Linux
  • SUSE Linux

Linux 内核的特性

  • 免费开源

  • 可以移植,支持的硬件平台广泛
    arm, i386, m68k, m32r,m68knommu, mips, ppc, s390, sh, sparc

  • 高可扩展性

  • 可剪裁、可扩展,可以运行在大型主机,也可以运行在个人计算机上

  • 高可靠性、稳定性
    稳定性是linux鲜明特点,安装了linux系统的主机,
    连续运行一年不宕机是很平常的事情

  • 超强的网络功能

  • 真正的多任务,多用户系统

  • 模块化设计
    模块可以动态加载,卸载,可以减少系统体积,同时可以用来解决冲突问题,模块调试

Linux内核版本

  • 目前linux系统采用 A.B.C.D 的版本号管理方式
    A 表示linux的主版本号
    B 表示linux的次版本号,B 为偶数表示稳定版本,奇数表示开发中的版本
    C 表示linux的发行版本号
    D 表示更新版本号
  • 主版本(X.Y)
    1.0 2.0 2.2 2.4 2.6 3.x

Linux内核子系统

  • 进程管理
  • 内存管理
  • 文件系统
  • 网络协议
  • 设备管理

Linux内核模块结构图

在这里插入图片描述

编译内核(已移植好的)

  • 编译内核 make uImage
  • 编译设备树 make dtbs

Linux内核代码结构(1)

在这里插入图片描述

Linux系统源代码目录结构(2)

在这里插入图片描述

Linux内核启动分析

  • u-boot启动阶段
    U-Boot 2013.01 (Aug 24 2014 - 12:01:19) for FS4412
    CPU: Exynos4412@1000MHz
    Board: FS4412
    DRAM: 1 GiB
    ……Loading: *######################
    Starting kernel …
  • linux内核启动阶段
    Booting Linux on physical CPU 0xa00
    Linux version 3.14.0 (david@ubuntu)
    CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
    Machine model: Insignal Origen evaluation board based on Exynos4412
    IP-Config: Complete:
    VFS: Mounted root (nfs filesyst
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值