【发布时间】:2021-12-22 18:26:55
【问题描述】:
很长一段时间以来,我一直有一个想法让程序生成的虚拟驱动器在我的脑海中弹跳。它真的没有任何用处,真的只是为了表情包,但我终于安定下来并决定制作它。
这个想法是制作一个假驱动器,当程序请求一个扇区时,一些代码会即时生成该扇区(而不是像普通驱动器那样从存储介质中读取它)。当然,写入磁盘是不可能的,但没关系 - 我只是为了好玩。
问题是:我如何才能真正让它看起来像一个驱动器?
我应该认为那里有一个图书馆某处可以让您直接使用,但我还没有找到它。我也不知道应该搜索什么关键字。
我在 Arduino 和硬件方面拥有丰富的经验 - 将 SPI 引脚简单地连接到 SD 卡插槽并让 Arduino 生成“扇区”会更容易吗?
我正在考虑使用它来处理文件系统和大得可笑的文件 - 毕竟,驱动器的大小没有限制(因为它不需要任何实际内存),除了 32 位或 64 位限制,这可能很有趣 - 如果只是假装你有一个 zettabyte 的磁盘空间。尽管它是只读的,但我很好奇记事本如何处理 PB 的 txt 文件。
如果有人对如何做到这一点有任何想法,或者知道一些更好的关键字可以用来搜索,请告诉我!
(我相当精通 Python、Arduino,如果我坐下来喝杯咖啡,我可以做一点 C)
【问题讨论】:
-
虚拟 驱动器(在扇区级别可寻址的东西)要么不常见,要么直接,因为在类似 Unix 的操作系统中,
seek函数允许创建 @ 987654321@。您可以假装拥有一个大小仅受 64 位地址限制的文件,前提是它主要包含空字节的空段。如果您想要一个虚拟文件系统(可以在那里创建文件),那么您可以在 Linux 上实现内存文件系统,或者如果使用 Python,则可以使用出色的 pyfakefs 模块。