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