เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบšเปเปˆเบ„เบงเบ™เบฎเป‰เบญเบ‡เปƒเบชเปˆ HDD เบ‚เบญเบ‡เบ—เปˆเบฒเบ™

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบšเปเปˆเบ„เบงเบ™เบฎเป‰เบญเบ‡เปƒเบชเปˆ HDD เบ‚เบญเบ‡เบ—เปˆเบฒเบ™

เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ„เบญเบกเบžเบดเบงเป€เบ•เบต Ekoparty 2017 เปƒเบ™ Buenos Aires, เปเบฎเบเป€เบเบต Argentine Alfredo Ortega เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ - เบฅเบฐเบšเบปเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบดเบ”เบฅเบฑเบš wiretapping เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปƒเบŠเป‰เป„เบกเป‚เบ„เป‚เบŸเบ™. เบชเบฝเบ‡ เบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเบเบปเบ‡เปƒเบชเปˆเบฎเบฒเบ”เบ”เบดเบ”!

HDD เบชเปˆเบงเบ™เปƒเบซเบเปˆเบˆเบฐเป€เบญเบปเบฒเบชเบฝเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ–เบตเปˆเบ•เปเปˆเบฒเบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบชเบนเบ‡, เบชเบฝเบ‡เบเปˆเบฒเบ‡ เปเบฅเบฐเปเบฎเบ‡เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบญเบทเปˆเบ™เป†. เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ‚เบญเบ‡เบกเบฐเบ™เบธเบ”เบเบฑเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบฎเบนเป‰เป„เบ”เป‰, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ” เบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เป‰เบงเบฒเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ™เบตเป‰ (เบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เบชเบฝเบ‡เป€เบงเบปเป‰เบฒเป‚เบ”เบเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ„เบงเบฒเบกเบ–เบตเปˆเบ•เปˆเปเบฒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบˆเบฒเบ gyroscope เบซเบผเบท HDD).

เบชเบฝเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบญเบฒเบเบฒเบ”เบซเบผเบทเบชเบทเปˆเบเบฒเบ‡เบญเบทเปˆเบ™. เบšเบธเบเบ„เบปเบ™เบฎเบฑเบšเบฎเบนเป‰เบžเบงเบเบกเบฑเบ™เบœเปˆเบฒเบ™เบซเบนเบŸเบฑเบ‡, เป€เบŠเบดเปˆเบ‡เบชเบปเปˆเบ‡เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เป„เบ›เบชเบนเปˆเบซเบนเบžเบฒเบเปƒเบ™. เป„เบกเป‚เบ„เบฃเป‚เบŸเบ™เป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบ›เบฐเบกเบฒเบ™เบ„เป‰เบฒเบเบ„เบทเบซเบน - เบ—เบตเปˆเบ™เบตเป‰, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เป‚เบ”เบเป€เบเบทเปˆเบญเบšเบฒเบ‡เป†, เป€เบŠเบดเปˆเบ‡เบเบฐเบ•เบธเป‰เบ™เบเบฒเบ™เบเบฐเบ•เบธเป‰เบ™เป„เบŸเบŸเป‰เบฒ. เบฎเบฒเบ”เบ”เบดเบ”, เปเบ™เปˆเบ™เบญเบ™, เบเบฑเบ‡เบ–เบทเบเบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบเป‰เบญเบ‡เบˆเบธเบฅเบฐเบ—เบฑเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบซเบ™เบฑเบ‡เบ•เบตเบ‡เบ‚เบญเบ‡เบญเบฒเบเบฒเบ”เบญเป‰เบญเบกเบ‚เป‰เบฒเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฒเบเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบฒเบ‡เบงเบดเบŠเบฒเบเบฒเบ™เบ‚เบญเบ‡ HDDs: เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบกเบฑเบเบˆเบฐเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”, เปเบฅเบฐเบฎเบฒเบ”เบ”เบดเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบกเบฑเบเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบงเบฒเบ‡เบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบ–เบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบ”เป‰เบงเบเบขเบฒเบ‡เบซเบผเบทเบญเบธเบ›เบฐเบเบญเบ™ insulating เบญเบทเปˆเบ™เป†. เบˆเบฒเบเบ™เบตเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบผเบธเบšเบงเปˆเบฒเบชเบฝเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰ HDD. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ„เบดเบ”เบญเบญเบเบงเบดเบ—เบตเบเบฒเบ™.

Alfredo Ortega เบชเบฐเป€เบซเบ™เบตเบชเบฐเบšเบฑเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบฒเบ‡เบ‚เป‰เบฒเบ‡, เบ„เบทเบเบฒเบ™เป‚เบˆเบกเบ•เบตเป€เบงเบฅเบฒ. เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ™เบตเป‰เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™เบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบขเบนเปˆเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ‚เบถเป‰เบ™เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, "เบ‚เปเป‰เบกเบนเบ™เบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒ" เปเบกเปˆเบ™เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบซเบปเบงเบญเปˆเบฒเบ™เปเบฅเบฐเปเบœเปˆเบ™ HDD, เป€เบŠเบดเปˆเบ‡เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบกเบตเบชเบฝเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป‚เบ”เบเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเป€เบงเบฅเบฒเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ•เบดเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบซเบปเบง / เปเบœเปˆเบ™เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบเบฒเบ‡เบชเบฒเบกเบฒเบ”เบงเบฑเบ”เปเบ—เบเป„เบ”เป‰. เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเปƒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบปเบ™เบ‚เบถเป‰เบ™, เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™ HDD เปเบฎเบ‡เบ‚เบถเป‰เบ™ เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบฝเบ‡เบ”เบฑเบ‡เบ‚เบถเป‰เบ™.

เบงเบดเบ—เบตเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบฎเบฒเบ”เบ”เบดเบ”? เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ: เบžเบฝเบ‡เปเบ•เปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš read () โ€” เปเบฅเบฐโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบกเบฑเบ™โ€‹เปƒเบŠเป‰โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เป€เบžเบทเปˆเบญโ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹. เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบ”เป‰เบงเบเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡ nanosecond.

เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ‚เบญเบ‡เบซเบปเบงเปเบฅเบฐเปเบœเปˆเบ™, เป€เบŠเบดเปˆเบ‡เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เบ‚เบญเบ‡เบเปเบฅเบฐเบ™เบต HDD. เบซเบกเบปเบ”โ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ™เบตเป‰.

เบเบฒเบ™โ€‹เบงเบดโ€‹เป€เบ„เบฒเบฐโ€‹เบ—เบฒเบ‡โ€‹เบชเบฐโ€‹เบ–เบดโ€‹เบ•เบดโ€‹เปเบกเปˆเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ” Kscope เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹. เบเป‰เบญเบ™เบงเปˆเบฒเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡ ingenious เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบšเปเปˆเบ„เบงเบ™เบฎเป‰เบญเบ‡เปƒเบชเปˆ HDD เบ‚เบญเบ‡เบ—เปˆเบฒเบ™
Kscope utility (stat() syscall)

Kscope เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ™เป‰เบญเบเป†เปƒเบ™เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ—เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เบ—เบตเปˆเบกเบฒเบˆเบฑเบ”เบžเบตเบกเบกเบฒเบขเบนเปˆเปƒเบ™ GitHub.

เปƒเบ™ repository เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ เป€เบงเบฅเบฒ HDD เบกเบตเบฎเบธเปˆเบ™เบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเป€เบงเบฅเบฒเปƒเบ™เบฎเบฒเบ”เป„เบ”, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš. read ().

เบเบฒเบ™โ€‹เบชเบฒโ€‹เบ—เบดเบ”โ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบชเบฝเบ‡โ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ HDDโ€‹, เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡ Kscope utilityโ€‹


เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เบ›เบฒเบเป€เบงเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰, เปเบ•เปˆ HDD เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเป€เบ›เบฑเบ™เป€เบŠเบฑเบ™เป€เบŠเบตเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ–เป‰เบฒเบœเบนเป‰เบ—เบตเปˆเปƒเบชเปˆเป€เบเบตเบšเปเบ‚เบ‡เบซเบผเบทเบ•เบตเบ™เป€เบ›เบปเปˆเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเป‰เบญเบ‡เบ—เบตเปˆเบกเบตเบ„เบญเบกเบžเบดเบงเป€เบ•เบต (เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™, เบ–เป‰เบฒเบœเบนเป‰เป‚เบˆเบกเบ•เบตเปƒเบชเปˆเป€เบเบตเบšเป€เบเบตเบšเบญเปˆเบญเบ™เป†เบซเบผเบทเบกเบตเบœเป‰เบฒเบžเบปเบกเบซเบ™เบฒเบขเบนเปˆเป€เบ—เบดเบ‡เบžเบทเป‰เบ™, HDD เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™เป„เบ”เป‰ - เบ™เบตเป‰เปเบกเปˆเบ™เบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เบเบงเบ”เบชเบญเบš). เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบชเบฒเบกเบฒเบ”เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปเบเป‰เบงเบ—เบตเปˆเปเบ•เบเบซเบฑเบเบซเบผเบทเป€เบซเบ”เบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‚เบญเบ‡เบชเบฝเบ‡เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบฎเบฒเบ”เบ”เบดเบ”เบชเบฒเบกเบฒเบ”เบฎเบฑเบšเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบฅเปˆเบงเบ‡เบฅเบฐเป€เบกเบตเบ”เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ”.

HDD killer

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป€เบ•เบฑเบเบ™เบดเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบฎเบฒเบ”เบ”เบดเบ”. เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เป€เบญเบปเบฒ oscillations เบญเบญเบเบˆเบฒเบ HDD, เปเบ•เปˆเปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ oscillations เบ—เบตเปˆเบ–เบทเบเบ›เป‰เบญเบ™เบเบฑเบš HDD. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบซเบผเบดเป‰เบ™เบชเบฝเบ‡เบˆเบฒเบเบฅเปเบฒเป‚เบžเบ‡เปƒเบ™เบ„เบงเบฒเบกเบ–เบตเปˆเบ—เบตเปˆเบชเบฐเบ—เป‰เบญเบ™เบเบฑเบšเบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡ HDD, เบฅเบฐเบšเบปเบšเบˆเบฐเบ›เบดเบ”เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™เป„เบงเป†เบ™เบตเป‰เบ”เป‰เบงเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” I/O (เปเบเปˆเบ™ Linux เบˆเบฐเบ›เบดเบ” HDD เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบซเบผเบฑเบ‡เบˆเบฒเบ 120 เบงเบดเบ™เบฒเบ—เบต). เบฎเบฒเบ”เบ”เบดเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบญเบฒเบ”เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเป€เบชเบเบซเบฒเบเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบšเปเปˆเบ„เบงเบ™เบฎเป‰เบญเบ‡เปƒเบชเปˆ HDD เบ‚เบญเบ‡เบ—เปˆเบฒเบ™
Linux kernel เป„เบ”เป‰เบ›เบดเบ”เบฎเบฒเบ”เบ”เบดเบ”เบซเบผเบฑเบ‡เบˆเบฒเบ 120 เบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบชเบฝเบ‡เบ—เบตเปˆเบ„เบงเบฒเบกเบ–เบตเปˆ resonant เบœเปˆเบฒเบ™เบฅเปเบฒเป‚เบžเบ‡ Edifier r19u USB. เบฅเปเบฒเป‚เบžเบ‡เบ–เบทเบเป€เบ›เบตเบ”เบขเบนเปˆเบ—เบตเปˆเบ›เบฐเบกเบฒเบ™เบซเบ™เบถเปˆเบ‡เบชเปˆเบงเบ™เบชเบตเปˆเบ‚เบญเบ‡เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™ (เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 100 mW) เปเบฅเบฐเบ•เบฑเป‰เบ‡เบขเบนเปˆ 20 เบŠเบ•เบกเบˆเบฒเบ HDD, เปเบ™เปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™. เบเบญเบšเบˆเบฒเบ เบงเบดเบ”เบตเป‚เบญ เบ”เป‰เบงเบเบเบฒเบ™เบชเบฒเบ—เบดเบ”เบ‚เบญเบ‡ HDD killer

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบฒเบเบฎเบนเป‰เบขเบฒเบเป€เบซเบฑเบ™เบงเปˆเบฒ "เบเบฒเบ™เป‚เบˆเบกเบ•เบต" เปƒเบ™ HDDs เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™เปƒเบ™เบŠเบตเบงเบดเบ”เบ›เบฐเบˆเปเบฒเบงเบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เปƒเบ™เป€เบ”เบทเบญเบ™เบเบฑเบ™เบเบฒ 2016, เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ—เบฐเบ™เบฒเบ„เบฒเบ™ ING เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เป‚เบˆเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 10 เบŠเบปเปˆเบงเป‚เบกเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบˆเบฒเบฐเป„เบŸ. เบฎเบฒเบ”เบ”เบดเบ”เบซเบผเบฒเบเบชเบดเบšเบญเบฑเบ™เป„เบ”เป‰เบฅเบปเป‰เบกเป€เบซเบฅเบง เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบชเบฝเบ‡เบ”เบฑเบ‡เบ‚เบญเบ‡เบญเบฒเบเปเบเบฑเบช inert เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเบˆเบฒเบเบเบฐเบšเบญเบเบชเบนเบšเบžเบฒเบเปƒเบ•เป‰เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™เบชเบนเบ‡. เบชเบฝเบ‡เบ”เบฑเบ‡เบซเบผเบฒเบ (เบซเบผเบฒเบเบเบงเปˆเบฒ 130 dB), เปเบ•เปˆเป€เบˆเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบฎเป‰เบญเบ‡เปƒเบชเปˆเบฎเบฒเบ”เบ”เบดเบ”เป„เบ”เป‰ - เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ HDD เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™.

เบเบฒเบ™เบชเบฒเบ—เบดเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบชเบฝเบ‡เบ”เบฑเบ‡เบ‚เบญเบ‡เบกเบฐเบ™เบธเบ”เบขเบนเปˆเปƒเบ™เบฎเบฒเบ”เป„เบ”เปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™. เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡


เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฝเบ‡เบชเบฐเบ—เป‰เบญเบ™, Alfredo Ortega เบ‚เบฝเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Python เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ hdd-killer (เบงเบดเบ”เบตเป‚เบญเบชเบฒเบ—เบดเบ”).

script killer HDD เบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ™เป‰เบญเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบœเบตเบเปเบœเปˆเบกเบฑเบ™เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""

import pyaudio
import time
import sys
import math
import random

RATE=48000
FREQ=50

# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
    print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
	  "The disk will be opened as read-only.n" + 
          "Warning: It might cause damage to HDD.n" +
          "Usage: %s /dev/sdX" % sys.argv[0]
    sys.exit(-1)

# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ

# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
    global x1,FREQ,NEWFREQ
    data=''
    sample=0
    for x in xrange(frame_count):
        oldsample=sample
        sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
        data = data+sample
        # continous frequency change
        if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
                FREQ=NEWFREQ
                x1=0
        x1+=1
    return (data, pyaudio.paContinue)

# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
                channels=1,
                rate=RATE,
                output=True,
                stream_callback=callback)

# start the stream (4)
stream.start_stream()

# wait for stream to finish (5)
while stream.is_active():
    timeprom=0
    c=file(sys.argv[1])
    for i in xrange(20):
        a=time.clock()
        c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
        c.read(51200)
        b=time.clock()
        timeprom+=b-a
    c.close()
    timeprom/=20
    print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
    NEWFREQ+=0.5

# stop stream (6)
stream.stop_stream()
stream.close()

# close PyAudio (7)
p.terminate()

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™