3. Linux 内核

问:Linux 支持哪些平台?
问:支持哪些硬件?
问:移植到其他处理器
问:Linux 内核版本控制如何工作?
问:在哪里可以获得 Internet 上的最新内核版本?
问:Linux 是否支持线程或轻量级进程?
问:这是哪个 Linux 版本和机器名称?
问:什么是 BogoMip?
问:Linux 是否支持 USB 设备?
问:Linux 可以通过共享中断使用 3 个以上的串口吗?

问:Linux 支持哪些平台?

答:Linux 几乎可以在过去 10 年制造的每台通用计算机上运行。它可以在小到 PDA(例如,夏普 Zaurus)和大型到 IBM 大型机等系统上运行。

有一些专门为移动和手持平台设计的 Linux 发行版。有关 Compaq iPAQ 的 Linux 发行版的信息,请访问 http://www.handhelds.org

答:Linux 最初是为基于 Intel 处理器的 PC 编写的,它使用 80386 处理器及其后续产品的硬件功能来实现其特性。80386 系列包括 80486 和所有奔腾芯片。然而,现在已经有很多移植到其他硬件平台的版本。请参阅移植到其他处理器

另请参阅 Linux INFO-SHEET 以获取更多详细信息,以及以下问题的答案:文档在哪里?支持哪些硬件?移植到其他处理器

问:支持哪些硬件?

答:最简化的 Linux 安装需要一台存在端口的机器、至少 2Mb 的 RAM 和一个软盘驱动器,但要执行任何稍微有用的操作,则需要更多的 RAM 和磁盘空间。请参阅:移植到其他处理器最小、服务器和工作站使用需要多少磁盘空间?最小和最大内存要求是多少?

Intel CPU,PC 兼容机至少需要 80386 处理器才能运行标准 Linux 内核。

Linux,包括 X Window System GUI,可以在大多数当前的笔记本电脑上运行。请参阅以下问题的答案:如何确定笔记本电脑是否运行 Linux?。有大量关于特定 PC、显卡、磁盘控制器和其他硬件的信息来源。请参阅 INFO-SHEETLaptop-HOWTOUnix-Hardware-Buyer-HOWTO。请参阅文档在哪里?

问:移植到其他处理器

答:一直有人在努力将 Linux 移植到新的处理器上。Linux Online 维护着一个http://www.linux.org/projects/ports.html:list of ports currently in development,列出了目前正在开发的移植版本。

此外,以下是关于特定移植版本的信息

在 Intel 平台上,支持 VESA 局部总线和 PCI 总线。

MCA(IBM 的专有总线)和 ESDI 硬盘驱动器在很大程度上受到支持。有关 MCA 总线以及 Linux 支持哪些卡的更多信息,请访问 Micro Channel Linux 网页:http://www.dgmicro.com/mca。另请参阅以下问题的答案:Linux 相关内容在万维网上哪里?

有一个 Linux 移植到 8086 的版本,称为可嵌入式 Linux 内核子集 (ELKS)。这是一个 16 位的 Linux 内核子集,主要用于嵌入式系统,网址为:http://www.linux.org.uk/Linux8086.html。标准 Linux 不支持 8086 或 80286 处理器,因为它需要 80386 及更高版本处理器上的任务切换和内存管理功能。

Linux 支持使用 Intel MP 架构进行多处理。请参阅文件Documentation/smp.tex在 Linux 内核源代码发行版中。

Transmeta Corporation 开发的 Crusoe Smart Microprocessor 的 API 规范和开发者工具包位于 http://www.transmeta.com

一个将 Linux 移植到基于 68000 系列的系统(如 Amiga 和 Atari)的项目已经进行了一段时间。Linux/m68K FAQ 位于 http://www.clark.net/pub/lawrencc/linux/faq/faq.html。Linux/m68k 主页的 URL 是 http://www.linux-m68k.org/faq/faq.html

还有一个 linux-680x0 邮件列表。请参阅有哪些邮件列表?

Linux-m68k 项目在 ftp://ftp.phil.uni-sb.de/pub/atari/linux-68k 上有一个(或曾经有一个)FTP 站点,但此地址可能不再是最新的。

Debian GNU/Linux 具有针对 Alpha、Sparc、Motorola 68k、PowerPC、ARM、IBM S/390、MIPS、HP PA-RISC 和 IA-64 的移植版本。针对 amd64 的移植版本正在开发中。所有这些都有邮件列表。有关一般信息,请参阅 http://www.debian.org/MailingLists/,然后点击“订阅”链接,找到您感兴趣的邮件列表。

Linux-PPC 项目页面之一是 http://www.linuxppc.org,存档站点是 ftp://ftp.linuxppc.org/linuxppc

Linux iMac 移植版本有两个站点:http://w3.one.net/~johnb/imaclinuxhttp://www.imaclinux.net:8080/content/index.html

64 位 DEC Alpha/AXP 的移植版本位于 http://www.azstarnet.com/~axplinux/。有一个邮件列表,地址为vger.redhat.com:请参阅有哪些邮件列表?

Ralf Baechle 正在致力于将 Linux 移植到 MIPS,最初是针对 Deskstation Tyne 机器上的 R4600。 Linux-MIPS FTP 站点是 ftp://ftp.fnet.fr/linux-mipsftp://ftp.linux.sgi.com/pub/mips-linux。感兴趣的人可以将他们的问题和帮助请求发送至 linux@waldorf-gmbh.de

在 Linux Activists 邮件服务器上还有一个(或曾经有一个)MIPS 频道和一个 linux-mips 邮件列表。请参阅有哪些邮件列表?

目前有两个 Linux 移植到 ARM 系列处理器的版本。其中一个是针对 ARM3,适用于 Acorn A5000,它包括适用于 82710/11 的 I/O 驱动程序。另一个是针对 Acorn RISC PC 的 ARM610。RISC PC 移植版本目前处于早期到中期阶段,因为需要重写大部分内存处理代码。A5000 移植版本正在进行限制性 Beta 测试。很可能很快发布。

要获取更多最新的信息,请阅读新闻组 news:comp.sys.acorn.misc。有一个 FAQ 位于 http://www.arm.uk.linux.org

Linux SPARC 项目非常活跃。UltraLinux 页面 http://www.ultralinux.org 上提供了 FAQ 和大量其他信息。

UltraSPARC 移植版本(“UltraPenguin”)的主页位于 http://sunsite.mff.cuni.cz/linux/ultrapenguin-1.0/,尽管该 URL 可能不是最新的。

还有一个针对 SGI/Indy 机器(“Hardhat”)的移植版本。URL 是 http://www.linux.sgi.com

问:Linux 内核版本控制如何工作?

答:在任何给定时间,都有几个“稳定”版本的 Linux 和一个“开发”版本。与大多数专有软件不同,只要有用户感兴趣,较旧的稳定版本就会继续得到支持,这就是为什么存在多个版本的原因。

Linux 版本号遵循悠久的传统。每个版本都有三个数字,即 X.Y.Z。“X”仅在发生真正重大的更改时才会递增,这种更改会导致为一个版本编写的软件无法在另一个版本上正确运行。这种情况非常罕见——在 Linux 的历史中,只发生过一次。

“Y”告诉你你所处的开发“系列”。稳定内核在此位置始终为偶数,而开发内核始终为奇数。

“Z”指定您拥有的内核的确切版本,并且每次发布都会递增。

当前的稳定系列是 2.4.x,当前的开发系列是 2.5.x。但是,许多人继续运行 2.2.x 甚至 2.0.x 内核,并且他们也继续接收错误修复。开发系列是 Linux 开发人员正在积极开发的代码,它始终可供公众查看、测试甚至使用,尽管不建议用于生产!这是“开源开发”方法的一部分。

最终,2.5.x 开发系列将被“撒上神圣的企鹅尿”,变成 2.6.0 内核,然后将建立一个新的稳定系列,并开始 2.7.x 开发系列。或者,如果发生任何真正重大的变化,它可能会变成 3.0.0,并开始 3.1.x 系列。

问:在哪里可以获得 Internet 上的最新内核版本?

答:更新内核的最简单方法是直接从您正在运行的发行版获取更新。

答:如果您需要或想要配置和编译自己的内核,https://linuxkernel.org.cn/ 上的网页列出了当前开发和生产内核的版本。

如果您想下载源代码,请通过 FTP 连接到ftp.xx.kernel.org,其中xx是您所在国家/地区的两个字母的 Internet 域缩写;例如,us代表美国,ca代表加拿大,或de代表德国。内核版本 2.2.x 存档在目录pub/linux/kernel/v2.2中,预发布版本的补丁也存档在其中。内核源代码存档为.tar.gz文件,以及.tar.bz2文件。

按照任何标准参考资料中的说明编译内核,就像编译任何其他自定义内核一样。Documentation子目录包含各种子系统和驱动程序作者提供的信息,并且许多信息在其他地方没有记录。

如果您想参与内核开发,请务必注册 linux-kernel 邮件列表,以了解人们正在做什么。请参阅答案:有哪些邮件列表?

关于 2.4 系列内核特性的文章,请访问 http://features.linuxtoday.com/stories/8191.html

问:Linux 是否支持线程或轻量级进程?

答:除了涉及重量级进程的 Unix 多处理模型(当然是标准 Linux 内核的一部分)之外,还有几种轻量级进程或线程的实现。最近的内核实现了一个线程模型 kthreads。此外,以下软件包可用于 Linux。

有关详细信息,请联系相关软件包的作者。

问:这是哪个 Linux 版本和机器名称?

答:输入

 $ uname -a 

问:什么是 BogoMip?

答:“BogoMips”是 BogusMips 的组合。MIPS 代表(取决于你问谁)每秒百万条指令,或 处理器速度的无意义指示

启动时打印的数字是内核定时校准的结果,某些设备驱动程序将其用于非常短的延迟循环。

根据 BogoMips mini-HOWTO,您机器的评级将为

Common BogoMips Ratings

Processor               BogoMips                 Comparison
---------               --------                 ----------
Intel 8088              clock * 0.004            0.02
Intel/AMD 386SX         clock * 0.14             0.8
Intel/AMD 386DX         clock * 0.18             1 (definition)
Motorola 68030          clock * 0.25             1.4
Cyrix/IBM 486           clock * 0.34             1.8
Intel Pentium           clock * 0.40             2.2
Intel 486               clock * 0.50             2.8
AMD 5x86                clock * 0.50             2.8
Mips R4000/R4400        clock * 0.50             2.8
Nexgen Nx586            clock * 0.75             4.2
PowerPC 601             clock * 0.84             4.7
Alpha 21064/21064A      clock * 0.99             5.5
Alpha 21066/21066A      clock * 0.99             5.5
Alpha 21164/21164A      clock * 0.99             5.5
Intel Pentium Pro       clock * 0.99             5.5
Cyrix 5x86/6x86         clock * 1.00             5.6
Intel Pentium II/III    clock * 1.00             5.6
Intel Celeron           clock * 1.00             5.6
Mips R4600              clock * 1.00             5.6
Alpha 21264             clock * 1.99             11.1
AMD K5/K6/K6-2/K6-III   clock * 2.00             11.1
UltraSparc II           clock * 2.00             11.1
Pentium MMX             clock * 2.00             11.1
PowerPC 604/604e/750    clock * 2.00             11.1
Motorola 68060          clock * 2.01             11.2
Motorola 68040 Not enough data (yet).
AMD Athlon Not enough data (yet).
IBM S390 Not enough data (yet).

如果数字低得离谱,则可能是 Turbo 按钮或 CPU 速度设置不正确,或者存在某种缓存问题(如为什么在添加更多内存时系统会变得非常缓慢?中所述)。

对于人们在其他更罕见的芯片上看到的值,或者要计算您自己的 BogoMips 评级,请参阅 ftp://metalab.unc.edu/ 上的 BogoMips Mini-HOWTO。请参阅文档在哪里?

[Wim van Dorst]

问:Linux 是否支持 USB 设备?

答:目前,Linux 支持几十种 USB 设备,并且正在开发其他设备驱动程序。有一个专门介绍该主题的网页,网址为 http://www.linux-usb.org。LDP 文档也位于:Linux 相关内容在万维网上哪里?

最近在开发内核中添加了对 USB 2.0 版本的支持,但尚不适用于 2.4 系列。

问:Linux 可以通过共享中断使用 3 个以上的串口吗?

答:是的,但是您将无法同时使用共享中断的两个普通端口(除非使用一些技巧)。这是 ISA 总线架构的限制。

有关此问题的可能解决方案和解决方法的信息,请参阅 Serial HOWTO