索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > Linux内核

Linux内核


贡献者:论坛管理员    浏览:5157次    创建时间:2010-11-05

Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林纳斯·托瓦兹为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这里有一份林纳斯·托瓦兹当时在Usenet新闻组comp.os.minix所登载的帖子,这份著名的帖子标示着Linux计划的正式开始。
在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。
技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
[编辑]架构
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目前可以在以下结构上运行:
Acorn:Archimedes,A5000和RiscPC系列
ARC International的 Argonaut RISC Core (ARC)
ARM 系列:
Acorn Archimedes 与 Risc PC 系列
DEC StrongARM
Marvel(Intel的前身)XScale
Sharp Zaurus
iPAQ
Palm的 Tungsten Handheld[1]
Gamepark Holdings的GP2X
Nokia 770 Internet Tablet
gumstix
运用DSlinux运行任天堂DS
Atmel AVR32
Axis Communications的 ETRAX CRIS
Fujitsu FR-V
Alpha 系列:
康柏:Alpha
DEC Alpha
三星 Alpha CPU
Hewlett-Packard的 Integrity家族 使用Intel Itanium CPU
Renesas Technology(日立的前身)H8 系列
H8/300
H8/500
Intel IA-64 Itanium, Itanium II
IBM的 S/390(31-bit)
IBM的 zSeries 与 System z9 大型主机(64-bit)
x86 系列:
针对8086,8088,80186,80188 与 80286 CPU 的可移植版本正在撰写中(ELKS计划)[2]
80386,80486,与 AMD、Cyrix、德州仪器 和IBM的兼容CPU
整个 Pentium 系列
AMD 5x86、 K5、 K6、 Athlon(所有32-bit版本)、 Duron与 Sempron
x86-64:AMD的 64-bit 处理器架构,名为AMD64 或 EM64T (Intel), 支持 Athlon 64, Opteron 与 Intel Core 2 处理器与其他
Cyrix 5x86, 6x86 (M1), 6x86MX 与 MediaGX (National/AMD Geode) 系列
VIA Technologies Eden (Samuel II), VIA C3,与 VIA C7 处理器
经由Xbox Linux 计划,Microsoft的 Xbox(Pentium III 处理器)
SGI Visual Workstation(Pentium II/III 处理器 搭配SGI 芯片组)
升阳 x86 工作站(80386 与 80486)
三菱的M32R
MIPS 架构:
Jazz
Cobalt Qube, Cobalt RaQ
DECstation
Godson(类MIPS), Godson II,及 BLX IC Design Ltd(中华人民共和国)的 Godson IIE
借由PS2 Linux计划,成功移植到一些PlayStation 2模块上
Freescale(Motorola的前身)68K 架构(68020, 68030, 68040, 68060):
一些Amiga:A1200,A2500,A3000,A4000
Apple Macintosh、Macintosh II、LC、Quadra、Centris 与早期的Performa 系列
Sun Microsystem 三系列工作站(实验性质地使用Sun-3 MMU)
NEC v850e
Power Architecture:
IBM 服务器
PowerPC 系列:
IBM的 CELL
大部份的新型苹果电脑(所有PCI基准的Power Macintosh,对较旧的NuBus Power Macs提供有限支持)
Power Computing, UMAX 与 Motorola制作的PCI Power Mac 的克隆品
以"Power-UP"卡升级的Amigas(如 Blizzard 或 CyberStorm)
由Eyetech Group Ltd(英国)制造的AmigaOne主板
Soft3(意大利)制造的Samantha
Troika的Amy'05 PowerPC主板
IBM RS/6000,iSeries 与 pSeries 系统
Genesi的Pegasos I与 II
借由Gamecube Linux可运行在Nintendo GameCube
Realm Systems, Inc的BlackDog计划
Sony Playstation 3
Culturecom的V-Dragon CPU
以Xilinx 搭配PowerPC 核心组成的Virtex II Pro Field Programmable Array(FPGA)
SPARC:
Sun-4 系列
SPARCstation/SPARCserver
Sun UltraSparc
Sun Blade
Sun Fire
由大同公司与其他公司制作的克隆品
日立 SuperH:SEGA Dreamcast
IBM的AS/400
索尼的 Playstation 2
Analog Devices的 Blackfin ADSP BF5xx Processor
^ http://palmtelinux.sf.net
^ ELKS project
[编辑]法律层面
[编辑]专利权
原先托瓦兹将Linux置于一个禁止任何商业行为的条例之下,但之后改用GNU通用公共许可证第二版。该协议允许任何人对软件进行修改或发行,包括商业行为,只要其遵守该协议,所有基于Linux的软件也必须以该协议的形式发表,并提供源代码。
托瓦兹曾经公开声称将Linux置于GNU通用公共许可证之下是他一生中所做的“最好的决定”。
[编辑]固件争议
许可证争议的一个重点是Linux使用固件二进制包以支持某些硬件设备。理察·马修·斯托曼认为这些东西让Linux某部份成为非自由软件,甚至以此散布Linux更会破坏GPL,因为GPL需要完全可获取的源代码[1]。
[编辑]GPL第三版
目前Linux使用的版本为GPL 2,而目前存在一些争议,讨论如何让Linux较容易地转成使用后继版本的GPL,例如第三版(无论是否真的会这样做)[2]。Torvalds本人认为他自己写在版本2.4.0的代码仅使用版本2的GPL[3]。然而GPL这个词并没有明述到底它指的是哪个版本,任何版本都有可能,而Alan Cox指出很多Linux包有特别指出它们使用哪种版本的GPL[4]。
[编辑]加载式核心模块许可证
另一个争论点,就是加载式核心模块(Loadable Kernel Module:LKM)是否算是知识产权下的派生创作,意即LKM是否也受GPL约束?托瓦兹本人相信LKM仅用一部分“公开”的核心接口,因此不算派生创作,因此允许一些仅有二进制包裹的驱动程序或不以GPL声明的驱动程序用于核心。但也不是每个人都如此同意,且托瓦兹也同意很多LKM的确是纯粹的派生创作,也写下“基本上,核心模块是派生创作”这样的句子。另一方面托瓦兹也说过:
有时候一些驱动程序原先并非为 Linux 设计,而是为其他操作系统而作(意即并非为 Linux 作的派生创作),这是个灰色地带……这“的确”是个灰色地带,而我个人相信一些模块可视为非 Linux 派生创作,在于它们并不是针对 Linux 设计,也因此不会遵守 Linux 订下的行为准则。[5]
特别像绘图卡驱动程序就有非常大的争议,也许到最后得由立法机关给个答案。
SCO争议
更多数据:SCO v. IBM
在2003年3月,SCO Group (SCO)对IBM提告,声称IBM将一些在SCO知识产权许可证保护下的Unix源代码植入Linux中,破坏了SCO给予IBM的源代码使用权限。另外SCO也发出一大堆存证函给许多公司,警告他们在没有SCO权限的情况下使用了Linux,此举可能导致侵犯知识产权,并且以起诉为手段对个别用户施压。SCO也同时对Novell、DaimlerChrysler(在2004年7月被部份驳回)以及AutoZone提出告诉,且被Red Hat与其他反对SCO论点的公司反告。
版本命名
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.B.C,其中A,B,C代表:
A大幅度转变的内核。这是很少发生变化,只有当发生重大变化的代码和核心发生才会发生。在历史上曾改变两次的内核:1994年的1.0及1996年的2.0。
B是指一些重大修改的内核。
内核使用了传统的奇数次要版本号码的软件号码系统(用偶数的次要版本号码来表示稳定版本)。
C是指轻微修订的内核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,内核便会有变化。
自2.6.0(2003年12月)发布后,人们认识到,更短的发布周期将是有益的。自那时起,版本的格式为A.B.C.D,其中A,B,C,D代表:
A和B是无关紧要的
C是内核的版本
D是安全补丁
发布历史
1991年9月:0.01(10,239字符串)
1991年10月:0.02
1991年12月:0.11
1992年2月:0.12
1992年3月:0.95
1993年至1994年:0.99
1994年3月14日:1.0.0(176,250字符串)
1995年3月:1.2.0(310,950字符串)
1996年6月9日:2.0.0
1999年1月25日:2.2.0(1,800,847字符串)
1999年12月18日:2.2.13
2001年1月4日:2.4.0(3,377,902字符串)
2003年12月17日:2.6.0(5,929,913字符串)
2009年6月9日:2.6.30(11,637,173字符串)
2009年12月3日:2.6.32(12,606,910字符串[7])



如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类
Linux    

参考资料

贡献者


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]