IBM i (OS/400) 数据库操作系统
今天,我想给大家展示一个最迷人和令人惊讶的操作系统之一。它不是另一个 Unix、Linux 或 Windows。它是一种走自己道路的架构,证明了系统工程设计可以看起来完全不同。我讲的是 IBM 的“孩子”,对于许多人来说,它可能与“无聊的银行系统”同义,但实际上,它是 IT 历史上最不妥协的项目之一。当我们今天兴奋于抽象和虚拟化,认为自己正在发现新领土时,这个系统几十年前就已经在做这件事。想象一种系统,它并不知道我们理解中的“文件”概念。一种所有内容都是对象,所有磁盘和操作内存形成一个广阔、平坦空间的系统。如果您想要证明真正的工程不需要流行术语来让您惊叹,我邀请您继续阅读。AS/400(IBM i)的诞生 要理解这一现象,我们必须回到1980年代,将目光投向位于明尼苏达州罗切斯特的 IBM 实验室。这是代号为“银湖”的项目诞生的地方。工程师们面临着合并两个不同世界的艰巨任务。一方面,我们有 System/38。这是一台超前于其时代的机器,已经拥有集成关系数据库和创新的内存管理,但昂贵且难以使用。另一方面是极为流行的 System/36,以其简单和直观的界面而受人喜爱,虽然在架构上简单得多。“银湖”项目的目标是创建一个平台,采用 System/38 的技术力量,并赋予它 System/36 的用户友好性。这项工作的结果是 AS/400(应用程序系统/400)平台于1988年6月首发。需要注意的是,AS/400 指的是硬件/平台,而 OS/400 是专用操作系统。由弗兰克·索尔蒂斯博士设计的架构不仅是一个妥协,而是一次技术飞跃。一个关键假设是保护客户在软件上的投资。由于 TIMI(技术独立机器接口)抽象层,企业可以将他们的应用程序从旧系统迁移到新平台,而无需从头开始重写代码。这种方法定义了系统在未来几十年的身份。尽管市场名称经历了多次变化——从 AS/400,到 iSeries,System i,最终到现在的 IBM i——索尔蒂斯在罗切斯特奠定的基础仍然完好无损。正是这种连续性使得1990年编写的程序在今年生产的服务器上可以原生运行。AS/400 硬件已不复存在,但操作系统仍然存在,并在 IBM Power 平台上运行。在软件世界中,我们习惯于清晰的划分。操作系统管理硬件,应用程序则运行在其之上。在典型的 Windows 或 Linux 环境中,像 Oracle 或 SQL Server 这样的数据库只是需要单独购买、安装和维护的另一个程序。而在 IBM i 的情况下,情况截然不同,这一方面构成了该平台的绝对独特性。在这里,关系数据库 Db2 for i 不是一个叠加层。它直接构建在系统内核中,处于机器接口级别之下。这种架构使得操作系统和数据库成为不可分割的整体。操作系统不将数据表视为磁盘上的普通字节流,其内容对其是无所谓的。操作系统完美地“理解”商业数据的结构,并将 SQL 表视为任何其他本地系统对象。凭借此机制,权限、空间管理或记录锁定等操作在最低、最有效的内核级别进行,而不是由争夺 CPU 资源的外部应用程序进行。这种方法消除了通信开销,使该平台在在线事务处理(OLTP)方面主导了数十年。系统的对象性质 该系统的哲学与将一切视为文件的 Unix 方法相对立。在 IBM i 中,基本单位是对象。无论我们在谈论程序(*PGM)、数据文件(*FILE)还是用户配置文件(*USRPRF),每个资源都有严格定义的结构,包括头部和功能部分。这种结构通过封装机制大幅提升了安全性。系统根本不允许您在文本编辑器中编辑已编译的程序或执行未被正确处理的代码。对对象内部的访问只能通过系统定义的接口和命令进行。借助此机制,试图覆盖可执行代码的病毒或恶意脚本将在系统级别遇到障碍。硬件抽象和代码的持久性 架构的另一个支柱是 TIMI(技术独立机器接口)层。为该系统编写的应用程序不会直接与硬件进行通信,而是通过 TIMI 层进行,这增强了应用程序的可移植性,并确保了代码的持久性。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡