假设我正在编写一个 Ruby on Rails 程序,并且在编辑文件时,机器蓝屏。在这种情况下,如果我不希望以后的文件损坏,有必要重新扫描整个硬盘驱动器吗?
假设操作系统在我的计算机崩溃时正在删除一个 tmp 文件,并且仍然有一些指向硬盘驱动器上某个扇区的指针。如果我新创建的文件恰好在那些扇区中,并且下次操作系统再次清理文件时,它可能会认为上次没有清理“剩余”扇区并再次清理它,并损坏我们的源代码. (尤其是 Ruby on Rails,源代码可以由 rails 而不是我们生成,如果文件受到影响,我们可能不知道为什么我们的 rails 服务器无法工作)。我们可以依赖 SVN,但是如果文件在我们签入之前受到影响怎么办?
我认为官方的回答将是:“在崩溃或断电后始终扫描磁盘,以获取数据甚至空间并指示尝试修复任何坏扇区”,但问题是,如今硬盘驱动器如此之大,扫描所有内容可能需要 2 小时。尤其是在工作中,如果是中午,我们不能等待 2 个小时。
有人知道现代操作系统,如 XP、Vista、Mac OS 和 Linux(有时电源线松了,它没有正确关闭,只是在 0% 电池电量下关闭),这些现代操作系统是我们的源代码安全吗?他们是否知道如何构造写入扇区,以便最多会浪费扇区而不是重叠扇区?