我正在尝试编写 RAMDisk,但我不知道如何在 RAM 中安装驱动器。我打算用 Java 写这个。但是谁能指出我用字母和名称在 RAM 中制作磁盘的方法。
谢谢!
编辑:为了澄清,我想用虚拟文件制作一个文件,比如存储在 RAM 中。DataRam 的Ramdisk是我想做的一个很好的例子。它创建一个文件并安装一个驱动器。驱动器在 RAM 中,它写入文件。我怎样才能做到这一点?(我想用扩展的想法为我自己的项目创建一个 RAMDisk)
RAMDisk(以及任何其他虚拟设备)需要使用设备驱动程序。幸运的是,设备驱动程序不是用 Java 或 C# 编写的(尤其是 Xamarin,它适用于根本不允许虚拟磁盘的移动操作系统)。虽然您可以将 Java 用于业务逻辑,但您的项目的某些部分需要用非托管语言编写,并且项目本身应该包含一个设备驱动程序。不用说,每个操作系统的设备驱动程序都不同。
现在,虚拟磁盘可以有多种类型——一种是您将映像格式化为特定文件系统并处理块级请求,另一种是您处理文件系统请求并自行实现文件系统。
我们有适用于这两种情况的产品(分别为 CallbackDisk 和 Callback File System)。它们都有用于创建虚拟磁盘的示例,但只有 Callback File System 包含要使用的 Java API。这两种产品都适用于 Windows。
在 Linux 上存在 FUSE 来实现各种文件系统,在 OSX 上存在 OSXFUSE,FUSE 的一个端口。