REXX/OS 与现有 OS/2 内核和图形子系统有何不同?

更新时间

REXX/OS 的核心差异在于:它把内核和图形引擎放到 REXX 语言层面来扩展,而不是沿用 OS/2 原有内核与 PM(Presentation Manager)图形子系统的封闭结构。按 netlabs.org 项目页面的说法,这一设计要克服现有内核和图形子系统的限制,例如单一输入队列;同时让最终用户和系统管理员能通过 REXX 扩展系统安全服务、设备驱动和多媒体等子系统。适用条件是:你关心的是 OS/2 社区项目的架构方向,而不是已经成熟可日常使用的操作系统——页面只说明项目达到第一个里程碑并放出首个公开预览。

架构差异:从“改内核”变成“用 REXX 扩展”

传统 OS/2 的内核和 PM 图形子系统是相对固定的底层组件,普通用户很难介入。REXX/OS 的设想是把 REXX 放到操作系统层面,让内核和图形引擎具备“易扩展”的特性。项目页面明确写到,这是内核和图形引擎首次在操作系统层面利用 REXX 的优势,即最终用户和系统管理员可以方便地扩展系统。

具体来说,页面列出了三个可扩展方向:

  • 系统安全服务:可通过 REXX 层面纳入和调整。
  • 设备驱动的硬件支持:可把额外硬件支持加入现有设备驱动。
  • 多媒体等子系统:多媒体专家 Timur Tabi 表示,有了 REXX 语言接口,可以方便地接入多媒体服务,从而扩大支持的硬件以及文件和流格式范围,而不需要大量编程工作。

与 PM 图形子系统的具体差别

页面点名的旧限制是“单一输入队列”(single input queue)。REXX/OS 声称新设计克服了当前内核和图形子系统的这类限制。需要说明的是,页面没有展开单一输入队列在新架构中具体如何被替换或绕过,只把它作为“旧限制”的例子。因此可以确认的是项目目标,而不是已经验证的实现细节。

另一个差别在参与门槛。页面引述 REXX 语言发明者 Mike Colinshaw 的说法:项目的主要目标是为低技能程序员提供易用接口,把 OS/2 社区剩余的发展潜力与操作系统本身匹配起来。换句话说,REXX/OS 不只是换内核,而是试图改变“谁能扩展操作系统”这件事。

当前状态与判断依据

项目页面给出的状态信息有限但关键:

项目 页面说明
里程碑 已达到第一个里程碑
内核 目前托管在虚拟 OS/2 会话中,已成功启动
驱动 基本设备驱动可用
公开预览 可从 netlabs.org 网站下载
截图 已发布若干截图
预期下载量 页面称准备应对“几十次”下载

这些信息说明 REXX/OS 处于早期预览阶段,适合了解架构思路和做技术观察,不适合当作生产系统评估。页面没有给出性能数据、兼容性列表或正式发布时间,因此无法据此判断它能否替代现有 OS/2 环境。

一个具体场景:扩展多媒体支持

假设你需要让系统支持一种新的流媒体格式。在传统路径下,这通常要改动多媒体子系统相关代码,门槛较高。按项目页面的描述,REXX/OS 的思路是:通过 REXX 语言接口接入多媒体服务,由最终用户或管理员在系统层面完成扩展,而不必进行大量编程。这个例子能帮助理解“内核和图形引擎利用 REXX 可扩展性”的含义——重点不是 REXX 本身多快,而是把扩展点开放给非专业开发者。

选择时看什么

如果你在评估是否关注或试用 REXX/OS,可以先确认三点:第一,你需要的是架构信息还是可用的日常系统——前者可以看项目页面和预览,后者目前缺乏依据;第二,你是否依赖 PM 图形子系统的现有行为——页面只声称克服其限制,未提供兼容性说明;第三,你是否愿意接受早期预览的不确定性——页面明确这是第一个里程碑后的公开预览。满足“关注 OS/2 社区技术方向、能接受早期软件”这两个条件,REXX/OS 值得跟进;需要稳定 OS/2 环境时,应继续使用现有系统。