linux内核移植(一)——linux内核简介

简介:

一:linux的起源

    Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统,Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。


二:linux内核版本

(1)linux0.01。初版,紧接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。

(2)linux0.11。很多讲linux内核源代码解析的书都是以这个版本为原

本来讲。《图解linux内核设计的艺术》

(3)linux2.4。比较接近现代的版本,很多经典的书都是以2.4版本内

核为参照的,譬如《LDD3》。linux2.4的晚期内核在前几年还会经常

碰到有用的。

(4)linux2.6早期。2.6的早期和2.4晚期内核挺像的。

(5)linux2.6晚期。2.6的晚期内核较早期内核有一些改变,尤其是驱

动相关的部分和一些头文件的位置。2.6的晚期内核目前还算是比较主

流。

(6)linux3.x 4.x,现在的最新版本为linux4.7.1


三:内核和发行版区别

  区别:内核是操作系统内核的简称,内核负责实现操作系统的核心

功能(资源管理模块,譬如内存管理、调度系统······),内核不包括

应用程序。所以说只有内核人是没法用的,因为人做任何事情都是通

过相应的应用程序来完成的。所以卖操作系统的人把内核和一些常用

的应用程序打包在一起提供给普通用户,这就是操作系统的发行版

(也就是普通意义上的操作系统)。

(1)内核只有一个。www.kernel.org

(2)发行版有很多。譬如ubuntu、redhat、suse、centos······



四:linux内核的模块化设计

1:什么是模块化设计

(1)因为linux内核很庞大,代码量很大、东西很多,如果设计时完全

设计成一体(各个文件、各个函数之间紧耦合),复杂度超出了人所

能理解的范围。所以模块化设计也是一种必要。

(2)模块化设计就是内核中各个功能模块在代码上是彼此独立的,譬如

说调度系统和内存管理系统之间并没有全局变量的互相引用,甚至函

数互相调用也很少,就算有也是遵循一个接口规范的。模块化设计的

目的就是实现功能模块的松耦合。

2:模块化设计的体现

(1)配置时可裁剪。linux内核在编译之前可以进行配置,配置时可以选择将组成内核的成千上万个模块每一个要或者不要。要了之后还有更多的一些细节的配置。

(2)模块化编译和安装。为了操作方便,逐渐从静态的升级变成了动态的升级(不需要重启系统,更不需要重新烧录系统)。这种动态的升级也是由模块化来支持的。

(3)源码中使用条件编译。这种在uboot中已经见过了



本文转自 菜鸟养成记 51CTO博客,原文链接:http://blog.51cto.com/11674570/1839723

相关文章
|
1天前
|
Linux Windows 编译器
|
2天前
|
存储 算法 Linux
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
|
2天前
|
安全 Linux
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
|
2天前
|
存储 Linux
【Linux】对信号产生的内核级理解
【Linux】对信号产生的内核级理解
|
2天前
|
消息中间件 算法 Linux
【Linux】对system V本地通信的内核级理解
【Linux】对system V本地通信的内核级理解
|
3天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
19 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
3天前
|
算法 Linux 调度
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
9 1
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
|
3天前
|
Linux 调度 数据库
|
3天前
|
存储 缓存 Linux
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
本文介绍了Xenomai中的XDDP(Xenomai Distributed Data Protocol)通信机制,XDDP用于实时和非实时进程之间的数据交换。XDDP在Xenomai内核中涉及的数据结构和管理方式,以及创建XDDP通道后的实时端和非实时端连接过程。
8 0
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
|
4天前
|
缓存 安全 网络协议
Linux内核详解,什么是linux内核?
Linux内核详解,什么是linux内核?
14 0