在这本书的背景下,“现代”可以指任何东西,从云计算到树莓派。此外,最近Docker的崛起和基础设施方面的相关创新极大地改变了开发人员和基础设施运营商的格局。
让我们来仔细看看这些现代环境以及Linux在其中扮演的重要角色:
移动设备
当我对孩子们说“手机”时,他们会说:“和什么相比呢?”公平而严肃地说,现在很多手机(取决于你向谁提问,高达80%或更多)和平板电脑都运行Linux的变体Android( https://oreil.ly/bQ6yJ )。这些环境对功耗和鲁棒性有严格的要求,因为我们每天都依赖它们。如果你对开发Android应用程序感兴趣,可以考虑访问Android开发者网站( https://oreil.ly/xf5kC )获取更多信息。
云计算
对于云,我们在规模上看到了与移动和微空间类似的模式。有新的、强大的、安全的、节能的CPU架构,如成功的基于ARM的AWS Graviton( https://oreil.ly/JzHzm )产品,以及已向云提供商建立的繁重外包,特别是在开源软件的上下文中。
物联网(智能)
我相信你已经看到很多与物联网(IoT)相关的项目和产品,从传感器到无人机。我们中的许多人已经接触过智能电器和智能汽车。这些环境对功耗的要求甚至比移动设备更具挑战性。此外,它们甚至可能不是一直在运行,例如,每天只运行一次以传输一些数据。这些环境的另一个重要方面是实时功能( https://oreil.ly/zBsRy )。如果你对在物联网上下文中开始使用Linux感兴趣,那么可以考虑AWS IoT EduKit( https://oreil.ly/3x0uf )。
处理器架构的多样性
在过去30年左右的时间里,英特尔一直是领先的CPU制造商,主导着微型计算机和个人计算机领域。英特尔的x86架构被认为是黄金标准。IBM采取的开放方法(发布规范并允许其他人提供兼容设备)很有前途,导致x86克隆也使用英特尔芯片,至少最初是这样。
虽然英特尔仍然广泛应用于台式计算机和笔记本计算机系统,但随着移动设备的兴起,我们看到了ARM架构的日益普及( https://oreil.ly/sioDd )和最近的RISC-V( https://oreil.ly/Tf0bb )。与此同时,多架构编程语言和工具(如Go或Rust)正变得越来越广泛,创造了一场完美风暴。
所有这些环境都是我认为的现代环境的例子,而且大多数(如果不是全部的话)都以某种形式运行在Linux上或使用Linux。
现在我们了解了现代(硬件)系统,你可能想知道我们是如何走到这一步的,以及Linux是如何形成的。