Oberon/ETH Oberon/分区
此文档最初托管在ETHZ。它仍然根据ETH 许可证,并且在WayBack 存档中。
ETH Oberon 最好托管在专用的分区中,但是如果有人觉得对硬盘进行分区太冒险,在托管其他操作系统的正常工作系统上,另一种选择是将 Oberon 放置在另一个文件系统(如 FatFS)中的一个大文件中,或者如果安装了 Linux,则放置在 LinuxFS 中。无论哪种情况,所选的实现方式都会极大地影响 ETH Oberon 的启动方式。在在基于 x86 的 PC 上引导操作系统,并将其应用于 ETH Oberon以及与之相关的其他文档中记录了启动 ETH Oberon 的多种方式。许多下面讨论的主题在许多其他操作系统的环境中是已知的,并且得到了广泛的处理。这里只以简洁的形式提醒了基本部分。硬件先决条件非常低,并且很容易满足,并且 Oberon 的占用空间非常小,因此几乎任何机器都可以托管它。Oberon 非常适合嵌入式系统,例如在工业过程控制中遇到的系统。
从 ETH Oberon CD-ROM 运行 Oberon 不需要分区或安装。由 vis 编辑的 CD - 版本 2001 年 11 月 11 日 - 是可引导的,前提是您的机器系统设置中的引导顺序选项中包含从 CD-ROM 引导。Oberon 立即可以使用其 TUI。RAM 磁盘可用于临时保存数据(大约分配了 50% 的可用 RAM)。屏幕当前仅在 VGA 模式下运行这一事实是一个更大的障碍。即便如此,这个系统似乎只是能力有限,因为
- 建立通信,只需将 Oberon.Text 复制到 RAM:并编辑 NetSystem 部分。
- 要保存文件,只需挂载软盘,或者如果有空闲的分区空间,创建 AosFS 分区以供使用(不要忘记,ZIP 磁盘也可以使用)。
- 要保存文件,只需挂载现有的 FAT 分区以访问它并交换文件,例如使用 System.CopyFiles 命令。
不需要分区
- 为 Dummies 设计的 Oberon 安装在 FAT 分区中的一个大文件中。它是《为 Dummies 设计的编程入门》一书中包含的 CD-ROM 上找到的软件的更新版本。包括一个易于使用的安装程序 OberonInstaller.exe,它在 Windows 上运行。该程序安装大文件并将 Oberon 引导文件写入 1.44MB 软盘,然后可以从该软盘启动 Oberon。此 Oberon 可以与基于分区的 Oberon 安装同时存在,就像与其他操作系统同时存在一样。
- 基于 Linux 的原生 Oberon 安装在 Linux 文件系统中的一个大文件中。
在分区中安装 Oberon 需要
- 对磁盘进行分区。
- 下载发行版软件并安装 ETH Oberon。安装过程在其他地方有详细描述。在安装过程中,分区将被格式化,从而创建一个空的Aos 文件系统 (AosFS)。格式化可能会由于存在坏块而失败。原因和解决方法将在后面的部分中进行处理。
文件系统前缀 用于代替传统的驱动器盘符 "C"、"D" 等。已知,对于其他操作系统,盘符分配在不同的操作系统之间会有所不同,并且遵循搜索主分区、次分区、可见分区/隐藏分区的相当复杂的规则模式。Oberon 可以看到所有分区(参见 Partitions.Show),并且必须挂载分区才能访问它们。
从可下载材料构建的完整安装系统适合在 60MB 分区中,留下了大约 50% 的可用空间。建议将原始文件与用户文件分开,用户文件最好存储在专门创建的另一个分区中。如何做到这一点以及如何访问该分区将在一台机器上的多个 Oberon 分区中进行解释。
ETH Oberon 在三个级别上提供文件垃圾回收 (GC),将已删除文件的块返回到空闲块池
- 在 Oberon 会话期间的动态 GC。
- 系统启动期间的条件 GC。配置字符串 "DiskGC" 确定垃圾回收必须发生的空闲空间量,以分区大小的百分比表示。可以分配值 10 .. 100。默认值为 10。
- 系统启动期间的自动 GC,当可用空间少于 1MB 时,或者如果系统未正常关闭,例如当机器突然断电时。
Bluebottle 具有类似的文件垃圾回收,但未实现动态 GC。
文件 GC(如果发生)有一个副作用,即系统启动时间明显长于平时。如果空闲磁盘空间长期不足,GC 可能会在每次启动时发生,具体取决于分配给 "DiskGC" 的值。当没有空闲空间时,"卷满" 情况会导致系统彻底停止 - 参见ETH Oberon 系统稳定性。要恢复,请重新启动系统,删除不必要的文件,并通过执行System.Watch观察可用空间量。如果它发生在系统更新期间,请分段进行安装,一次下载一个 zip 存档,提取文件,然后立即删除存档。
当前,负责格式化文件系统(如 AosFS)的过程不处理坏块。唯一的解决方法是定义一个包含明显块的小分区。此分区将不会被使用。
建议志愿者完成的家庭作业:需要做的是确保文件系统忽略坏块
- 在 Partitions.Format 中检测坏块
- 创建一个包含所有这些坏块的文件。这部分是特定于文件系统的。
如果有人想尝试这个,建议从 Partitions.Mod 中获取相关的 Format 代码,并在新的模块中重写它。
在实践中,启动 Oberon 的方式是在安装时决定的,更确切地说,是在安装过程的最后一步中使用 Oberon-0 系统决定的。请注意,由于这些选项不是互斥的,因此可以选择多个选项。在安装时未考虑的选项,可能在以后仍然可以实现,而无需重复安装或部分安装。在大多数情况下,不涉及 Oberon 的系统管理任务是完成使系统启动的行动链条所必需的。
如果您的机器设置为直接启动到 Oberon(分区标记为 "active"),请执行以下操作以启动另一个操作系统
- 从软盘启动它
- 激活另一个操作系统的分区,以预期通过发出以下两个命令终止 Oberon 会话
- Partitions.Deactivate [dev#part | ^](* 选择 Oberon 分区 *)
- Partitions.Activate [dev#part | ^](* 选择下一个 OS 分区 *)
- 使用其他程序(如 fdisk(DOS、Windows、Linux)、PQBoot(PartitionMagic 的一个组件)或其他商业程序)激活另一个操作系统的分区。
如果您的引导加载程序不支持 "链接" 以从第二个驱动器引导分区,您可以尝试 "修补" Oberon 分区的引导扇区。引导扇区中偏移量 24H 的字节应设置为 81H 而不是 80H,以从第二个硬盘启动。为了确保您正在修改正确的扇区,请检查字符串 "OBERON" 是否出现在扇区中的偏移量 3 处。此修补程序可以应用
- 使用 Oberon 本身,使用 Partitions 工具
- 使用 Partitions.ShowBlocks dev#part 0 1~ 检查引导扇区
- 存储引导记录 Partitions.PartitionToFile dev#part filename 0 1 ~
- 编辑偏移量 24H 处的字节
- 将修改后的 MBR 放入适当位置,使用 Partitions.WriteMBR dev#0 filename ~
- 或使用扇区编辑器(如 Norton Disk Editor)。
2003 年 3 月 20 日 - 版权所有 © 2003 年苏黎世联邦理工学院。保留所有权利。
电子邮件:oberon at lists.inf.ethz.ch
主页:http://www.ethoberon.ethz.ch/