Linux内核
![]() | |
開發者 | 林納斯·托瓦茲 (創造者)與其他人。 |
---|---|
当前版本 | 2.6.26(2008年7月13日) |
源代码库 | |
类型 | 核心 |
许可协议 | GNU General Public License |
网站 | http://www.kernel.org/ |
Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林納斯·托瓦茲为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这里有一份林納斯·托瓦茲当时在Usenet新闻组comp.os.minix所登载的贴子,这份著名的贴子标志着Linux计划的正式开始。
在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。
技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
架构

今天Linux是一个單内核(kernel)系统。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。
Linux不是微内核(microkernel)架构的事实曾经引起了林納斯·托瓦茲与安德鲁·斯图尔特·塔能鲍姆( Andy Tanenbaum)之间一场著名的争论。
可移植性
尽管林納斯·托瓦茲的初衷不是使Linux成为一个可移植的操作系统,今天的Linux却是全球被最广泛移植的操作系统内核。从掌上电脑iPAQ到IBM S/390(一種可以同時跑成千上百個Linux的大型電腦),甚至於有人成功的將Linux内核在新力出品的遊戲機PS2及PS3和微軟出品的遊戲機Xbox上使用。Linux也是IBM超级计算机Blue Gene的操作系统。直至2006年6月,世界五百大超級電腦有75%以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 系列:
- Hewlett-Packard的 Integrity家族 使用Intel Itanium CPU
- Renesas Technology(日立的前身)H8 系列
- H8/300
- H8/500
- 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)
- MIPS 架構:
- Jazz
- Cobalt Qube, Cobalt RaQ
- DECstation
- Godson (類MIPS), Godson II,及 BLX IC Design Ltd (中華人民共和國) 的 Godson IIE
- 藉由PS2 Linux計劃,成功移植到一些PlayStation 2模組上
- 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
- 由大同公司與其他公司製作的克隆品
- IBM的AS/400
法律層面
专利权
原先托瓦茲将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約束?Torvalds本人相信LKM僅用一部分「公開」的核心介面,因此不算衍生創作,因此允許一些僅有二進位包裹的驅動程式或不以GPL宣告的驅動程式用於核心。但也不是每個人都如此同意,且Torvalds也同意很多LKM的確是純粹的衍生創作,也寫下「基本上,核心模組是衍生創作」這樣的句子。另一方面Torvalds也說過:
有時候一些驅動程式原先並非為 Linux 設計,而是為其他作業系統而作(意即並非為 Linux 作的衍生創作),這是個灰色地帶……這「的確」是個灰色地帶,而我個人相信一些模組可視為非 Linux 衍生創作,在於它們並不是針對 Linux 設計,也因此不會遵守 Linux 訂下的行為準則。[5]
特別像繪圖卡驅動程式就有非常大的爭議,也許到最後得由立法機關給個答案。
SCO爭議
在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内核官方下载中心
- (英文)日渐膨胀的Linux邮件列表内容摘要
- (英文)林納斯與塔能包姆爭論微核心的筆仗