AmigaOS

2025年7月24日 | 阅读 13 分钟

Amiga系列个人计算机中使用的操作系统被称为AmigaOS。AmigaOS最初由Commodore International创建,拥有忠实的用户群和悠久的历史。

该系统从一开始就是32位的,它是为摩托罗拉68000处理器编写的。支持的处理器有:MC68000、MC68010、MC68020、MC68030、MC68040、MC68060。3.x版本的系统由于WarpOS或PowerUP子系统,也支持PowerPC处理器,也称为PPC。

AmigaOS 4.1的当前版本已完全重写为PowerPC处理器,并在AmigaOne、micro-A1、SAM440ep、SAM440 Flex、Pegasos II计算机上运行。为配备MC68x系列处理器的经典Amiga编写的软件可以通过内置于系统的两个模拟器运行:解释模式,确保与原始硬件系统的高度兼容性;以及JIT(即时编译)模式,称为Petunia,确保了运行速度,并提供高模拟速度。
AmigaOS及其克隆

系统的核心特点是多任务处理、先进的图形能力(与Amiga计算机的构造密切相关)以及低响应时间,这使其在实时应用中找到了一席之地,尽管它并非为此设计。缺点是缺乏内存保护。可以通过外部库实现对POSIX标准和X Window System的兼容。

  • Amiga 1000的特点是采用7.16兆赫兹摩托罗拉68000 CPU、256 KB RAM,以及一个由Agnus、Denise和Paula芯片组成的独特专有芯片组,用于图形、视频和音频处理。
  • 由于AmigaOS的硬件能力,它非常适合图像创作、视频增强、游戏和多媒体程序。它还实现了音轨播放、高分辨率图形和无缝多任务处理。
AmigaOS

AmigaOS首次引入了“Intuition”图形用户界面。它具有窗口系统、图标和鼠标驱动界面。即使在其他平台跟进类似功能之前,GUI也提供了一种现代且易于访问的与计算机交互的方式。

Amiga平台很快在演示场景和游戏中流行起来。Amiga的硬件能力使演示创作者和游戏开发者能够制作出图形精美、音效出色的游戏和令人惊叹的视听演示。

主要特点

AmigaOS有几个关键特性。AmigaOS的主要关键特性如下:

多任务处理

  • AmigaOS以其先进的多任务功能而闻名。凭借其真正的抢占式多任务功能,系统可以同时运行多个应用程序而不会出现任何延迟。与当时许多其他个人计算机操作系统相比,这是一个主要优势。
  • 尽管可以在AmigaOS上开发实时应用程序,但重要的是要记住,实时系统通常需要精确的时序、确定性和专门的硬件支持。开发人员必须仔细设计和测试他们的应用程序,以确保它们满足必要的实时要求。此外,对于时间敏感和安全敏感的应用程序,通常会部署现代实时操作系统,但AmigaOS仍然是一个具有忠实粉丝基础的历史悠久的平台。

IntuitionGUI

  • AmigaOS的图形用户界面(GUI)被称为“Intuition”。其窗口架构、鼠标驱动界面和图标使用户能够轻松地管理和导航文件和应用程序。可以打开多个窗口,用户可以在它们之间轻松切换。

BOOPSI(Intuition的基本面向对象编程系统)

  • BOOPSI是一个框架,允许程序员使用面向对象的方法来设计小部件和GUI元素。它简化了创建和修改GUI元素的外观和功能的流程。

Arexx(Amiga Rexx)

  • AmigaOS附带了一个名为ARexx的脚本语言,允许用户管理应用程序和自动化进程。使用ARexx脚本,可以提高生产力,操作第三方软件,并创建宏。

Datatypes

  • AmigaOS之所以与众不同,部分原因在于它使用“数据类型”的方式。数据类型是动态文件格式处理器,使操作系统能够本地访问各种文件类型以进行显示和处理。如果开发人员可以为各种文件格式编写插件(即数据类型),那么处理各种数据格式将更加容易。

共享库

  • AmigaOS使用共享库来减少内存使用并提高系统性能。应用程序可以动态链接到共享库,从而降低内存需求并鼓励代码重用。这种策略使系统保持高效和富有成效。

模块化

  • 由于操作系统的高度模块化,用户和开发人员可以升级或替换某些部分,而不会影响整个系统。其模块化功能使操作系统更容易维护和定制。

文件系统

  • AmigaOS支持多种文件结构,包括本地Amiga文件系统(AFS)、网络文件系统以及跨平台文件系统,如快速文件系统(FFS)。因此,与不同系统和存储设备的统计数据交换变得更加容易。

AmigaOS 3.2 功能列表摘要

  1. ReAction GUI工具包集成
  2. 内置ADF(Amiga磁盘文件映像)管理
  3. 集成帮助子系统
  4. 更新的数据类型系统
  5. Workbench和其他用户界面改进
  6. 改进的工具、实用程序和系统应用程序
  7. 增强的Shell行为
  8. 新的和重构的命令集
  9. 调整的“首选项”
  10. 润色后的MultiView
  11. 改版的Commodities
  12. 扩展的BootMenu
  13. 包含并改进了AmigaOS 3.1.4的功能集
  14. 灵活的交付媒介
  15. 许多显著的补充

1. REACTION GUI工具包集成

  • ReAction GUI工具包的集成不仅为AmigaOS 3.2用户打开了大量现有应用程序,还确保了不同AmigaOS版本之间更容易的移植和跨平台开发。
  • 无需额外安装,即使在低端68000系统上也能正常工作。
  • 包含了一个名为“TextEdit”的新多文件文本编辑器作为演示。
  • ReAction有自己的首选项编辑器,允许您为基于ReAction的程序设置背景填充模式。
  • 来自AmigaOS 4.x的新且已修复bug的Class,具有许多独有特性和润色后的美学效果。

2. 内置ADF(AMIGA DISK FILE IMAGE)管理

  • DAControl & trackfile.device提供了前所未有的功能,它们允许用户创建、挂载、插入和弹出ADF文件。
  • ADF映像就像处理任何物理软盘一样。
  • 在“Workbench”上,可以通过双击ADF映像来挂载它。
  • 通过Shell,可以使用一套丰富的可用选项来完成ADF处理。
  • 访问这些已挂载的ADF磁盘映像文件速度很快,并且需要的内存很少。
  • 可以同时挂载多个ADF磁盘映像。
  • 提供了共享缓存系统来加速ADF操作。

3. 集成帮助子系统

  • 完整的“参考手册”涵盖了所有命令和最复杂的主题。
  • 通过简单地按下HELP键,就可以获得基于AmigaGuide的中央“帮助中心”。
  • 可以从Shell/CLI快速查询帮助数据库。
  • 首选项和许多其他程序包含“帮助”菜单项。
  • 在WBStartup文件夹中,MenuTools将“帮助”菜单项添加到“工具”菜单中,但也可以自定义以添加其他工具。

4. 更新的数据类型系统

  • 新的AIFF未压缩音频数据类型
  • 新的GIF图像数据类型
  • 新的WAV音频数据类型
  • 新的JPEG图片数据类型
  • 新的PNG跨平台图像数据类型
  • 新的BMP数据类型,用于Windows/OS2位图图像
  • 新的Icon.datatype允许使用“.info”文件作为图像。
  • 新的ACBM图片数据类型(用于AmigaBASIC & SpectraPaint)
  • AmigaGuide数据类型现在可以显示内联图像。
  • 具有搜索功能的文本数据类型。
  • 更快速、更可配置的CDXL和ANIM数据类型。
  • Sound.datatype管理8位、16位、24位和32位比特率样本。
  • Picture.datatype现在速度极快,即使在低端68000处理器上也是如此。

5. AMIGAOS WORKBENCH和其他用户界面改进

  • 可以从任何边框调整窗口大小。
  • 窗口图标化。
  • Workbench标题栏自定义。
  • 按住SHIFT键并单击窗口缩放按钮即可最大化窗口。
  • [ESC]键可以退出简单请求。
  • 可伸缩的“GadTools”用户界面,可适应不同的字体大小。
  • Workbench菜单“打开卷”。
  • 菜单窗口 -> 排序顺序(正序或倒序)。
  • 屏幕外窗口现在是默认内置的,并且是可配置的。
  • 滚动条和滑块现在具有3D风格的浮雕旋钮和更暗的容器背景。
  • 更新的Look菜单:Palette Prefs“菜单亮边”+“菜单暗边”。
  • 更新的Look菜单:子菜单指示符从“»”更改为实心黑色三角形。
  • 更新的Look菜单:对于互斥选项,复选标记符号被实心黑色圆圈替换。
  • Workbench Prefs在文本模式下定义了文件夹的放置。

6. 改进的工具、实用程序和系统应用程序

  • 交互式分区“Mounter”。
  • “查找”允许您快速搜索文件名或文件内容。
  • “ShowConfig”现在具有美观的用户界面,并以人类可读的格式显示AutoConfig硬件。
  • HDToolBox现在可以根据需要从只读媒体运行。

7. 增强的Shell行为

  • 可配置的TAB自动完成。
  • 能够将图标拖放到Shell窗口中。
  • Shell错误重定向。
  • “Execute”现在是内部Shell命令。
  • “History”是新的内部Shell命令。
  • Shell运算符&&和||用于AND和连接操作。
  • 调试变量将执行的命令发送到串行端口。
  • 已调整Shell启动文件以方便自定义。

8. 新的和重构的命令

  • C:Eval正确地对操作进行分组。
  • C:Copy获得了FORCE选项以覆盖目标。
  • C:Protect获得了USER、GROUP、OTHER、CLONE、CLEAR、FILES和DIRS。
  • C:SetDate可以从文件复制日期。
  • C:List提供了FLAT、SORT、USERS、GROUP、LFORMATQUOTE选项。
  • C:Mount SHUTDOWN尝试关闭处理程序。
  • C:Assign包含了DENIED和DISMOUNT开关。
  • C:Type支持AUTO、TEXTONLY、WIDTH和BUFFER选项。
  • C:Reboot重启您的Amiga,但会等待任何正在进行的写操作,以防止验证问题。
  • 新增C:Group和C:Owner命令,用于网络环境。
  • C:MD5Sum计算并比较文件和卷的校验和。
  • C:MountInfo命令有助于创建MountLists。
  • C:Break和C:ChangeTaskPri NAME处理通配符选项。
  • C:DefIcons识别文件并为其应用默认图标。
  • C:AssignWedge允许用户即时创建或拒绝assign。
  • C:LoadMonDrvs简化并快速启动监视器驱动程序。

9. 调整的“首选项”编辑器

  • 自定义打印机输出设备和单元号。
  • WBPattern具有用于背景、屏幕和窗口的布局选项,包括颜色和抖动。
  • PointerPrefs已进行了彻底的检修,以支持40种不同的指针类型。
  • Font Preferences附带了阴影和轮廓字体选项。
  • IControl进行了大规模的改版,引入了新功能,例如窗口和屏幕边框宽高比自定义。

10. 润色后的MultiView

  • 新的“编辑/粘贴”菜单项打开剪贴板单元0的内容(从而补充“编辑/复制”)。
  • “关于”窗口现在报告当前显示图片或动画的宽度、高度和深度。
  • ARexx脚本的用户菜单名称现在可以长达40个字符,并且可以包含“空格”。
  • 按住[Shift]键,同时选中“另存为...”菜单项,则强制MultiView以IFF格式保存显示的文档。
  • 现在在其ASL请求器中列出了模式匹配,如果删除,还可以显示图标(结合新的icon.datatype使用效果更佳)。

11. 改版的Commodities

  • “RAWBInfo”是图标信息工具的改进替代品。
  • “AsyncWB”是一个具有多种功能的AmigaOS Workbench增强Commodity。
  • “AutoPoint” KEEPSTRINGS防止此Commodity自动抢占具有活动字符串小部件的窗口的焦点。
  • “ClickToFront” TOBACK_QUALIFIER选择一个限定符,用于将窗口置于后方(单击一次)。
  • 双击图标时,“ClickToFront”不再将Workbench窗口带到前面。
  • “NumericPad”允许将数字小键盘键重新映射到标准键盘。
  • “AutoArrangeIcons”类似Commodity的脚本集自动对活动窗口中的图标进行排序和快照。

12. 扩展的BootMenu

  • 现在提供了一个逐行跟踪Startup-sequence的选项。
  • 用户可以通过单击小部件来禁用ROM模块更新。
  • 硬件扩展屏幕显示扩展板地址和大小。
  • 使用“启用系统日志”选项,可以使用新选项将串行端口输出重定向到文件。
  • “故障安全”启动小部件以健壮安全的环境启动Amiga,以执行维护和故障排除任务。
  • 为大多数选项提供了更多的键盘快捷键。
  • 显示AmigaOS Kickstart版本号。

13. AmigaOS 3.1.4 功能集的包含与改进

  • 支持大于4 GB的存储介质。
  • 现代化的AmigaOS Workbench。
  • DiskDoctor用于磁盘诊断和恢复操作。
  • 对管道、软链接、硬链接和长文件名提供原生支持。
  • CrossDOS支持FAT 32和长文件名。
  • CD-ROM文件系统支持Rockridge和Joliet扩展以及UDF,现在还支持Macintosh HFS。
  • FFS(FastFileSystem)和CD-ROM文件系统现在更智能、更快速、多线程。
  • 完全重构并修复了打印机驱动程序的bug。
  • 内置GlowIcons支持作为可安装选项。
  • AmigaOS 3.2 CD-ROM上包含超过2100个GlowIcon样式的图标。

14. 灵活的交付媒介

  • AmigaOS 3.2 CD-ROM发行版包含ADF磁盘映像,可以传输到物理软盘或Gotek类型驱动器。
  • 所有模块磁盘也可作为紧急启动盘。
  • DiskDoctor磁盘可以在用户遇到磁盘故障时帮助他们快速恢复。
  • 由于“Amiga预安装环境”(AmigaPE),AmigaOS 3.2 CD-ROM的内容可以“原样”复制到Amiga格式的硬盘驱动器上进行安装。
  • 所有Amiga型号磁盘和AmigaOS Kickstart ROM集映像都可以在AmigaOS 3.2 CD-ROM上找到。
  • 所有您喜欢的AmigaOS 3.2存储介质变体的可打印标签(仅限AmigaOS 3.2 CD-ROM版本)。
  • 实验性的基于CD-ROM的Amiga CDTV和Amiga CD32支持。

15. 许多显著的补充

  • AmigaOS Workbench窗口的滚轮鼠标支持。
  • IPrefs堆叠多个更改,仅刷新屏幕一次。
  • IPrefs在刷新时指出阻塞窗口的名称。
  • 不再出现DF0:????图标,因为disk.resource现在执行正确的检查。
  • 提高了ROM模块的灵活性,允许从磁盘加载更多模块,而无需额外重启。
  • 重新实现了“HappyENV/ENV-Handler”功能。
  • 对于内置的Commodore和来自其他制造商的知名硬件控制器,不再需要MaxTransfer值。
  • “Installer”与以前的AmigaOS版本具有更好的兼容性。
  • input.device支持多个输入事件。
  • 两个新的警报报告模块问题,以便于系统诊断。
  • 为开发人员提供新的API功能。
  • 可选的通用处理器支持库,用于68K CPU板。

优点

AmigaOS有几个优点。AmigaOS的主要优点如下:

  • 效率和速度:AmigaOS以其对系统资源的合理利用而闻名,这使得它能够在极低配置的硬件上完美运行。由于其效率,它的速度非常快。
  • 低成本:Amiga计算机比竞争对手的系统便宜,并且配备了多媒体和多任务处理功能。
  • 通用性:AmigaOS具有适应性和足够性,可以作为许多应用程序的平台,包括游戏、专业图形设计和视频编辑。
  • 演示场景社区:通过推动Amiga硬件的极限,一个庞大的爱好者网络创作了各种创新且在技术上令人惊叹的多媒体演示。
  • 外围设备兼容性:Amiga平台因其与大量外围设备(包括打印机、外部存储系统和MIDI设备)的良好兼容性,成为家庭和商业用户的可行选择。
  • 易于维护:AmigaOS是模块化的,允许开发人员和客户升级或替换特定组件,这大大简化了故障排除和维修。
  • 仿真支持:AmigaOS继续支持仿真,允许用户在现代硬件上运行经典的Amiga游戏和应用程序,并延长了系统的使用寿命。

缺点

AmigaOS存在几个缺点。AmigaOS的主要缺点如下:

  • 缺乏最新软件:随着该平台吸引力下降,软件开发人员的注意力转向了更广泛使用的平台,导致最新软件的可用性和支持减少。
  • 碎片化:模型和软件版本被修改,并且Amiga平台的各种硬件和操作系统版本之间存在不兼容性。
  • 商业软件支持有限:尽管该平台提供了大量的不同软件,但它缺乏主流的商业模块。
  • 硬件老化:随着Amiga硬件逐渐过时,它变得难以匹配现代计算机系统的强大功能和硬件能力。

AmigaOS的应用

AmigaOS有几个应用。AmigaOS的主要应用如下:

  • Amiga计算机在视频制作和音频创作方面以其效率而闻名。诸如虚拟音频录制、声音合成和实时MIDI排序之类的应用程序可以受益于该平台的响应速度和低延迟。
  • 视频编辑和播放:通过利用Amiga出色的图形和声音能力,可以实现平滑同步的视频和音频处理,用于实时视频编辑和播放应用程序。
  • 游戏:Amiga平台上的大量流行游戏需要实时快速响应。Amiga的多任务和多媒体能力可用于动作游戏、模拟游戏和街机游戏。
  • 机器人和控制系统:程序员可以使用Amiga的硬件和软件来构建嵌入式系统、机器人和自动化系统的实时控制应用程序。
  • 数据采集和仪器仪表:Amiga由于支持定制硬件和低级编程,适用于需要实时数据采集和仪器控制的程序,包括工业自动化和医学研究。
  • 网络和通信:AmigaOS可用于创建实时数据传输,如电信通信和网络监控。对于这些类型的应用程序,平台允许低级硬件接口,并且多任务功能变得很有用。
  • 医疗保健:Amiga计算机用于医疗环境,其中需要数据处理和实时健康状况监测。在这种情况下,该平台处理动态输入数据的能力变得很有用。
  • AmigaOS可用于创建实时建模和仿真应用程序,包括飞行模拟器、天气模型和系统控制系统。

虽然AmigaOS也可用于运行实时应用程序,但重要的是要记住,实时系统通常需要特定的时序、确定性和专业硬件支持。开发人员需要仔细规划和测试他们的应用程序,以确保它们满足指定的实时要求。此外,现代实时操作系统越来越多地用于时间敏感和安全敏感的应用程序,但AmigaOS是一个历史悠久的平台,拥有满意的用户群。

常见问题解答:-

与传统的单体内核相比,AmigaOS的类微内核架构在系统灵活性和性能方面有何不同?

AmigaOS采用了接近微内核的架构,其中文件系统、设备驱动程序甚至GUI组件等大部分功能都在用户空间作为独立的任务运行。这种模块化提供了极大的灵活性,并且可以轻松地在不重启的情况下替换组件。然而,与纯粹的微内核不同,它仍然将一些关键服务保留在内核中,这带来了比完全基于微内核的系统更好的性能,但隔离性较差。

与类UNIX系统相比,AmigaOS在实现抢占式多任务方面有何不同?其消息传递模型有何影响?

AmigaOS是早期支持抢占式多任务处理的消费类操作系统之一,它使用了称为任务的轻量级进程。其进程间通信基于通过端口的消息传递,而不是共享内存或管道。这种设计减少了竞态条件,简化了通信,但可能会由于上下文切换和消息队列处理的开销而引入延迟,尤其是在旧的资源有限的硬件上。