Linux内核

维基百科,自由的百科全书
跳转至: 导航搜索
Confusion grey.svg
提示:本条目的主题不是LinuxLinux-libre
Linux
Tux
Linux 3.0.0 boot.png
Linux内核 3.0.0 启动画面
開發者 林納斯·托瓦茲和几千名合作者
程式語言 C語言汇编语言
作業系統家族 类Unix系统
初始版本 0.01
/1991年9月17日;22年前 (1991-09-17)
穩定版本 Kernel: 3.14.1 (2014年4月14日;3天前 (2014-04-14)) [±][1] [+/−]
測試版本 Kernel: 3.15-rc1  (2014年4月13日;4天前 (2014-04-13))[2] [+/−]
支持的语言 多种
内核類別 單核心
授權條款 GNU通用公共许可证(僅)第二版[3][4]
及各類閉源二進位大型物件的許可證[5][6]
官方網站 www.kernel.org
L'ubiquité de Noyau Linux

Linux内核英语Linux kernel),是Linux操作系统内核,以C语言写成,符合POSIX标准,以GNU通用公共许可证釋出。Linux最早是由芬兰黑客林納斯·托瓦茲为尝试在英特尔x86架构上提供自由免费的类Unix系统而开发的。该计划开始于1991年,林納斯·托瓦茲当时在Usenet新闻组comp.os.minix登载帖子[7],这份著名的帖子標示着Linux计划的正式开始。

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

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

Linux内核是在GNU通用公共许可证第2版之下发布的[4](加上一些固件与各种非自由许可证)。貢獻者遍佈世界各地,日常开发在Linux内核邮件列表

历史[编辑]

法律層面[编辑]

许可证[编辑]

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

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

韌體爭議[编辑]

許可證爭議的一個重點是Linux使用韌體二進位包以支援某些硬體裝置。理察·馬修·斯托曼認為這些東西讓Linux某部份成為非自由軟體,甚至以此散佈Linux更會破壞GPL,因為GPL需要完全可獲取的原始碼[8]

林纳斯·托瓦兹及Linux社群中的領導者,支持較寬鬆的許可證,不支持理察·馬修·斯托曼的立場。社群中的Linux-libre提供完整的自由軟體韌體。

GPL第三版[编辑]

目前Linux使用的版本為GPL 2,2007年,自由軟體基金會發佈了GPL 3。而目前存在一些爭議,討論如何讓Linux較容易地轉成使用後繼版本的GPL,例如第三版(無論是否真的會這樣做)[9]

2006年1月16日,GPL 3許可證第一版草案發佈。托瓦茲隨後宣布不會讓Linux內核轉換到使用GPL 3許可證[10]。托瓦茲本人認為他自己寫在版本2.4.0的程式碼僅使用版本2的GPL[11]。然而GPL這個詞並沒有明述到底它指的是哪個版本,任何版本都有可能,而艾倫·考克斯指出很多Linux套件有特別指出它們使用哪種版本的GPL[12]

載入式核心模組許可證[编辑]

另一個爭論點,就是載入式核心模組是否算是智慧財產權下的衍生創作,意即LKM是否也受GPL約束?托瓦茲本人相信LKM僅用一部分「公開」的核心介面,因此不算衍生創作,因此允許一些僅有二進位包裹的驅動程式或不以GPL宣告的驅動程式用於核心。但也不是每個人都如此同意,且托瓦茲也同意很多LKM的確是純粹的衍生創作,也寫下「基本上,核心模組衍生創作」這樣的句子。另一方面托瓦茲也說過:

有時候一些驅動程式原先並非為 Linux 設計,而是為其他作業系統而作(意即並非為 Linux 作的衍生創作),這是個灰色地帶……這「的確」是個灰色地帶,而我個人相信一些模組可視為非 Linux 衍生創作,是針對 Linux 設計,也因此不會遵守 Linux 訂下的行為準則。[13]

特別像繪圖卡驅動程式就有非常大的爭議,也許到最後得由立法機關給個答案。

SCO爭議[编辑]

更多資料:SCO-Linux爭議

在2003年3月,SCO GroupIBM提告,聲稱IBM將一些在SCO智慧財產權許可證保護下的Unix原始碼植入Linux中,破壞了SCO給予IBM的原始碼使用許可權。另外SCO也發出一大堆存證函給許多公司,警告他們在沒有SCO許可權的情況下使用了Linux,此舉可能導致侵犯智慧財產權,並且以起訴為手段對個別使用者施壓。SCO也同時對Novell戴姆勒克萊斯勒(DaimlerChrysler)(在2004年7月被部份駁回)以及AutoZone提出告訴,且被Red Hat與其他反對SCO論點的公司反告。

技术特性[编辑]

架构[编辑]

Linux内核地图, and wall poster
Linux内核的简化矩阵图示,and wall poster

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

塔能鮑姆-林納斯辯論[编辑]

Linux不是微内核架构的事实曾经引起了林納斯·托瓦茲与安德鲁·斯图尔特·塔能鲍姆之间一场著名的争论。1992年在Usenet討論群組comp.os.minix[14]開始了一場網路論戰,討論的主題在於作業系統架構的選擇。稍後一些著名的駭客也加入討論,如大衛·米勒曹子德。這場辯論影響了Linux核心的設計走向。塔能鲍姆認為Linux内核採用的整塊性核心已經過時了,應該採取比較先進的微內核架構,引起了林納斯的反擊。

在2006年5月9日,这个主题被重新审视[15],并且在2006年5月12日塔能鲍姆写了一份立场声明。[16]

抢占式调度系统[编辑]

  • 每个任务赋予唯一的一个优先级(有些操作系统可以动态地改变任务的优先级);
  • 假如有几个任务同时处于就绪状态,优先级最高的那个将被运行;
  • 只要有一个优先级更高的任务就绪,它就可以中断当前优先级较低的任务的执行;

可移植性[编辑]

iPodLinux 啟動 Linux
Galaxy Nexus, Android智能手机电话(smartphone)

尽管林納斯·托瓦茲的初衷不是使Linux成为一个可移植的操作系统,今天的Linux却是全球被最广泛移植的操作系统内核。從行動電話到超級電腦,甚至於有人成功的將Linux内核在索尼出品的遊戲機PS2PS3微軟出品的遊戲機Xbox上使用。Linux也是IBM超级计算机Blue Gene的操作系统。直至2011年11月,全球前五百大超級電腦(TOP500)有高達91.4%的比例採用Linux為它們的作業系統[17]。一些为手机开发的操作系统,使用Linux内核的修改后的版本,其中包括谷歌Android,惠普WebOS和诺基亚Maemo[18][19][20]

内核错误[编辑]

内核错误(Kernel panic)

在Linux中,内核错误(Kernel panic)是指操作系统在监测到内核系统内部无法恢复的错误,相对于在用户空间代码类似的错误。操作系统试图读写无效或不允许的内存地址是导致内核错误的一个常见原因。内核错误也有可能在遇到硬件错误或操作系统BUG时发生。在许多情况中,操作系统可以在内存访问违例发生时继续运行。然而,系统处于不稳定状态时,操作系统通常会停止工作以避免造成破坏安全和数据损坏的风险,并提供错误的诊断信息。

内核oops[编辑]

在Linux上,oopsLinux内核的行为不正确,并产生了一份相关的错误日志。许多类型的oops会导致内核错误,即令系统立即停止工作,但部分oops也允许继续操作,作为与稳定性的妥协。这个概念只代表一个简单的错误

当内核检测到问题时,它会打印一个oops信息然后杀死全部相关进程。oops信息可以帮助Linux内核工程师调试,检测oops出现的条件,并修复导致oops的程序错误。

Linux官方内核文档中提到的oops信息被放在内核源代码Documentation/oops-tracing.txt[21]。通常klogd是用来将oops信息从内核缓存中提取出来的,然而,在某些系统上,例如最近的Debian发行版中,rsyslogd代替了klogd,因此,缺少klogd进程并不能说明log文件中缺少oops信息的原因。

若系统遇到了oops,一些内部资源可能不再可用。即使系统看起来工作正常,非预期的副作用可能导致活动进程被终止。内核oops常常导致内核错误,若系统试图使用被禁用的资源。

Kernelloops提到了一种用于收集和提交oops到 http://www.kerneloops.org/ 的软件[22] 。Kerneloops.org同时也提供oops的统计信息[23]

編寫語言[编辑]

Linux是用C語言中的GCC版(這種C語言有對標準C進行擴展)寫的,還有幾個用組合語言(用的是GCC的"AT&T 風格")寫的目標構架短段。 因為要支持擴展的C語言,GCC在很長的時間里是唯一一个能正确编译Linux的编译器。在2004年,Intel主张通过修改内核,以便它的编译器能正确编译内核。[24]在2009年,有通过修改内核2.6.22版而成功编译的报告(並帶來平均8-9%效能增長)。[25][26] 有許多其他的語言用在一些方面上,主要集中在內核構建過程中(這裡指從源代碼創建可啟動鏡像)。包括Perl,Python,和多種腳本語言。有一些驅動可能是用C++,Fortran,或其他語言寫的,但是這樣是強烈不建議的。 Linux的官方構建系統僅僅支持GCC作為其內核和驅動的編譯器。

重新开发的估价[编辑]

按照传统商业软件开发的方式,重新开发Linux 2.6.0内核的估计代价将是 $6.12 亿美元(€4.67 亿欧元, £3.94 亿英镑), 以2004年的COCOMO 人月估计模型.[27] 在2006, 欧盟资助的一项研究表明,重新开发Linux 2.6.8以后的内核,代价是 €8.82 亿欧元 ($11.4 亿美元, £7.44 亿英镑).[28]

截至2011年1月4日,使用当前的代码行(LOC)和大卫·惠勒的计算工资数,这将花费约30亿美元(约22亿欧元),才能够重新开发的Linux内核。[29]

安全[编辑]

计算机安全是一个非常公众化的主题,关系到Linux内核,因为大量在内核中的错误可能成为潜在的安全漏洞,是否允许提升权限漏洞或拒绝服务攻击源漏洞。[30]在过去的几年中,许多这样的缺陷被发现,并在Linux内核中被修补好。新的安全功能被继续实现,以解决在Linux内核中的电脑不安全问题。[31][32]

批評者指責內核開發人員,稱他們掩蓋(至少並未公佈)安全漏洞。2008年,作為回應,Torvalds稱:「個人認為,安全漏洞只是『正常的漏洞』。這些漏洞我並不去掩蓋,不過我不認為應當把它們特殊化,更不認為應該追蹤並公示它們……我不理會整個安全團隊,原因之一就是,我認為這些漏洞不僅美化還鼓勵了錯誤的行為。這令安全人員成了『英雄』,就猶如不修補正常漏洞的人就不值一提似的。而事實上,所有無聊的正常漏洞極為重要,僅僅因為它們實在太多了。我不認為該美化和關心那些嚴重的安全漏洞——它們並不及那些由死鎖造成的隨機嚴重崩潰來得更特殊。」[33][34]

如2012年五月,SYSRET指令被發現在AMD和英特爾處理器間在實現方面有差異,這個差異在WindowsFreeBSDXenServerSolaris這些主流作業系統會導致漏洞。2012年六月,Linux核心中該問題已被修復。[35]

开發[编辑]

時間線[编辑]

來源: kernel.org[36]

开发模式[编辑]

Linux内核目前的开发模式是Linus Torvalds制作的新版本的发布,也被称为“vanilla”或“mainline”的内核,这意味着它们包含了主要的,通用的开发分支。在托瓦尔兹进行初始一轮整合由所有其他程序员,几个回合的bug修正预发布版的主要变化之后,这个分支大约每3个月正式发布一个新的版本。

特性历史[编辑]

1.0版本[编辑]

有176,250字串。[37]此版本的Linux内核只支持单处理器基于i386的计算机系统,可移植性成为一个问题。随后1.2版(310,950字串)[38]支持多种计算机架构例如AlphaSPARCMIPS处理器。

3.0版本[编辑]

托瓦兹宣布,大的变化是,“没有,绝对没有。”[39]2011年5月30日,托瓦兹宣布,“让我们确保我们真正的下一个版本不只是一个全新的闪亮的数字,而是有一个好的内核。”3.0的发布日接近Linux的20周年纪念日。

3.5版本[编辑]

  • CoDel 队列管理算法
  • seccomp filters
  • 沙盒机制
  • Android 风格的 自动休眠和唤醒锁机制
  • 用户空间探测子系统 uprobes
  • TCP 连接修复
  • 减少重复确认加快转发的 TCP Early Retransmit
  • 连续性内存分配器
  • kcmp () 系统调用
  • ext4文件系统加入元数据校验和
  • 改进 Btrfs

3.6版本[编辑]

  • 客户端TCP Fast Open实现

3.7版本[编辑]

  • 改进开源图形卡驱动程序,包括:Nvidia, Intel and Radeon.
  • 通过 Xen hypervisor 实现对 ARM Cortex-A15 的硬件虚拟化支持
  • 继续改进 BTRFS 文件系统
  • TCP Fast open

3.8版本[编辑]

  • CPU热插拔支持;
  • 改进ACPI电源管理;
  • 改善XFS文件系统;
  • 支持64位ARMv8/AArch64;
  • 放弃支持旧的i386处理器,减少内耗复杂度;
  • Video 4 Linux 2驱动支持 DMA-BUF;
  • 在某些工作负荷下减少物理内存占用;
  • 支持微软Windows 8多重触摸协议;
  • 音频驱动改进;
  • 加密性能改进;
  • 支持下一代IBM POWER8处理器(2013年发布)
  • XFS 文件系统的元数据完整性检查
  • 提升了 NUMA 调度
  • 核心内存使用审计和关联使用率限制
  • EXT4 文件系统的 inline data support
  • 近乎完全支持 user namespace 等待

3.9版本[编辑]

  • 繼續完善F2FS檔案系统
  • 省電功能改進
  • 改善ARM處理器支援
  • 音效、音訊重大更新
  • Google Goldfish Android模擬器原始碼
  • DRM顯示卡驅動改善
  • 硬體支援改善

3.10版本[编辑]

  • 完整支持DynTicks(动态定时器),并成为内核级别的核心特性。
  • KVM虚拟化改进。
  • 音频/声音驱动更新。
  • ARM架构支持改进,包括更好地支持64位架构。
  • 大量的Linux加密子系统优化。
  • AMD电源管理改进。
  • 分阶段驱动(Staging Drivers)改进与新举措。
  • BCache固态硬盘/机械硬盘缓存框架已经可用,使用两种硬盘的系统将会大大提速。
  • eCryptfs AES-NI性能改进,支持AES指令集的AMD/Intel x86处理器将会大大提速。
  • Btrfs文件系统支持skinny extent,quota也进行了一些重建。
  • F2FS闪存文件系统重大改进。
  • XFS额外保护。
  • DRM驱动多方面改进。
  • Radeon DRM驱动支持golden registers、UVD视频解码、RadeonSI tiling。
  • 引入QXL KMS驱动。

3.11版本[编辑]

  • 支持LZ4压缩,LZ4压缩和解压缩速度快于LZO、Snappy和zlib,目前只支持ARM架构,在ARMv7 1.5GHz硬件上它的压缩速度能达到45.6MB/s,相比之下LZO 是25.2 MB/s
  • 轻量级压缩交换缓存Zswap
  • 例行的Btrfs和XFS文件系统bug修正和性能改进,F2FS修正了Linux 3.10中发现的一个性能退化bug,首次加入高性能并行分布式文件系统Lustre
  • 动态电源管理支持从Radeon HD 2000到Radeon HD 7000系列的GPU
  • KVM和Xen虚拟化支持64位硬件(AArch64)

3.12版本[编辑]

  • 優化了CPU頻率管理器,更有效的實現動態調頻功能,間接提昇了部分開源和閉源驅動的性能。
  • 進一步改善了 Radeon 開源驅動的動態電源管理。
  • 增加了逆向工程出來的 Snapdragon/Adreno 顯卡驅動。
  • 支援 AMD 首個異構計算的 Berlin 系列服務器 APU。
  • 小幅改善了 F2FS、XFS 和 Btrfs 文件系統。
  • ext4檔案系統加入兩個新功能:支持主動 extent 緩存,減少主讀工作負荷的記憶體使用,改進非同步 I/O。
  • 改進英特爾 Haswell 圖形性能。
  • 支援 NVIDIA Optimus 顯示技術的動態 GPU 電源管理,雙顯卡筆記本可以動態的關閉或啟用第二個 GPU。

3.13版本[编辑]

  • 多佇列塊層允許I/O負載在多CPU核心中均衡,延展性更好,減少磁碟延遲,提供更好的磁碟效能。
  • 支援英特爾 Broadwell 和 AMD Radeon R9 waii 的新驅動。
  • 防火牆子系統/包過濾引擎 nftables 取代 iptables。
  • 提供了一個更簡單的核心 ABI,減少重複程式碼,更有效的支援過濾規則。
  • 開源NVIDIA驅動加入新的電源管理程式碼。
  • 改進 AMD HDMI 音訊功能。
  • 英特爾硬體支援立體/3D HDMI裝置。
  • Btrfs和F2FS檔案系統改進。
  • Linux功率限制框架和即時平均功率限制驅動程式將允許在超出定義臨界值時限制某些元件的功耗。

3.14版本[编辑]

  • 開源NVIDIA驅動支援更多NVIDIA顯示卡。
  • 英特爾 Broadwell 的顯示晶片及音訊系統獲得更好的支援。
  • VMware SVGA2 顯示驅動程式重大變更。
  • NVIDIA Tegra初步支援 PRIME。
  • 開源AMD驅動部份裝置支援改進。
  • 經由新的驅動程式支援AMD加密協作處理器。
  • 通用CPU加速。
  • F2FS及BTRFS檔案系統改進。
  • 新增Xen的PVH支援。
  • 加入Deadline調度器。
  • 支援MIPS最新的CPU核心支援。
  • 加入TCP自動抑制功能。

維護[编辑]

內核 初始发行日期 當前版本 維護者 支援
2.0 06 9, 1996 2.0.40[40] David Weinehall EOL(已不再支援)
2.2 01 26, 1999 2.2.27-rc2[41] Marc-Christian Petersen (前維護者Alan Cox) EOL(已不再支援)
2.4 01 4, 2001 2.4.37.11[42] Willy Tarreau (前維護者Marcelo Tosatti) EOL(已不再支援)
2.6.16 03 20, 2006 2.6.16.62[43] Adrian Bunk EOL(已不再支援)
2.6.27 10 9, 2008 2.6.27.62 葛雷格·克羅哈曼[44] EOL(已不再支援)
2.6.32 12 3, 2009 2.6.32.61[45] Willy Tarreau(前維護者葛雷格·克羅哈曼) 长期支持版本,由2009年12月3日至2014年?月[46]
2.6.34 05 16, 2010 2.6.34.15[47] Paul Gortmaker(前維護者Andi Kleen) EOL,长期支持版本,從 2010年6月至2014年2月
2.6.39 05 19, 2011 2.6.39.4 林納斯·托瓦茲 EOL,2.6 核心系列最後穩定版。
3.0 07 22, 2011 3.0.101 葛雷格·克羅哈曼 EOL,长期支持版本,從 2011年7月至2013年10月
3.2 01 5, 2012 3.2.57 Ben Hutchings 长期支持版本,從 2011年12月至2016年?月
3.4 05 21, 2012 3.4.87 葛雷格·克羅哈曼 长期支持版本,從 2012年5月至2014年10月
3.5 07 21, 2012 3.5.7 葛雷格·克羅哈曼 EOL
3.6 10 1, 2012 3.6.11 葛雷格·克羅哈曼 EOL
3.7 12 11, 2012 3.7.10 葛雷格·克羅哈曼 EOL
3.8 02 19, 2013 3.8.13 葛雷格·克羅哈曼 EOL
3.9 04 29, 2013[48] 3.9.11 葛雷格·克羅哈曼 EOL
3.10 06 30, 2013 3.10.37 葛雷格·克羅哈曼 长期支持版本,從 2013年6月至2015年9月
3.11 09 2, 2013 3.11.10 葛雷格·克羅哈曼 EOL
3.12 11 3, 2013 3.12.17 Jiri Slaby(前維護者葛雷格·克羅哈曼) 长期支持版本,從 2013年11月至2016年?月
3.13 01 20, 2014 3.13.10 葛雷格·克羅哈曼
3.14 03 31, 2014 3.14.1 林納斯·托瓦茲 最新的穩定版本
3.15 3.15-rc1 林納斯·托瓦茲 最新的測試版本
linux-next next-20140417 最新的開發版本

其它Linux核心程序的維護者還包括:

版本命名[编辑]

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。[49]

从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代表:

  • AB是无关緊要的
  • C是内核的版本
  • D是安全补丁

自3.0(2011年7月)发布后,版本的格式為3.A.B,其中A,B代表:

  • A是内核的版本
  • B是安全补丁

参考文献[编辑]

  1. ^ The Linux Kernel Archives
  2. ^ The Linux Kernel Archives
  3. ^ InfoWorld. Linux creator Torvalds still no fan of GPLv3. [2008-10-11]. 
  4. ^ 4.0 4.1 COPYING
  5. ^ Stallman, Richard. Linux, GNU, and freedom. Free Software Foundation. 2002 [2007-02-21]. 
  6. ^ linux/kernel/git/stable/linux-stable.git/blob - firmware/WHENCE. git.kernel.org. 2002-10-16 [2012-08-21]. 
  7. ^ What would you like to see most in minix?. Linus Benedict Torvalds. 1991-08-26 [2010-12-21]. 
  8. ^ http://www.gnu.org/philosophy/linux-gnu-freedom.html
  9. ^ http://lwn.net/Articles/169797/
  10. ^ Stephen Shankland. Torvalds: No GPL 3 for Linux. CNet. 2006-1-26 [2014年1月28日] (英文). 
  11. ^ http://www.uwsg.iu.edu/hypermail/linux/kernel/0009.1/0096.html
  12. ^ http://lwn.net/Articles/169831/
  13. ^ http://www.ussg.iu.edu/hypermail/linux/kernel/0312.0/0670.html
  14. ^ A. S. Tanenbaum (January 29, 1992). "LINUX is obsolete". comp.os.minix. (Web link). .於2006-11-27查閱。
  15. ^ Torvalds, Linus. Hybrid kernel, not NT. 9 May 2006 [2007-01-06]. 
  16. ^ Tanenbaum, Andy. Tanenbaum-Torvalds Debate: Part II. 12 May 2006 [2007-01-06]. 
  17. ^ TOP500 Statistics. Top500. [2012-04-26]. 
  18. ^ Greg Kroah-Hartman. Android and the Linux kernel community. 2010-02-02 [2010-02-03]. "This means that any drivers written for Android hardware platforms, can not get merged into the main kernel tree because they have dependencies on code that only lives in Google's kernel tree, causing it to fail to build in the kernel.org tree. Because of this, Google has now prevented a large chunk of hardware drivers and platform code from ever getting merged into the main kernel tree. Effectively creating a kernel branch that a number of different vendors are now relying on." 
  19. ^ Linux developer explains Android kernel code removal. ZDNet. 2010-02-02 [2010-02-03]. 
  20. ^ Maemo platform described as being based on Linux kernel. Maemo community. 2010-04-09 [2010-04-09]. 
  21. ^ http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.27.y.git;a=blob;f=Documentation/oops-tracing.txt;h=b152e81da5923e5150de6ba6a67d6ec37219ca43;hb=HEAD
  22. ^ http://linux.die.net/man/8/kerneloops
  23. ^ http://www.kerneloops.org/
  24. ^ Ingo A. Kubbilun. Linux kernel patch for Intel Compiler. Pyrillion.org. 2004-06-02 [2010-11-12]. 
  25. ^ Slashdot | High Performance Linux Kernel Project — LinuxDNA. Linux.slashdot.org. [2010-10-30]. 
  26. ^ LinuxDNA Supercharges Linux with the Intel C/C++ Compiler. Linux Journal. [2010-10-30]. 
  27. ^ David A. Wheeler. Linux Kernel 2.6: It's Worth More!. 
  28. ^ Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector, Table 3 on page 50.
  29. ^ Wheeler, David. The Linux Kernel: It’s Worth More!. [17 September 2012]. 
  30. ^ K.K. Mookhey, Nilesh Burghate and ISACA. Linux-- Security, Audit and Control Features. ISACA. 2005. 14. ISBN 1-893209-78-4. 
  31. ^ Brian Hatch. Hacking exposed Linux: Linux security secrets & solutions. McGraw Hill Professional. 2008. 524. ISBN 0-07-226257-5. 
  32. ^ Trent Jaeger. Operating system security. Morgan & Claypool Publishers. 2008. 122. ISBN 1-59829-212-9. 
  33. ^ Jeremy Andrews. Security Bugs and Full Disclosure. 2008-07-16 [2010-12-31]. (原始内容存档于2012-07-10). 
  34. ^ Brad Spengler. Linux's unofficial security-through-coverup policy. Full-Disclosure mailing list. 2008-07-16 [2010-12-31]. 
  35. ^ The Intel SYSRET privilege escalation –. Blog.xen.org. 2012-06-13 [2012-07-26]. 
  36. ^ Index of /pub/linux/kernel. Kernel.org. [2012-03-12]. 
  37. ^ Kernel 1.0 Source Code Release (last checked 2008-10-27)
  38. ^ Kernel 1.2 Source Code Release (last checked 2008-10-27)
  39. ^ Linux 3.0-rc1, Linus Torvalds, 30 May 2011, accessed 31 May 2011
  40. ^ David Weinehall. [ANNOUNCE] Linux-kernel 2.0.40 aka ``The Moss-covered Tortoise''. 2004-02-08. (原始内容存档于2012-05-30). 
  41. ^ Marc-Christian Petersen. Linux 2.2.27-rc2. 2005-01-13. (原始内容存档于2012-05-30). 
  42. ^ Willy Tarreau. Linux 2.4.37.7. linux-kernel mailing list. 2009-07-26. 
  43. ^ Adrian Bunk. Linux 2.6.16.62. linux-kernel mailing list. 2008-07-21. 
  44. ^ Greg Kroah-Hartman. Re: 2.6.27 maintenance plans after 2.6.32 is released. linux-kernel mailing list. 2009-09-08. 
  45. ^ Greg Kroah-Hartman. Linux 2.6.32.60. linux-kernel mailing list. 2012-10-07. 
  46. ^ http://lkml.indiana.edu/hypermail/linux/kernel/1001.2/00858.html
  47. ^ http://kernel.org/
  48. ^ Torvalds, Linus. Linux 3.9 released. Linux kernel mailing list. 28 May 2013 [12 May 2013]. 
  49. ^ Linux Kernel Archives - Volume 1 (Riley Williams)

外部連結[编辑]

Wikibooks-logo.svg
您可以在維基教科書中查找此百科条目的相關電子教程:

参见[编辑]