了解程序如何使用可用内存。堆和堆栈从地址空间的两端开始,然后向对方增长。
磁盘分区有没有类似的解决方案?
就像在磁盘上定义两个分区一样,第一个分区按通常方式定义,但第二个分区的开头定义为磁盘的末尾,其末尾定义为第一个分区的末尾。
这将允许我将第一个分区定义为小分区,并允许将其大小重新分配到第二个分区,因为第二个分区会更大并且它的末尾通常不包含任何数据。
答案1
不,不完全像你想象的那样。
Windows 10 将在前面创建许多较小的分区。特别是如果您使用 UEFI。
但是,您可以创建一个小于整个驱动器的 C:。留出尽可能多的可用空间。此外,您还可以从 Windows 10 中的磁盘管理中扩展(在某些情况下甚至缩小驱动器)c: 驱动器。这些选项确实有一些限制。
您也可以在驱动器末尾创建一个分区,但它不会像您想象的那样工作。
结束将位于末尾,而起始扇区将位于较小的位置。此外,要扩展驱动器,您必须将所有内容移回所需的 GB 数量,然后将分区扩展到创建的可用空间。
有一些离线分区软件可以让您随意移动和调整分区大小。
然而现有的解决方案都不允许分区反向运行。
这意味着您必须自己编写代码,并对其进行严格的测试,以确保它不会导致数据丢失/损坏。在开发阶段,您可以暂时使用未使用的分区类型,但这需要多年的工作。您必须说服现有的利益相关者允许驱动程序将您的驱动程序与他们的操作系统捆绑在一起。