文章摘要
OS/2是微软为Intel 80286/80386微电脑开发的操作系统,具备多任务处理、丰富的API和未来硬件扩展性,被视为未来办公自动化的核心平台。它通过多任务、图形用户界面和资源共享提升个人生产力,并通过网络支持团队协作。文章介绍了OS/2的系统架构,包括内核、系统服务和Windows Presentation Manager,帮助开发者以较低成本探索其潜力。
文章总结
OS/2操作系统概述
OS/2是微软为Intel 80286/80386微计算机开发的最新操作系统,具备多任务处理、丰富的应用程序编程接口(API)以及对未来硬件的扩展性,有望成为未来十年的主流操作系统。微软将微计算机视为办公自动化的平台,未来的办公室将依赖于个人和团队的协作效率,通过多任务处理、图形用户界面和资源共享来实现。
OS/2系统架构
OS/2系统架构分为三层:核心层是OS/2内核和系统服务;第二层是Windows Presentation Manager(WPM),专为OS/2设计的新Windows界面;第三层是OS/2 LAN Manager,用于局域网和广域网的控制软件。本文主要关注OS/2内核,基于OS/2软件开发工具包(SDK)的首次测试版。
OS/2内核与多任务处理
OS/2内核提供了多任务处理和相关系统服务,用户无需特殊接口即可同时运行多个应用程序。开发者只需学习OS/2 API,这是一个基于调用的高级编程接口,尤其适用于C语言。虽然微软强调使用WPM,但它并非必需,LAN Manager也不是必须的。应用程序可以通过简单的OS/2系统利用多任务处理。
OS/2 SDK
OS/2 SDK包含优化C编译器、宏汇编器以及其他编程和操作系统工具,如对象库、链接器、CodeView源代码调试器和全功能窗口化程序员编辑器。WPM开发工具包和LAN Manager软件也将很快发布。SDK还提供了系统调用接口规范和设备驱动程序的技术手册。
OS/2的调度与时间片
OS/2基于抢占式调度器,内核通过PC的实时时钟中断,重新调度所有可运行任务并执行下一个任务。调度器根据任务优先级分配时间片,任务运行时间结束后,内核进行上下文切换,保存当前任务的寄存器和操作模式,切换到下一个任务的上下文。
动态链接库(Dyn-link Libraries)
API通过动态链接库实现,减少了磁盘空间占用,程序文件大小得以缩减。动态链接库在运行时加载,并可被多个并发执行的任务共享,节省了内存。动态链接在微软的微计算机愿景中扮演重要角色,支持未来硬件而无需重新分发应用程序。
OS/2的运行模式
OS/2可以在保护模式和实模式下运行。保护模式用于多任务处理,实模式则便于运行MS-DOS应用程序。保护模式确保一个进程不受另一个行为不当进程的影响,而实模式下应用程序可以直接访问所有机器资源。
屏幕组与进程管理
用户通过屏幕组加载和运行应用程序,屏幕组是非技术用户利用多任务的逻辑划分。屏幕组由会话管理器控制,用户可以通过热键切换回会话管理器或直接进入另一个屏幕组。每个屏幕组都有虚拟屏幕缓冲区、键盘和鼠标。
OS/2的未来展望
OS/2有望成为286/386微计算机的未来操作系统,具备足够的潜力和企业支持。未来,OS/2将获得一些增强功能,如可安装的文件系统和安全机制。虽然OS/2可以在386上运行,但尚未充分利用其32位线性地址空间和多并发MS-DOS屏幕组等特性。未来两年将是OS/2发展的关键时期。
作者简介
Vaughn Vernon是Aspen Scientific的总裁,专注于UNIX/Xenix、OS/2和MS-DOS之间的交叉开发工具,同时也是《The Advanced C Programmer’s Guide to OS/2》的合著者。
评论总结
评论内容主要围绕OS/2操作系统的历史、技术特点及其影响展开,观点多样,既有对其技术优势的肯定,也有对其设计选择的质疑。
OS/2的归属问题
- 有评论指出OS/2主要是IBM的产品,微软仅在早期参与。
- 引用:"Wasn't it mostly an IBM product, with Microsoft being involved only in the beginning?"
- 中文:“OS/2不主要是IBM的产品吗?微软只是早期参与了一下。”
多线程技术的选择
- 评论认为OS/2的抢占式多线程优于Windows 3的协作式多线程,但也指出其允许线程和进程自行调整优先级的设计可能削弱了优势。
- 引用:"Preemptive multithreading is better than cooperative multithreading... but then it's de-fanged by allowing the threads and process to adjust their own priority."
- 中文:“抢占式多线程比协作式多线程更好……但允许线程和进程自行调整优先级的设计削弱了其优势。”
API设计的选择
- 评论质疑OS/2 API采用Pascal调用约定而非C约定,认为这种选择虽然提升了速度,但牺牲了兼容性。
- 引用:"Did this choice of a small speed boost over compatibility ever haunt the decision makers, I wonder?"
- 中文:“这种为了速度而牺牲兼容性的选择,是否让决策者后悔过?”
OS/2的轻量化和多任务能力
- 评论称赞OS/2 2.1的轻量化设计,能够从单张1.44MB软盘启动并运行多任务操作,甚至无需GUI。
- 引用:"The cool thing about OS/2 2.1 was that you could easily boot off of a single 1.44 Mb floppy disk, and run multitasking operations, without the need for the GUI."
- 中文:“OS/2 2.1的酷之处在于,你可以轻松地从一张1.44MB软盘启动,并运行多任务操作,甚至不需要GUI。”
OS/2的历史地位
- 评论认为OS/2作为多任务内核,是MS-DOS的重大升级,尽管其GUI并未给人留下深刻印象。
- 引用:"But seeing it laid out as just the multi-tasking kernel that it is it seems more obvious now as a major foundational upgrade of MS-DOS."
- 中文:“但将其视为多任务内核后,它作为MS-DOS的重大升级就更加明显了。”
OS/2的实际应用
- 评论提到OS/2在纽约地铁MetroCard自动售票机中的应用,展示了其长期稳定性。
- 引用:"OS/2 powered NYC Subway MetroCard vending machine for decades."
- 中文:“OS/2为纽约地铁MetroCard自动售票机提供了数十年的支持。”
总结:评论对OS/2的技术设计、历史地位和实际应用进行了多角度讨论,既有对其技术优势的肯定,也有对其设计选择的质疑,整体呈现出对OS/2复杂而多元的评价。