在 Unix 系统中,像是你的程序与硬件的一个仲裁者 首先,它为所有执行中的程序(程序)做内存管理, 并且确保它们都能够平均(或不平均,如果你愿意)的分享处理机的运算资源 此外,它还提供了一个良好的界面让刚刚提到的程序能透过它与你的硬件沟通
其实核心所处理的工作比这还要更复杂一些,不过这些基本的功能是最必要知道的
比较新的核心一般来说会提供更强的能力来与更多种奇奇怪怪的硬件沟通(也就是说,它们拥有更多的设备驱动程序), 它们能够有更好的行程管理,它们能够执行的比旧的版本更有效率,它们可能比旧的版本来的更稳定,而且它们修正了旧版里的一些错误 大部分的人是因为他们需要哪些新的设备驱动程序以及错误修正的部份而更新核心
请看
Hardware-HOWTO 文件
另一个方法是,你可以查看 Linux 源程序中的 `config.in
' 档,
或者就在当你试著去 `make config
' 时找出来
`make config
' 将会让你看到标准的核心源程序支持的所有硬件,但这并不是 Linux 所支持的全部硬件;
许多普通的设备驱动程序(像是 PCMCIA 驱动程序以及某些磁带机的驱动程序)是个别维护及发行的可载入模块
Linus 对这个问题的建议放在 Linux 原始程序的 README
文档里头
如果你没有该版本或是更新的版本,新版的 gcc 应该会告诉你是否需要更新 libc 的版本
这两个操作都不会有什么问题,只要照着说明做就可以了
它们是核心的一部分(通常是设备驱动程序),但是并没有编译到核心里面去 它们被分别编译,然后几乎可以在任何时候将它们插入运作中的核心或从中取出 由于它的便利性,这已经成为一种增加东西到核心里去的较好方式 许多常用的设备驱动程序,例如 PCMCIA 驱动程序以及 QIC-80/40 磁带机的驱动程序就是可载入模块
这与你系统的特殊配置有关 首先,压缩过后的 Linux 源程序在 2.0.10 版时约占 6 MB 许多站台在解压缩后仍会保留一份 解压缩以后这将占掉约 24 MB 但这还不是全部 ─ 你将会需要更多的磁盘空间来实际编译这些东西 这与你配置多少东西到你的核心里头去有关 例如,在某部机器上,我有网路,3Com 3C503 的驱动程序, 并且配置了三种文档系统,而这全部共需要 30 MB 加上压缩过的 linux 源程序,这个配置大概需要用掉你 36MB 在另外一个系统上,不需要支持网路设备(但仍然需要支持网路),加上声卡,结果吃掉更多空间 还有,一个新版本的核心几乎总是比旧版本的占更大的空间 所以,一般来说,如果你有许多种硬件设备的话,确定你有足够的硬盘空间来容纳这个配置 (以今日的价格来说,对于储存空间的问题我不能不建议你再买一台磁盘机 )
对大部份的人而言,答案是``很久'' 你的处理机速度有多快,以及你拥有的内存数量有多少将是决定所需时间的主要因素, 但是,在把多少东西配置到核心里头去这方面还是可以做点努力 在一台有 16 MB 内存的 486DX4-100 电脑上,一个有五种文档系统、支持网路、以及声卡驱动程序的 1.2 版核心可以在二十分钟以内完成 类似的配置,在一台 386DX/40(8 MB 内存)上大约需要要 1.5 个小时 在编译核心时通常一些好的建议是去喝一点咖啡,看点电视,织些毛线,或任何你喜欢的事 如果你的机器真的很慢的话你也该换台较快的机器