开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

IBM Developer 博客

通过 IBM Developer 关注最新动态并获取信息

了解适用于 IBM Z 和 LinuxONE 平台的开源软件的历史、详情和大型生态系统。


自 IBM 首次发布 Linux on IBM Z 以来,已经过去了 20 年,我认为我们很有必要探究一下现在适用于 IBM Z 和 LinuxONE 平台的开源软件的历史、详情和大型生态系统,以此纪念这一重要时刻。

IBM 在开源社区一直都有着深厚的根基。我们从很早的时候就开始支持新兴社区,包括 Linux 基金会、Apache 软件基金会和 Eclipse 基金会。除了成为许多项目的积极贡献者之外,多年来,我们一直在为开发开源代码、许可、倡导开放治理和开放标准贡献力量。

开源在软件领域一直保持强劲的发展势头,我们看到在不同的硬件和处理器架构中都体现出了一定程度的增长。IBM Z 和 LinuxONE 的处理器架构名为 s390x。

如果您不熟悉这两个硬件平台,那么它们常用的名字“大型机”应该不会让您感到陌生。IBM Z 在性能、安全性、可靠性和可扩展性方面具备世界一流的企业级特性,已取得了巨大的发展。最新版本 IBM z15 可以与不同操作系统共存,包括 Linux、z/OS、z/VSE 和 z/TPF。LinuxONE III 型号与 IBM Z 功能相同,但专为 Linux 操作系统而设计,这包括大多数商业和开源 Linux 发行版。

当我们谈论两者之间的共性时,它们都有一个与大型机相关但不太为人所知的特点,即开源软件。您是否知道大型机的开源软件 (OSS) 可以追溯到 1955 年?SHARE 是一个由志愿者运营的用户群,成立于 1955 年,旨在共享与大型机软件有关的技术信息。他们创建了包含可用源代码的开放式 SHARE 库,并且进行了分布式开发。当时它还没有被称为“开源”,但是我们可以认为这是开源的早期起源之一。

开源软件、Linux 和 IBM

多年来,人们一直在各种编程语言之间共享库,开源软件的普及很大程度上就是由此带来的文化演变所产生的结果。对具有可重用功能的软件进行创新改造并分享,已然成为一种普遍的做法,开源社区和世界上一些较大的组织则成为这一潮流的引领者。除此之外,所有最新的技术目前都在以公开的形式进行开发 —— 人工智能、机器学习、区块链、虚拟现实和自动驾驶汽车……简直不计其数。

如上所述,开源对于大型机而言并不是新鲜事物 – 另一个例子就是 Linux,它已经被人们使用了 20 多年。1999 年,IBM 为 Linux 内核发布了补丁集合和新增功能,促进人们在 IBM Z 中使用 Linux。后来,在 2000 年,又为大型机添加了更多功能,包括 Integrated Facility for Linux (IFL),它用于托管带有或不带虚拟机 (VM) 管理程序的 Linux。

在过去的 20 多年里,IBM 为 Linux 投入了大量资源。2000 年,IBM 宣布了一项 10 亿美元的投资,这让 Linux 成为公司战略的重要组成部分,也确立了 IBM 作为 Linux 内核和子系统的最大贡献者的地位。

IBM 对 Linux 的重要贡献之一就在于它不断推出增强功能,充分利用大型机的独特能力。如今,IBM Z 和 LinuxONE 运行的开源 Linux 已经过大幅改进,可提供惊人的技术来实现高 I/O 事务、加密功能、可伸缩性、可靠性、压缩和性能。

所有商业和开源 Linux 发行版均可用于 IBM Z 和 LinuxONE:Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Ubuntu、Fedora、Debian、Open SUSE、CentOS、Alpine 和 ClefOS。

在过去 20 年里,Linux 的运用为 IBM Z 和 LinuxONE 的广阔开源软件生态系统打开了大门。

S390x 的开源软件生态系统

现如今,依照对 Linux 的承诺,IBM 为许多开源项目做出了贡献。实际上,与 Red Hat(现在属于 IBM)一起,IBM 拥有全世界数量最多的活跃开源贡献者,这真是一项创举。

为了实现不断为 IBM Z 和 LinuxONE 打造开源软件生态系统的目标,IBM 配备了全职开发者团队,专门负责为开源社区做出贡献。一般而言,您需要的是针对 s390x 的不同而编译的 Linux 发行版;如果要移植现有软件,则必须在 IBM Z 或 LinuxONE 上再次构建或编译。

开源社区和 IBM 上游开发者解决了 s390x 特有的技术问题,特别是如下技术问题:涉及 x86 处理器的现有开源软件,并且这些开源软件需要在 IBM Z 或 LinuxONE (s390x) 上进行移植和验证。

将 OSS 移植到 S390x 的技术注意事项

首先,务必要注意的是,大多数软件重新编译或构建时所做的更改都很少,甚至没有更改。x86 专用的组件将会导致编译或运行时错误。在这些情况下,需要添加代码,使这些库或组件适用于 s390x。

S390x 使用大端内存分配方式。大端模式首先存储最高有效字节 (MSB),而 ARM 和 x86 处理器中可用的小端模式则首先存储最低有效字节 (LSB)。这意味着,如果软件以小端模式进行低级内存分配,则需要将代码调整为大端模式,以便应用程序可以继续在大型机上正常工作。

相同的注意事项也适用于库依赖项(可传递库),这里需要更改其他处理器架构的特定功能才能在 s390x 上工作。

每个工具、脚本和软件都不同,但是在大多数情况下,以前的技术注意事项都适用,并且在许多情况下都无需更改代码,只需重新构建或编译软件即可。

发展开源生态系统

参与我们!编码和构建 OSS 在任何平台上都基本相同。Linux 的使用和开源技术的复用以及常用的开源开发工具和语言,这些都有助于发展 IBM Z 和 LinuxONE 的 OSS 生态系统。我们已经看到最近几个月的关注度一直在持续增长,我们期待着能为 s390x 提供更多的 OSS(尤其是在 AI 领域)。

基于 IBM z/OS 的开源技术是另外一篇博文的主题,但它同样也体现出了这一生态系统的发展,这包括 Zowe 等 Linux 基金会项目。

开源生态系统 - 徽标

我们邀请您参与进来。我们的社区正在不断发展壮大,这里有许多资源可供您在 IBM LinuxONE Community Cloud 中试用,这篇博客文章中也列出了其他各种资源。在熟悉的开源环境中工作的优势,一定会让开发者和企业倍感舒适。

最后,于 9 月 15 日参加 IBM Z 活动日,我发表了一个题为“Linux on IBM Z 开源软件发展 20 年及前景展望”的演讲。该演讲中,我介绍了这些开源生态系统主题。在此处注册即可在您方便时观看会议回放。

本文翻译自:Twenty years of open source software for IBM Z and LinuxONE(2020-09-15)