当前位置: 首页 > 软件库 > 其他开源 > Linux内核 >

Linux Kernel

Linux 内核项目
授权协议 GPL
开发语言 C/C++ 汇编
所属分类 其他开源、 Linux内核
软件类型 开源软件
地区 不详
投 递 者 金皓君
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Linux 是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林纳斯·托瓦茲为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这里有一份林纳斯·托瓦茲当时在Usenet新闻组comp.os.minix所登载的帖子,这份著名的帖子标志着Linux计划的正式开始。

在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。

技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

Linux是一个宏内核(monolithic kernel)系统。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。

Linux不是微内核(microkernel)架构的事实曾经引起了林纳斯·托瓦茲与安德鲁·斯图尔特·塔能鲍姆(‎ Andy Tanenbaum)之间一场著名的争论。

尽管林纳斯·托瓦茲的初衷不是使Linux成为一个可移植的操作系统,今天的Linux却是全球被最广泛移植的操作系统内核。从掌上电脑iPAQ到IBM S/390(一种可以同时跑成千上百个Linux的大型电脑),甚至于有人成功的将Linux内核在新力出品的游戏机PS2及PS3和微软出品的游戏机Xbox上使用。Linux也是IBM超级计算机Blue Gene的操作系统。直至2008年11月,全球前五百大超级电脑(TOP 500)有高达87.8%的比例采用Linux为它们的作业系统,最快的超级电脑IBM_Roadrunner正是采用Linux的。

专利权

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

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

Linux內核有三个不同的命名方案。
早期版本:

  • 第一个版本的內核是0.01。其次是0.02,0.03,0.10,0.11,0.12(第一GPL版本),0.95,0.96,0.97,0.98,0.99及1.0。[6]

从0.95版有许多的补丁发布于主要版本版本之间。

旧计划(1.0和2.6版之间):

  • A大幅度转变的內核。这是很少发生变化,只有当发生重大变化的代码和核心发生才會发生。在历史上曾改变两次的內核:1994年的1.0及1996年的2.0。

  • B是指一些重大修改的內核。

    • 內核使用了传统的奇数次要版本号码的软件号码系統(用偶数的次要版本号码來表示稳定版本)。

  • C是指轻微修订的內核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,內核便会有变化。

自2.6.0(2003年12月)发布后,人们认识到,更短的发布周期将是有益的。自那时起:

  • AB是无关要的

  • C是內核的版本

  • D是安全补丁(通常会以'rc'表示)

文/维基百科

  • 1, 什么是SGI SGI:软件触发中断(Software Generated Interrupt)。在arm处理器中,SGI共有16个,硬件中断号分别为ID0~ID15.它通常用于多核间通讯.SGI在Linux内核中通常被用作IPI中断(inter-processor interrupts). 在linux内核中,已经定义了如下的IPI中断,所以用户使用自定义的IPI中断时,建议使用8~15这些

  • Linux: 1.Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。 2.操作系统包括内核、设备驱动程序、启动引导程序、命令行shell、基本系统工具等部分。 Linux Kernel: 1.Linux Kernel是Linux操作系统的真正核心,负责硬件设备管理、分配系统资源等任务。 2.内核一

  • 什么是linux kernel? 内核(kernel)要负责资源管理:内存,io,cpu调度.此外,还有各种设备的驱动.内核还有两大基础组件:网络协议栈,文件系统。 内核是操作系统的核心组件,是计算机物理硬件与其上运行的进程之间的主要接口。内核通过提供对 CPU、内存、磁盘 I/O 和网络的访问,使多个应用程序能够共享硬件资源。 想象一台计算机由一系列层组成,最内层是硬件,最外层是运行在计算机上的

  • git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/torvalds/linux.git git clone git://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/torvalds/linux.git

  • Index of /kernel/linux/kernel/

  • mainline分支维护 Linux kernel的主线分支只有一个master分支,该分支由Linus Torvalds维护,对于不同的版本的内核是采用打tag的方式进行发布的,一般在发布一个正式版本之前,都会先发布一系列的候选版本,比如linux-5.6最终版发布之前先发布了linux-5.6.rc1到linux-5.6.rc7,rc值越大越接近最终版本linux-5.6。 从linux-3.

  • ★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★ 1、向linux kernel添加cmdline的四种方式 在linux启动时候,串口log中会打印cmdline [ 0.000000] c0 0 (swapper) Kernel command line: earlycon androidboot.selinux=permissive uart_dma keep_dbgclk_o

 相关资料
  • Kernel hacking 内核 hack 选项 Show timing information on printks CONFIG_PRINTK_TIME 在控制台和syslog()系统调用的输出中包含printk()消息的时间戳,以便于直接显示内核启动过程中各步骤所用的时间.注意:无论此项是否开启,时间戳总会被记录在/dev/kmsg中,开启此项仅相当于使用"printk.time=1"内核

  • 内核引导选项精选 由于引导选项多如牛毛,本文不可能涉及全部,因此本文只基于 X86_64 平台以及 Linux-3.13.2 精选了一些与设备无关的引导选项以及少部分与设备有关的引导选项,过时的选项、非x86平台选项、与设备有关的选项,基本上都被忽略了。 [提示]内核源码树下的 Documentation/kernel-parameters.txt 和 Documentation/x86/x86_

  • DatabaseType SPI 名称 详细说明 DatabaseType 支持的数据库类型 已知实现类 详细说明 SQL92DatabaseType 遵循 SQL92 标准的数据库类型 MySQLDatabaseType MySQL 数据库 MariaDBDatabaseType MariaDB 数据库 PostgreSQLDatabaseType PostgreSQL 数据库 OracleDa

  • RT-Thread 内核,包括内核库和实时内核的实现 模块   基础定义   RT-Thread 基本数据类型     系统初始化   RT-Thread 的启动流程     内核对象管理   内核对象管理接口     线程管理   线程管理接口     时钟管理   时钟管理接口     定时器管理   定时器管理接口     线程间通讯   线程间通讯接口     内存池管理   静态内存池接

  • 主要内容:创建一个核心,使用create命令,使用create_core命令,删除核心Solr核心(Core)是Lucene索引的运行实例,包含使用它所需的所有Solr配置文件。我们需要创建一个Solr Core来执行索引和分析等操作。 Solr应用程序可以包含一个或多个核心。 如果需要,Solr应用程序中的两个核心可以相互通信。 创建一个核心 安装和启动Solr后,可以连接到Solr的客户端(Web界面)。访问以下网址: http://Localhost:8983/solr/ 如

  • Linux,全称GNU/Linux,是一套免费使用和自由传播的类 UNIX 操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到 Minix 和 Unix 思想的启发。

  • 在计算机中,BIOS(Basic Input Output System,基本输入输出系统)包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS等。

  • 内核如何处理引导选项 绝大部分的内核引导选项的格式如下(每个选项的值列表中最多只能有十项): name[=value_1][,value_2]...[,value_10] 如果"name"不能被识别并且满足"name=value"的格式,那么将被解译为一个环境变量(比如"TERM=linux"或"BOOT_IMAGE=vmlinuz.bak"),否则将被原封不动的传递给 init 程序(比如"si