嵌入式系统/常用实时操作系统/DOS
基于 MS-DOS 的操作系统在嵌入式系统设计开发社区中仍然占有很大的市场份额。 造成这种情况有很多原因,最重要的是,根据许多现代的标准,MS-DOS 几乎不能被称为操作系统。 几乎所有基于 DOS 的软件在运行时都对计算机拥有独占控制权,一个主要优势是操作系统占用空间通常非常小。 你可以安装一个简化版本的 FreeDOS(一个仍在更新的当前 MS-DOS 克隆),它只需占用 100K 硬盘空间。 计算机内存所需的容量更小。 你甚至仍然可以购买 MS-DOS 6.22,但必须从获得微软许可的专业软件分销商处购买,而且微软不再“支持”它,不再提供任何软件更新,即使是已知错误也是如此。
DOS 的主要优势也是它最大的缺点。 由于在计算机中实际运行的操作系统很少,因此 DOS 软件开发人员必须执行许多传统上被认为是操作系统一部分的任务。 例如,DOS 没有内置的调度或多线程功能。 你还必须直接在软件应用程序中安装中断处理程序,并且 API 调用往往是通过软件中断而不是其他更直接的过程方法来实现的。 支持 DOS 的设备供应商往往采取以下两种方法之一:提供设备的原始规格说明书,或编写一个预编译的二进制对象库,该库必须使用特定编译器链接到你的软件中。
在 DOS 环境下开发软件有一个庞大的软件基础,这也是一个重要的优势。 对于 DOS,存在着用于执行诸如事件调度和多线程之类的任务的预先编写的(甚至免费的)库,以及 GUI 界面模型和大多数标准设备外设的支持库。 你甚至可以找到针对 DOS 环境的优秀编译器,这些编译器可以编译到 32 位保护模式,因此你也不限于使用 8086 指令集。
DOS 是一个很好的基础操作系统,可以用来构建具有特定功能的定制实时操作系统,而不需要额外的无关紧要的东西。 它确实需要更多时间来添加特定项目可能需要的这些额外功能,因此它更多地是时间与金钱的权衡。 如果你有时间让精心制作的软件适合非常小的内存占用空间,那么 DOS 作为实时操作系统是最好的选择。 它还允许一个项目在完成之后通常具有较长的货架寿命,而且不必经常更改以适应过时的芯片技术。
http://www.freedos.org FreeDOS 项目的主页。
- http://freedos-32.sourceforge.net/ FreeDOS-32 项目的主页。
- http://reactos.org/ ReactOS 开发维基。