草庐IT

c# - 找出程序/文件安装在硬盘上的哪个位置

假设我有一个文件:test.txt并将其保存在我的硬盘上。有没有办法确定文件保存在硬盘上的(物理)位置?例如在硬盘第10磁道上的向量12上。我不知道我是否理解了上面的术语,但我希望你明白我的意思。我想编写一个程序,让用户可以指向一个文件,程序将找出该文件在硬盘上的位置。类似于旧的碎片整理(它是Windows;)),它显示磁盘的哪些部分正在使用中。这叫什么,能实现吗?(我不是在寻找代码(尽管exmaples是可以的),而是是否可能)附言客户端将是Windows7(如果重要,请考虑NTFS)。 最佳答案 我很确定在托管代码中执行这种低级

linux - fsync(fd) 是否适用于外部程序创建的文件?

我有一个禁用了写入缓存的SATA硬盘:hdparm-W0/dev/foo我在一个ext4分区上使用这些挂载选项(以及其他):data=orderedauto_da_allocLinux内核版本为2.6.32-5-686。现在,我有一个我无法修改的外部程序,但我知道它会按以下方式创建一个文件:intfd=open(path);write(fd,data,data_size);close(fd);即它在关闭前不同步。所以在这一点上,数据可能在RAM中,在内核/fs缓存中的某个地方。注意:元数据还不是问题:最终的元数据将在我确定数据已到达磁盘盘片后写入并同步。数据本身就是问题。那么问题来了,

linux - fsync(fd) 是否适用于外部程序创建的文件?

我有一个禁用了写入缓存的SATA硬盘:hdparm-W0/dev/foo我在一个ext4分区上使用这些挂载选项(以及其他):data=orderedauto_da_allocLinux内核版本为2.6.32-5-686。现在,我有一个我无法修改的外部程序,但我知道它会按以下方式创建一个文件:intfd=open(path);write(fd,data,data_size);close(fd);即它在关闭前不同步。所以在这一点上,数据可能在RAM中,在内核/fs缓存中的某个地方。注意:元数据还不是问题:最终的元数据将在我确定数据已到达磁盘盘片后写入并同步。数据本身就是问题。那么问题来了,

机械硬盘买64M缓存!别买256M?

虽然SSD的价格已经降了不少,但大容量存储还得靠机械硬盘撑腰,毕竟500元买4T对谁来说都有不小的诱惑……什么?你说4T硬盘只要450就能到手了?那我可得问问你,你说的这4T硬盘,它的缓存大么?有256M啊?那你可别买。为什么256M缓存的机械硬盘别买,而要买64M缓存的硬盘呢?难道硬盘的缓存不是越大越好么?下面我们就来聊聊硬盘的缓存。熟悉机械硬盘工作原理的玩家都知道,硬盘中的缓存主要起到快速读取的作用,因为盘片的读写速度更慢一些,加上磁头寻道的时间,使得硬盘的读写都较为缓慢,而加入了缓存这一机制之后,借助DRAM缓存的高速特性,可以实现更快的读写。具体来说,硬盘在写入数据时,数据先进入速度快

机械硬盘买64M缓存!别买256M?

虽然SSD的价格已经降了不少,但大容量存储还得靠机械硬盘撑腰,毕竟500元买4T对谁来说都有不小的诱惑……什么?你说4T硬盘只要450就能到手了?那我可得问问你,你说的这4T硬盘,它的缓存大么?有256M啊?那你可别买。为什么256M缓存的机械硬盘别买,而要买64M缓存的硬盘呢?难道硬盘的缓存不是越大越好么?下面我们就来聊聊硬盘的缓存。熟悉机械硬盘工作原理的玩家都知道,硬盘中的缓存主要起到快速读取的作用,因为盘片的读写速度更慢一些,加上磁头寻道的时间,使得硬盘的读写都较为缓慢,而加入了缓存这一机制之后,借助DRAM缓存的高速特性,可以实现更快的读写。具体来说,硬盘在写入数据时,数据先进入速度快