什么是Linux内核 有什么用?

宗燕先
导读 今天,我们就来谈谈什么是Linux内核,Linux内核是用来做什么的一些信息。很多朋友对这个信息感兴趣。边肖今天整理了一些相关资料,希望能帮

今天,我们就来谈谈什么是Linux内核,Linux内核是用来做什么的一些信息。很多朋友对这个信息感兴趣。边肖今天整理了一些相关资料,希望能帮助到有需要的朋友。

Linux是一个开源的计算机操作系统内核。它是一个用C语言编写的,符合POSIX标准的类Unix操作系统。

Linux内核

Linux最初是由芬兰的Linus Torvalds开发的,试图在Intel x86架构上提供一个免费的类似Unix的操作系统。该项目始于1991年。在该计划的早期,一些Minix黑客提供了帮助。今天,全世界无数的程序员都在免费帮助这个程序。

内核结构

操作系统是用于处理硬件并为用户程序提供有限服务集的底层支持软件。计算机系统是硬件和软件的共生体,两者相互依存,不可分割。计算机硬件,包括外围设备、处理器、内存、硬盘和其他电子设备,构成了计算机的引擎。但是没有软件来操作和控制它是不行的。完成这种控制工作的软件称为操作系统,在Linux术语中称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分为以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统初始化(boot)、系统调用等。

版本号

Linux内核使用三种不同的版本编号方法。第一种方法在1.0版之前(包括1.0版)使用。第一个版本是0.01,接着是0.02,0.03,0.10,0.11,0.12,0.95,0.96,0.97,0.98,0.99然后是1.0。

第二种方法在1.0到2.6中使用。该编号由“A.B.C”三部分组成,其中A代表主版本号,B代表次主版本号,C代表较小的最后版本号。只有内核发生大的变化(历史上只有两次,1994年的1.0和1996年的2.0),才会发生变化。你可以通过数字B来判断Linux是否稳定,偶数编号的B代表稳定版,奇数编号的B代表开发版。c代表缺陷修复、安全更新、新功能和驱动程序的数量。以2.4.0版本为例,2代表主版本号,4代表次版本号,0代表最后一个有微小改动的版本号。在版本号中,序号第二个偶数的版本表示是可以使用的稳定版本,比如2.2.5,而序号第二个奇数的版本一般会加入一些新的东西,所以是测试版,不一定稳定,比如2.3.1。这样的稳定版来自于之前测试版的升级版本号,稳定版完全成熟后不会再开发。

第三种方法始于2004年的版本2.6.0,使用“基于时间”的方法。在3.0版本之前,它是一种“A.B.C.D”格式。七年来,前两个数字A.B,即“2.6”保持不变,C随着新版本的发布而增加,D代表bug修复、安全更新、新增功能和驱动的数量。3.0版之后是“A.B.C”格式。b随着新版本的发布而增加,C代表错误修复、安全更新、新功能和驱动程序的数量。第三种方式,偶数代表稳定版,奇数代表开发版。比如:3.7.0代表的不是开发版,而是稳定版!

主要子系统

系统调用接口

SCI层提供了一些机制来执行从用户空间到内核的函数调用。正如前面所讨论的,这个接口依赖于架构,即使是在同一个处理器家族中。SCI其实是一个非常有用的函数调用复用和解复用服务。您可以在。/linux/kernel,以及。/linux/arch。

进程管理

流程管理的重点是流程的实施。在内核中,这些进程称为线程,代表单个处理器虚拟化(线程代码、数据、堆栈和CPU寄存器)。在用户空间中,通常使用术语进程,但是Linux实现没有区分这两个概念(进程和线程)。内核SCI提供了一个应用编程接口(API)来创建一个新的进程(fork,exec或可移植操作系统接口[POS ]函数),停止进程(kill,exit),并进行通信和同步(signal或POS 机制)。

进程管理还包括处理活动进程之间共享CPU的需求。内核实现了新的调度算法,无论多少个线程争夺CPU,都可以在固定的时间内运行。这种算法被称为O (1) scheduler,这意味着它调度多个线程所用的时间与调度一个线程所用的时间相同。o调度程序也可以支持多处理器(称为对称多处理器或

SMP)。您可以在 ./linux/kernel 中找到进程管理的源代码,在 ./linux/arch 中可以找到依赖于体系结构的源代码。

特性

可移植性

尽管 Linus Torvalds 的初衷不是使 Linux 成为一个可移植的操作系统,今天的 Linux 却是全球被最广泛移植的操作系统内核。从掌上电脑 iPad 到巨型电脑 IBM S/390,甚至于微软出品的游戏机 XBOX 都可以看到 Linux 内核的踪迹。Linux 也是 IBM 超级计算机 Blue Gene 的操作系统。

Linux 可以在以下结构上运行:

Acorn:Archimedes,A5000 和 RiscPC 系列

康柏:Alpha

惠普:PA-RISC

IA64:英特尔 Itanium 个人电脑

IBM 的 S/390 和 AS/400

英特尔 80386 及之后的兼容产品:80386,80486 和整个奔腾系列;AMD Athlon,Duron,Thunderbird; Cyrix 系列。对英特尔 8086,8088,80186,80188 和 80280 芯片的支持正在开发中。

Mips

摩托罗拉 68020 及以上: 新的 Amigas,一些苹果电脑

PowerPC:所有较新的苹果电脑

SPARC 和 UltraSPARC:太阳微系统的工作站

Hitachi SuperH: SEGA Dreamcast

索尼公司:PlayStation 2

微软公司: Xbox

ARM 系列

组成

进程管理(process management)、 1

定时器(timer)、 2

中断管理(interrupt management)、 3

内存管理(memory management)、 4

模块管理(module management)、 5

虚拟文件系统接口(VFS layer)、 6

文件系统(file system)、 7

设备驱动程序(device driver)、 8

进程间通信(inter-process communication)、9

网络管理(network management)、 10

系统启动(system init)等操作系统功能的实现。11

发行版

Linux 内核的发展过程中,我们还不得不提一下各种 Linux 发行版的作用,因为正是它们推动

了 Linux 的应用,从而也让更多的人开始关注 Linux。一些组织或厂家,将 Linux 系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux 的发行版本其实就是 Linux 核心再加上外围的实用程序组成的一个大软件包而已。相对于 Linux 操作系统内核版本,发行版本的版本号随发布者的不同而不同,与 Linux 系统内核的版本号是相对独立的。因此把 SUSE、RedHat、Ubuntu、Slackware 等直接说成是 Linux 是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫做“以 Linux 为核心的操作系统软件包”。根据 GPL 准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。Linux 的各个发行版本(distribution),都是使用 Linus 主导开发并发布的同一个 Linux 内核,因此在内核层不存在什么兼容性问题。每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是 Linux 本身特别是内核不统一或是不兼容。

90 年代初期 Linux 开始出现的时候,仅仅是以源代码形式出现,用户需要在其他操作系统下进行编译才能使用。后来出现了一些正式版本。最流行的几个正式版本有:SUSE、RedHat、Fedora、Debian、Ubuntu、CentOS、Gentoo,等等。用户可根据自己的经验和喜好选用合适的 Linux 发行版。

原先 Linus Torvalds 将 Linux 置于一个禁止任何商业行为的条例之下,但之后改用 GNU 通用公共许可证第二版。该协议允许任何人对软件进行修改或发行,包括商业行为,只要其遵守该协议,所有基于 Linux 的软件也必须以该协议的形式发表,并提供源代码。

Linus Torvalds 曾经公开声称将 Linux 置于 GNU 通用公共许可证之下是他一生中所做的“最好的决定”。

常量定义

初始定义

宏 phys 定义了你的机器上的地址转换 __virt_to_phys()。这个宏用于把虚拟地址转换为一个物理地址。通常情况下:

phys = virt – PAGE_OFFSET PHYS_OFFSET

以上就是关于Linux内核是什么及Linux内核有什么用这方面的一些信息了 小编整理的这些讯息希望对童鞋们有所帮助

标签:

免责声明:本文由用户上传,如有侵权请联系删除!

上一篇如何删除小米设备内存中的垃圾文件

下一篇高通骁龙400系列明年将获得5G功能