标签: disk

鉴于磁盘速度很慢,多个核心在运行中解压缩对性能有意义吗?

过去,磁盘压缩是以牺牲效率为代价来增加存储空间的,但当时我们都在单处理器系统上.

目前,还有额外的核心可能与处理数据并行地进行解压缩工作.

对于I/O绑定应用程序(特别是读取大量顺序数据处理),可以通过仅将读取和写入压缩数据写入磁盘来提高吞吐量.

有没有人有任何支持或拒绝这个猜想的经验?

architecture compression performance multicore disk

2
推荐指数
1
解决办法
166
查看次数

如何知道磁盘是基本的还是动态的?

在Windows中,我们可以从ac/c ++程序中了解我们正在处理哪种磁盘?忘记gpt或mbr,如何知道它是基本的还是动态的?程序输入可以是驱动器号或与磁盘相关的任何信息,输出应该是动态的或基本的.不需要直接的做法,即使它是漫长的过程,也没关系.我在msdn中找不到多少.请帮帮我.

c c++ windows disk

2
推荐指数
1
解决办法
3377
查看次数

从Python查找系统硬盘驱动器?

我正在为我当前的应用程序开发软件安装程序.它需要安装到系统硬盘.我如何检测系统驱动器并从Python返回信件?

win32扩展是否有用?用Python预打包的os模块怎么样?

python winapi system disk

2
推荐指数
1
解决办法
5921
查看次数

是否可以从 PHP 获取特殊的本地磁盘信息?

我在本地计算机上运行我的PHP代码,所以,我只想知道PHP有什么函数来获取本地硬盘信息。例如磁盘名称,磁盘空间,可用空间等。

非常感谢!!

php disk local hard-drive

2
推荐指数
1
解决办法
3584
查看次数

需要磁盘访问程序的建议

我正在设想一个我需要编写的程序,并且需要一些关于语言的建议。我将需要进行原始磁盘访问,以便我可以显示十六进制数据,在磁盘上滚动或跳转,并根据数据进行计算。我一直在使用 Java,它在我的其他项目的操作系统之间的可移植性当然是一个好处,但是原始磁盘访问要么是不可能的,要么需要 JNI,或者当您可以将磁盘作为“文件”访问时,可能在 *nix 上是可能的”。我一直在读不同的东西。顺便说一下,我可以使用 Java 中的文件处理此类工作,但在此项目中,我需要能够访问磁盘,因此不需要事先对文件进行磁盘映像。

让它尽可能便携会很好,因为使用不同的操作系统有真正的好处,但它可能不值得,我应该坚持使用 Windows 和本地编译语言。是否有任何现有的 JNI 代码可以提供帮助?我有其他语言的经验,但我很长时间没有使用 C++。我应该忘记 Java 并尝试 C# 吗?有人告诉我,尽管 Python 是一种解释型语言,但它有可用于此类事物的库,那么 Python 呢?什么最适合该项目?学什么对我有好处?

四处搜索原始磁盘访问、Java、Python 似乎没有给出任何有用的结果。谢谢你的帮助!

编辑 看起来这会很复杂,学习我需要知道的东西,然后学习。太糟糕了,我不能使用磁盘映像来代替,因为这样我就可以立即用 Java 开始处理它,我对此很满意,而且我知道我可以制作出好的产品。我在其他使用 Java 的原始数据处理项目中获得了很大的吞吐量,所以我不用担心。此外,它将真正便携。嗯,可能要多考虑了。不过,我可能需要一个大的 azz 存储系统来保存所有图像:)

更新 只是对发现这个问题的任何人的说明......我发现这只是通过使用 PhysicalDrive 表示法(在 Windows 中)指定文件的磁盘来工作,就像下面由 hunsricker 提供的答案。不过也有一些问题。首先,如果您执行“存在”检查 File.exists(),它表示该文件不存在。此外,文件大小为零,当我收到“java.io.IOException:驱动器找不到请求的扇区”时,我知道我在文件末尾。最糟糕的是 - 当我在循环中读取一些字节并跳过一些(64)字节时,我遇到了一些奇怪的运行时错误。我稍微修改了我的程序以读取不同的数量,这改变了发生错误的位置。顺便说一下,我使用的是 BufferedInputStream 而不是 RandomAccessFile 就像下面的 hunsricker,不知道它是否有所作为。我对这个问题的唯一答案是,由于我正在进行物理磁盘访问,因此我不喜欢甚至没有读取 512 字节扇区或 1K 块等。事实上,当我读取 1K、2K、512 字节等,并且不跳过任何内容时,它工作正常并运行到最后。我看到的错误是 java.io.ioexception“函数不正确”和 java.io.ioexception“参数不正确”。他们没有韵律或理由。然后我制作了相同数据的图像文件并在这些文件上运行我的程序,它可以毫无问题地执行读取和跳过字节的任何组合。我猜物理磁盘访问更挑剔。事实上,当我读取 1K、2K、512 字节等,并且不跳过任何内容时,它工作正常并运行到最后。我看到的错误是 java.io.ioexception“函数不正确”和 java.io.ioexception“参数不正确”。他们没有韵律或理由。然后我制作了相同数据的图像文件并在这些文件上运行我的程序,它可以毫无问题地执行读取和跳过字节的任何组合。我猜物理磁盘访问更挑剔。事实上,当我读取 1K、2K、512 字节等,并且不跳过任何内容时,它工作正常并运行到最后。我看到的错误是 java.io.ioexception“函数不正确”和 java.io.ioexception“参数不正确”。他们没有韵律或理由。然后我制作了相同数据的图像文件并在这些文件上运行我的程序,它可以毫无问题地执行读取和跳过字节的任何组合。我猜物理磁盘访问更挑剔。然后我制作了相同数据的图像文件并在这些文件上运行我的程序,它可以毫无问题地执行读取和跳过字节的任何组合。我猜物理磁盘访问更挑剔。然后我制作了相同数据的图像文件并在这些文件上运行我的程序,它可以毫无问题地执行读取和跳过字节的任何组合。我猜物理磁盘访问更挑剔。

programming-languages disk

2
推荐指数
1
解决办法
1555
查看次数

将百万次写入文件,破坏我的硬盘?

我有一个IO密集型仿真程序,它在每次迭代时将仿真跟踪/数据记录到一个文件中.由于模拟运行超过数百万次迭代并将数据记录到磁盘中的文件(每次覆盖文件),我很想知道这是否会破坏硬盘,因为大多数存储磁盘都有上限写入/擦除周期(例如,闪存盘允许多达100,000次写入/擦除周期).将文件拆分为多个文件会是更好的选择吗?

c io storage file disk

2
推荐指数
1
解决办法
2501
查看次数

来自GetVolumeInformation()的不同磁盘序列号

DWORD disk_serialINT[MAX_PATH + 1];
GetVolumeInformationA(NULL, NULL, NULL, disk_serialINT, NULL, NULL, NULL, NULL);
char* disk_serialANSI;
sprintf(disk_serialANSI, "%d", disk_serialINT);
std::string HDDserial = disk_serialANSI;
Run Code Online (Sandbox Code Playgroud)

这是我得到hdd序列号的代码片段,但问题是每次程序执行时值都不同.有人可以解释一下吗?

解决了:

DWORD disk_serialINT;
GetVolumeInformationA(NULL, NULL, NULL, &disk_serialINT, NULL, NULL, NULL, NULL);
std::string HDDserial = std::to_string(disk_serialINT);
Run Code Online (Sandbox Code Playgroud)

谢谢.

c++ winapi disk hardware-id

2
推荐指数
1
解决办法
6351
查看次数

Powershell 获取所有光驱盘符

我正在尝试使用 Powershell 获取 Windows 系统的所有驱动器号,但我无法弄清楚。有任何想法吗?

我曾尝试使用Get-Volume,但它没有用于-ByDriveType-ByType-Type或任何东西的参数。

windows powershell operating-system disk

2
推荐指数
1
解决办法
4420
查看次数

重新启动后丢失 aws ec2 磁盘数据

我有带有 xvdb 磁盘的 AWS EC2 实例。在重新启动我的实例后,我挂载了我的磁盘,但它似乎是空的。我想我丢失了所有数据。

有人知道如何恢复我的数据吗?

非常感谢

mount disk amazon-ec2

2
推荐指数
1
解决办法
4238
查看次数

MBR组织

MBR 分区表中偏移量为 8 字节的字段旨在存储分区开头的 LBA 地址。当没有足够的 CHS 坐标时,引入 LBA 寻址以寻址较大的磁盘。但是在引入 MBR 支持时,这种磁盘还不存在。因此问题是:偏移量为 8 和 12 字节的字段最初包含什么?它们是为进一步的结构开发保留的还是有其他目的?

我也对 LBA-48 的实施感兴趣。MBR中分配了32位用于存储LBA地址,那么32位如何存储48位地址?

filesystems mbr disk

2
推荐指数
1
解决办法
557
查看次数