编写像PartitionManager这样的低级程序

时间:2012-02-01 20:41:25

标签: delphi freepascal bootloader

我想学习如何编写可以在不启动操作系统的情况下运行的程序,如Norton Ghost或Paragon程序。我希望能够从CD或USB记忆棒运行程序。

你能给我一些指示吗?

2 个答案:

答案 0 :(得分:3)

基本上 - 除非你使用现有的 - 你必须编写自己的操作系统 - 它可能很小,但它是一个操作系统。

编写它与编写应用程序有点不同,因为您必须直接(或通过BIOS)与硬件连接。它需要熟悉低级编程,硬件设备规范和处理器架构,特别是如果你需要内存并且必须将x86处理器切换到保护模式(尽管可以使用“虚幻模式”),它使用相当复杂的机制。某些部分可能需要用汇编语言编写,以访问在受保护模式下以最高权限级别(“ring 0”)运行的“内核”使用的特殊“特权”指令,并处理中断。

你可以从http://wiki.osdev.org/Main_Page开始。

答案 1 :(得分:2)

Delphine尝试使用freepascal编写原始操作系统。它不再是一个活跃的项目,但代码可以让你尝试。

ClassiOS是用Delphi编写的操作系统。

更专业的解决方案是选择兼容win32的操作系统,如On Time RTOS-32,购买许可证并在Delphi中制作可启动的操作系统/ CD程序。 请注意这是一个昂贵的解决方案,但在许多实时关键系统中使用。我们实现了一个或多或少的DOS克隆,用于从USB记忆棒启动任何X86系统。