
āĻŦā§āϝāĻŧā§āύāϏ āĻāĻāϰā§āϏ⧠Ekoparty 2017 āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻāύāĻĢāĻžāϰā§āύā§āϏā§, āĻāϰā§āĻā§āύā§āĻāĻŋāύāĻžāϰ āĻšā§āϝāĻžāĻāĻžāϰ āĻāϞāĻĢā§āϰā§āĻĄā§ āĻāϰā§āϤā§āĻāĻž āĻāĻāĻāĻŋ āĻā§āĻŦ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻŦāĻŋāĻāĻžāĻļ āĻĻā§āĻāĻŋāϝāĻŧā§āĻāĻŋāϞā§āύ - āĻāĻāĻāĻŋ āĻŽāĻžāĻāĻā§āϰā§āĻĢā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻāϰā§āĻ āĻĒā§āϰāĻžāĻā§āĻāύ⧠āĻā§āĻĒāύ āĻāϝāĻŧā§āϝāĻžāϰāĻā§āϝāĻžāĻĒ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āϏāĻŋāϏā§āĻā§āĻŽāĨ¤ āĻļāĻŦā§āĻĻ !
HDD āĻĒā§āϰāϧāĻžāύāϤ āĻāĻā§āĻ-āϤā§āĻŦā§āϰāϤāĻž āĻāĻŽ-āĻĢā§āϰāĻŋāĻā§āϝāĻŧā§āύā§āϏāĻŋ āĻļāĻŦā§āĻĻ, āĻĒāĻĻāĻāĻŋāĻšā§āύ āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝ āĻāĻŽā§āĻĒāύ āĻā§āϰāĻšāĻŖ āĻāϰā§āĨ¤ āĻŽāĻžāύā§āώā§āϰ āĻŦāĻā§āϤā§āϤāĻž āĻāĻāύāĻ āϏā§āĻŦā§āĻā§āϤ āĻšāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āϝāĻĻāĻŋāĻ āĻŦāĻŋāĻā§āĻāĻžāύā§āϰāĻž (āύāĻŋāĻŽā§āύ-āĻĢā§āϰāĻŋāĻā§āϝāĻŧā§āύā§āϏāĻŋ āĻāĻŽā§āĻĒāύ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻā§āϤā§āϤāĻž āϏā§āĻŦā§āĻā§āϤāĻŋ, āϝāĻž āϰā§āĻāϰā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻāĻžāĻāϰā§āϏā§āĻā§āĻĒ āĻŦāĻž HDD āĻĨā§āĻā§)āĨ¤
āĻļāĻŦā§āĻĻ āĻšāϞ āĻŦāĻžāϝāĻŧā§ āĻŦāĻž āĻ
āύā§āϝ āĻā§āύ⧠āĻŽāĻžāϧā§āϝāĻŽā§āϰ āĻāĻŽā§āĻĒāύāĨ¤ āĻāĻāĻāύ āĻŦā§āϝāĻā§āϤāĻŋ āϤāĻžāĻĻā§āϰ āĻāĻžāύā§āϰ āĻĒāϰā§āĻĻāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻĒāϞāĻŦā§āϧāĻŋ āĻāϰā§, āϝāĻž āĻāĻŋāϤāϰā§āϰ āĻāĻžāύ⧠āĻāĻŽā§āĻĒāύ āĻĒā§āϰā§āϰāĻŖ āĻāϰā§āĨ¤ āĻŽāĻžāĻāĻā§āϰā§āĻĢā§āύāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāύā§āϰ āĻŽāϤ⧠āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ - āĻāĻāĻžāύā§āĻ, āĻāĻŽā§āĻĒāύāĻā§āϞāĻŋ āĻāĻāĻāĻŋ āĻĒāĻžāϤāϞāĻž āĻāĻŋāϞā§āϞāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āϰā§āĻāϰā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻāĻāĻāĻŋ āĻŦā§āĻĻā§āϝā§āϤāĻŋāĻ āĻāĻŦā§āĻāĻā§ āĻāϤā§āϤā§āĻāĻŋāϤ āĻāϰā§āĨ¤ āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ, āĻ
āĻŦāĻļā§āϝāĻ, āĻāĻļā§āĻĒāĻžāĻļā§āϰ āĻŦāĻžāϤāĻžāϏā§āϰ āĻāĻ āĻžāύāĻžāĻŽāĻžāϰ āĻāĻžāϰāĻŖā§ āĻŽāĻžāĻāĻā§āϰā§āϏā§āĻā§āĻĒāĻŋāĻ āĻāĻŽā§āĻĒāύā§āϰ āĻŦāĻŋāώāϝāĻŧāĻāĨ¤ āĻāĻāĻŋ HDD-āĻāϰ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻĨā§āĻā§āĻ āĻāĻžāύāĻž āϝāĻžāϝāĻŧ: āύāĻŋāϰā§āĻŽāĻžāϤāĻžāϰāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāϰā§āĻŦāĻžāϧāĻŋāĻ āĻ
āύā§āĻŽā§āĻĻāĻŋāϤ āĻāĻŽā§āĻĒāύ āϏā§āϤāϰ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻŦāĻ āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ āύāĻŋāĻā§āĻ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻāĻŋ āϰāĻžāĻŦāĻžāϰ āĻŦāĻž āĻ
āύā§āϝāĻžāύā§āϝ āĻ
āύā§āϤāϰāĻ āĻāĻĒāĻžāĻĻāĻžāύ āĻĻāĻŋāϝāĻŧā§ āϤā§āϰāĻŋ āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāύ-āĻĒā§āϰāĻŽāĻžāĻŖ āĻĒāĻžāϤā§āϰ⧠āϰāĻžāĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻĨā§āĻā§ āϏāĻšāĻā§āĻ āĻāĻĒāϏāĻāĻšāĻžāϰ⧠āĻāϏāĻž āϝāĻžāϝāĻŧ āϝ⧠HDD āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻļāĻŦā§āĻĻ āϰā§āĻāϰā§āĻĄ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āϝāĻž āĻŦāĻžāĻāĻŋ āĻāĻā§ āϤāĻž āĻšāϞ āĻāĻŋāĻāĻžāĻŦā§ āĻŦā§āϰ āĻāϰāĻžāĨ¤
āĻāϞāĻĢā§āϰā§āĻĄā§ āĻāϰā§āϤā§āĻāĻž āĻĒāĻžāϰā§āĻļā§āĻŦ-āĻā§āϝāĻžāύā§āϞ āĻāĻā§āϰāĻŽāĻŖā§āϰ āĻāĻāĻāĻŋ āĻ āύāύā§āϝ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻāϰā§āĻāĻŋāϞā§āύ, āϝāĻĨāĻž āĻāĻāĻāĻŋ āϏāĻŽāϝāĻŧ āĻāĻā§āϰāĻŽāĻŖāĨ¤ āĻĒā§āϰāĻĻāϤā§āϤ āĻāύāĻĒā§āĻ āĻĄā§āĻāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āĻāĻ āĻāĻā§āϰāĻŽāĻŖāĻāĻŋ āĻāĻ āϧāĻžāϰāĻŖāĻžāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϝ⧠āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻŽāϝāĻŧā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻ āĻĒāĻžāϰā§āĻļāύ āϏāĻā§āĻāĻžāϞāĻŋāϤ āĻšāϝāĻŧāĨ¤ āĻāĻ āĻā§āώā§āϤā§āϰā§, "āĻāύāĻĒā§āĻ āĻĄā§āĻāĻž" āĻšāϞ āϰāĻŋāĻĄāĻŋāĻ āĻšā§āĻĄ āĻāĻŦāĻ āĻāĻāĻāĻĄāĻŋāĻĄāĻŋ āĻĒā§āϞā§āϝāĻžāĻāĻžāϰā§āϰ āĻāĻŽā§āĻĒāύ, āϝāĻž āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻāĻŽā§āĻĒāύā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāϝā§āĻā§āϤ, āĻ āϰā§āĻĨāĻžā§ āĻļāĻŦā§āĻĻā§āϰ āϏāĻžāĻĨā§āĨ¤ āĻāĻāĻāĻžāĻŦā§, āĻāĻŖāύāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāϰ⧠āĻāĻŦāĻ āĻĄā§āĻāĻžāϰ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύāĻāϤ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰā§, āĻŽāĻžāĻĨāĻž/āĻĒā§āϞā§āϝāĻžāĻāĻžāϰā§āϰ āĻāĻŽā§āĻĒāύ āĻāĻŦāĻ āϤāĻžāĻ āĻŽāĻžāϧā§āϝāĻŽā§āϰ āĻāĻŽā§āĻĒāύ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻĄā§āĻāĻž āĻĒāĻĄāĻŧāϤ⧠āϝāϤ āĻŦā§āĻļāĻŋ āĻĻā§āϰāĻŋ āĻšāĻŦā§, HDD āĻāĻŽā§āĻĒāύ āϤāϤ āĻŦā§āĻļāĻŋ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻšāĻŦā§ āĻāĻŦāĻ āϤāĻžāĻ, āĻļāĻŦā§āĻĻ āϤāϤ āĻŦā§āĻļāĻŋ āĻšāĻŦā§āĨ¤
āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ āĻāĻŽā§āĻĒāύ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāĻŋāĻāĻžāĻŦā§? āĻā§āĻŦ āϏāĻšāĻ: āĻļā§āϧ⧠āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞ āĻāĻžāϞāĻžāύ read () â āĻāĻŦāĻ āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻšāϤ⧠āϝ⧠āϏāĻŽāϝāĻŧ āϞāĻžāĻā§ āϤāĻž āϰā§āĻāϰā§āĻĄ āĻāϰā§āύāĨ¤ āĻāϧā§āύāĻŋāĻ āĻ
āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻĒāύāĻžāĻā§ āύā§āϝāĻžāύā§āϏā§āĻā§āύā§āĻĄ āύāĻŋāϰā§āĻā§āϞāϤāĻžāϰ āϏāĻžāĻĨā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞā§āϰ āϏāĻŽāϝāĻŧ āĻĒāĻĄāĻŧāϤ⧠āĻĻā§āϝāĻŧāĨ¤
āĻāĻāĻāĻŋ āϏā§āĻā§āĻāϰ āĻĨā§āĻā§ āϤāĻĨā§āϝ āĻĒāĻĄāĻŧāĻžāϰ āĻāϤāĻŋ āĻŽāĻžāĻĨāĻž āĻāĻŦāĻ āĻĒā§āϞā§āĻāĻžāϰā§āϰ āĻ āĻŦāϏā§āĻĨāĻžāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āϝāĻž HDD āĻā§āϏā§āϰ āĻāĻŽā§āĻĒāύā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāϝā§āĻā§āϤāĨ¤ āĻāĻāĻžāύā§āĻ āĻļā§āώ.
āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ Kscope āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύāĻāϤ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āϝā§āĻŽāύ āϤāĻžāϰāĻž āĻŦāϞā§, āĻŦā§āĻĻā§āϧāĻŋāĻŽāĻžāύ āϏāĻŦāĻāĻŋāĻā§āĻ āϏāĻšāĻāĨ¤

Kscope āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ (stat() syscall)
āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āϏāĻŽāϝāĻŧā§āϰ āĻā§āώā§āĻĻā§āϰ āĻĒāĻžāϰā§āĻĨāĻā§āϝāĻā§āϞāĻŋ āĻāϞā§āĻĒāύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ Kscope āĻšāϞ āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĨ¤ āĻā§āϏ.
āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻžāύā§āĻĄāĻžāϰ⧠āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻā§ āĻāĻžāĻāĻŽ āĻ
ā§āϝāĻžāĻāĻžāĻā§āϰ āĻāύā§āϝ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāϰ āĻāĻāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻā§, āĻ
āϰā§āĻĨāĻžā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ read ().
HDD āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻžāĻāύā§āĻĄ āϰā§āĻāϰā§āĻĄāĻŋāĻāϝāĻŧā§āϰ āĻĒā§āϰāĻĻāϰā§āĻļāύ, āĻā§āϏā§āĻā§āĻĒ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāϰ āĻ āĻĒāĻžāϰā§āĻļāύ

āĻ āĻŦāĻļā§āϝāĻ, āĻŦāĻā§āϤā§āϤāĻž āĻāĻāĻžāĻŦā§ āĻŦā§āĻāĻž āϝāĻžāϝāĻŧ āύāĻž, āϤāĻŦā§ āĻāĻŽā§āĻĒāύ āϏā§āύā§āϏāϰ āĻšāĻŋāϏāĻžāĻŦā§ HDD āĻŦā§āĻļ āĻāĻĒāϝā§āĻā§āϤāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϝāĻĻāĻŋ āĻļāĻā§āϤ āĻā§āϤāĻž āĻŦāĻž āĻāĻžāϞāĻŋ āĻĒāĻžāϝāĻŧā§ āĻā§āύāĻ āĻŦā§āϝāĻā§āϤāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āϏāĻš āĻāĻāĻāĻŋ āĻāϰ⧠āĻĒā§āϰāĻŦā§āĻļ āĻāϰ⧠(āϏāĻŽā§āĻāĻŦāϤ, āϝāĻĻāĻŋ āĻāĻā§āϰāĻŽāĻŖāĻāĻžāϰ⧠āύāϰāĻŽ āϏā§āύāĻŋāĻāĻžāϰā§āϏ āĻĒāϰ⧠āĻĨāĻžāĻā§ āĻŦāĻž āĻŽā§āĻā§āϤ⧠āĻāĻāĻāĻŋ āĻĒā§āϰ⧠āĻāĻžāϰā§āĻĒā§āĻ āĻĨāĻžāĻā§ āϤāĻŦā§ HDD āĻāĻŽā§āĻĒāύ āύāĻŋāĻŦāύā§āϧāύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻŦā§ āύāĻž - āĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻŽāϤā§)āĨ¤ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āĻāĻžāĻā§āĻāĻž āĻāĻžāĻ āĻŦāĻž āĻ āύā§āϝāĻžāύā§āϝ āĻāĻāύāĻžāĻā§ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻļāĻŦā§āĻĻā§āϰ āϤā§āĻŦā§āϰāϤāĻžāϰ āϏāĻžāĻĨā§ āύāĻŋāĻŦāύā§āϧāύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽāĨ¤ āĻ āϰā§āĻĨāĻžā§, āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ āĻāĻ āϧāϰāĻŖā§āϰ āĻ āύāύā§āĻŽā§āĻĻāĻŋāϤ āĻ āύā§āĻĒā§āϰāĻŦā§āĻļ āϏāύāĻžāĻā§āϤāĻāϰāĻŖ āϏāĻŋāϏā§āĻā§āĻŽ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
HDD āĻšāϤā§āϝāĻžāĻāĻžāϰā§
āĻĒā§āϰāϏāĻā§āĻāϤ, āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻāϰāϤā§āĻ āĻāĻāĻ āϧāϰāύā§āϰ āĻā§āĻļāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āϤāĻŦā§, āĻāĻā§āώā§āϤā§āϰ⧠āĻāĻŽāϰāĻž āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻ āĻĨā§āĻā§ āĻāĻŽā§āĻĒāύ āĻā§āϰāĻšāĻŖ āĻāϰāĻŋ āύāĻž, āĻŦāϰāĻ āĻāĻŽāύ āĻāĻŽā§āĻĒāύ āϤā§āϰāĻŋ āĻāϰāĻŋ āϝāĻž āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻā§ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āϏā§āĻĒāĻŋāĻāĻžāϰ āĻĨā§āĻā§ āĻāĻŽāύ āĻĢā§āϰāĻŋāĻā§āϝāĻŧā§āύā§āϏāĻŋāϤ⧠āĻ āĻĄāĻŋāĻ āĻāĻžāϞāĻžāύ āϝāĻž āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻā§āϰ āĻĢā§āϰāĻŋāĻā§āϝāĻŧā§āύā§āϏāĻŋāϰ āϏāĻžāĻĨā§ āĻ āύā§āϰāĻŖāĻŋāϤ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻļā§āĻā§āϰāĻ āĻāĻāĻāĻŋ I/O āϤā§āϰā§āĻāĻŋāϰ (āĻāĻžāϰā§āύā§āϞ) āĻŽāĻžāϧā§āϝāĻŽā§ āĻĄāĻŋāĻāĻžāĻāϏāĻāĻŋ āĻŦāύā§āϧ āĻāϰ⧠āĻĻā§āĻŦā§āĨ¤ Linux (āĻāĻāĻŋ ⧧⧍ā§Ļ āϏā§āĻā§āύā§āĻĄ āĻĒāϰ āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻŦāύā§āϧ āĻāϰ⧠āĻĻā§āϝāĻŧāĨ¤) āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻāĻāĻŋ āĻ āĻĒā§āϰāĻŖā§āϝāĻŧāĻāĻžāĻŦā§ āĻā§āώāϤāĻŋāĻā§āϰāϏā§āϤ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤

āĻā§āϰ Linux Edifier r19u USB āϏā§āĻĒāĻŋāĻāĻžāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻŋ āĻ
āύā§āϰāĻŖāύ āĻāĻŽā§āĻĒāĻžāĻā§āĻ⧠⧧⧍ā§Ļ āϏā§āĻā§āύā§āĻĄ āϧāϰ⧠āĻļāĻŦā§āĻĻ āĻŦāĻžāĻāĻžāύā§āϰ āĻĒāϰ āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻāĻāĻŋ āĻŦāύā§āϧ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ āϏā§āĻĒāĻŋāĻāĻžāϰāĻāĻŋ āϤāĻžāϰ āĻā§āώāĻŽāϤāĻžāϰ āĻĒā§āϰāĻžāϝāĻŧ āĻāĻ-āĻāϤā§āϰā§āĻĨāĻžāĻāĻļā§ (ā§§ā§Ļā§Ļ āĻŽāĻŋāϞāĻŋāĻāϝāĻŧāĻžāĻā§āϰāĻ āĻāĻŽ) āĻāĻžāϞ⧠āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ āĻāĻŽā§āĻĒāύ āĻŦāĻŋāĻŦāϰā§āϧāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋāĻā§ HDD āĻĨā§āĻ⧠⧍ā§Ļ āϏā§āĻŽāĻŋ āĻĻā§āϰ⧠āĻā§āĻŦāĻŋāϞā§āϰ āĻĻāĻŋāĻā§ āĻŽā§āĻ āĻāϰ⧠āϰāĻžāĻāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ HDD āĻšāϤā§āϝāĻžāĻāĻžāϰā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āϰ āϏāĻžāĻĨā§
āĻāĻāĻž āĻā§āϤā§āĻšāϞāĻāύāĻ āϝ⧠HDD-āϤ⧠āĻāĻ āϧāϰāύā§āϰ "āĻāĻā§āϰāĻŽāĻŖ" āĻāĻāύāĻ āĻāĻāύāĻ āĻĻā§āύāύā§āĻĻāĻŋāύ āĻā§āĻŦāύ⧠āĻĻā§āϰā§āĻāĻāύāĻžāĻā§āϰāĻŽā§ āĻāĻā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ āϏā§āĻŦāϰā§āĻĒ, 2016 āϏāĻžāϞā§āϰ āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰā§, ING āĻŦā§āϝāĻžāĻā§āĻ āĻĄā§āĻāĻž āϏā§āύā§āĻāĻžāϰ āĻāĻāĻāĻŋ āĻĢāĻžāϝāĻŧāĻžāϰ āĻĄā§āϰāĻŋāϞā§āϰ āĻĒāϰ⧠10 āĻāύā§āĻāĻžāϰ āĻāύā§āϝ āĻ āĻĒāĻžāϰā§āĻļāύ āϏā§āĻĨāĻāĻŋāϤ āĻāϰāϤ⧠āĻŦāĻžāϧā§āϝ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻā§āĻ āĻāĻžāĻĒā§ āϏāĻŋāϞāĻŋāύā§āĻĄāĻžāϰ āĻĨā§āĻā§ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻā§āϝāĻžāϏā§āϰ āĻŦāĻŋāĻāĻ āĻļāĻŦā§āĻĻā§āϰ āĻāĻžāϰāĻŖā§āĨ¤ āĻļāĻŦā§āĻĻāĻāĻŋ āĻā§āĻŦ āĻā§āϰ⧠āĻāĻŋāϞ (130 āĻĄāĻŋāĻŦāĻŋ-āϰ āĻŦā§āĻļāĻŋ), āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻšāĻžāϰā§āĻĄ āĻĄā§āϰāĻžāĻāĻā§ āĻāĻŋā§āĻāĻžāϰāĻ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž - āĻāĻāĻŋ 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
