ඇයි ඔයා ඔයාගේ HDD එකට කෑගහන්න එපා

ඇයි ඔයා ඔයාගේ HDD එකට කෑගහන්න එපා

බුවනෝස් අයර්ස් හි පැවති Ekoparty 2017 පරිගණක ආරක්ෂණ සම්මන්ත්‍රණයේදී, ආර්ජන්ටිනාවේ හැකර් ඇල්ෆ්‍රෙඩෝ ඔර්ටෙගා ඉතා සිත්ගන්නාසුලු වර්ධනයක් පෙන්නුම් කළේය - මයික්‍රෆෝනයක් භාවිතා නොකර පරිශ්‍රයේ රහසිගත රැහැන්වලට සවන්දීමේ පද්ධතියකි. ශබ්දය දෘඪ තැටිය වෙත සෘජුවම වාර්තා කර ඇත!

HDD ප්‍රධාන වශයෙන් ඉහළ තීව්‍රතාවයකින් යුත් අඩු සංඛ්‍යාත ශබ්ද, අඩිපාර සහ අනෙකුත් කම්පන ලබා ගනී. විද්‍යාඥයන් වුවත් මිනිස් කථනය තවමත් හඳුනා ගත නොහැක මෙම දිශාවට පර්යේෂණ පවත්වයි (අඩු සංඛ්‍යාත කම්පන මගින් කථන හඳුනාගැනීම, උදාහරණයක් ලෙස, ගයිරොස්කෝප් හෝ HDD මගින් පටිගත කරනු ලැබේ).

ශබ්දය යනු වාතයේ හෝ වෙනත් මාධ්‍යයක කම්පනයයි. පුද්ගලයෙකු ඒවා කන් බෙරය හරහා වටහා ගන්නා අතර එමඟින් අභ්‍යන්තර කණට කම්පන සම්ප්‍රේෂණය වේ. මයික්‍රෆෝනය දළ වශයෙන් නිර්මාණය කර ඇත්තේ කනක් වැනිය - මෙහි ද කම්පන තුනී පටලයකින් සටහන් වන අතර එය විද්‍යුත් ආවේගයක් උද්දීපනය කරයි. දෘඪ තැටිය, ඇත්ත වශයෙන්ම, අවට වාතයේ උච්චාවචනයන් හේතුවෙන් අන්වීක්ෂීය කම්පන වලටද යටත් වේ. HDD වල තාක්ෂණික ලක්ෂණ වලින් පවා මෙය දන්නා කරුණකි: නිෂ්පාදකයින් සාමාන්‍යයෙන් උපරිම අවසර ලත් කම්පන මට්ටම පෙන්නුම් කරන අතර දෘඪ තැටිය බොහෝ විට රබර් හෝ වෙනත් පරිවාරක ද්‍රව්‍ය වලින් සාදන ලද කම්පන-ප්‍රතිරෝධක භාජනයක තැබීමට උත්සාහ කරයි. මෙයින් HDD භාවිතයෙන් ශබ්ද පටිගත කළ හැකි බව නිගමනය කිරීම පහසුය. ඉතිරිව ඇත්තේ කෙසේද යන්න සොයා ගැනීමයි.

ඇල්ෆ්‍රෙඩෝ ඔර්ටෙගා විසින් පාර්ශ්වික නාලිකා ප්‍රහාරයක අද්විතීය අනුවාදයක් යෝජනා කළේය, එනම් කාල ප්‍රහාරයක්. මෙම ප්‍රහාරය පදනම් වී ඇත්තේ ලබා දී ඇති ආදාන දත්ත මත පදනම්ව විවිධ කාලවලදී උපාංගයේ විවිධ මෙහෙයුම් සිදු කරන බවට උපකල්පනය කිරීම මතය. මෙම අවස්ථාවෙහිදී, "ආදාන දත්ත" යනු කියවීමේ හිසෙහි සහ HDD තැටියේ කම්පන වේ, එය පරිසරයේ කම්පන සමඟ, එනම් ශබ්දය සමඟ සහසම්බන්ධ වේ. මේ අනුව, ගණනය කිරීමේ කාලය මැනීම සහ දත්තවල සංඛ්යානමය විශ්ලේෂණයක් සිදු කිරීමෙන්, හිසෙහි / තැටියේ කම්පන සහ එම නිසා මාධ්යයේ කම්පන මැනිය හැක. දත්ත කියවීමේ ප්‍රමාදය දිගු වන තරමට HDD කම්පන ශක්තිමත් වන අතර එම නිසා ශබ්දය වැඩි වේ.

දෘඪ තැටියේ කම්පනය මැනිය හැක්කේ කෙසේද? ඉතා සරලයි: පද්ධති ඇමතුම ධාවනය කරන්න read () - සහ එය සම්පූර්ණ කිරීමට ගතවන කාලය සටහන් කරන්න. නවීන මෙහෙයුම් පද්ධති නැනෝ තත්පර නිරවද්‍යතාවයෙන් පද්ධති ඇමතුම් වල වේලාව කියවීමට ඔබට ඉඩ සලසයි.

අංශයකින් තොරතුරු කියවීමේ වේගය HDD නඩුවේ කම්පන සමඟ සහසම්බන්ධ වන හිස සහ තැටියේ පිහිටීම මත රඳා පවතී. එච්චරයි.

සංඛ්‍යාන විශ්ලේෂණය සරල Kscope උපයෝගීතාවයක් භාවිතයෙන් සිදු කෙරේ. ඔවුන් පවසන පරිදි, සෑම දෙයක්ම සරල ය.

ඇයි ඔයා ඔයාගේ HDD එකට කෑගහන්න එපා
Kscope උපයෝගීතාව (stat() syscal)

Kscope යනු පද්ධති ඇමතුම් ක්‍රියාත්මක වන වේලාවන්හි කුඩා වෙනස්කම් දෘශ්‍යමාන කිරීම සඳහා වන කුඩා උපයෝගිතාවයකි. මූලාශ්රයGitHub හි опубликован.

වෙනම ගබඩාවක HDD-කාලය දෘඪ තැටියේ කාල ප්‍රහාරයක් සඳහා වින්‍යාස කර ඇති උපයෝගිතා අනුවාදයක් ඇත, එනම් පද්ධති ඇමතුම විශ්ලේෂණය කිරීමට වින්‍යාස කර ඇත read ().

HDD භාවිතයෙන් ශබ්ද පටිගත කිරීම නිරූපණය කිරීම, Kscope උපයෝගීතාවයේ ක්රියාකාරිත්වය


ඇත්ත වශයෙන්ම, කථනය මේ ආකාරයෙන් තේරුම් ගත නොහැක, නමුත් HDD කම්පන සංවේදකයක් ලෙස බෙහෙවින් සුදුසු ය. උදාහරණයක් ලෙස, තද සපත්තු හෝ පාවහන් නොමැතිව පරිගණකයක් සහිත කාමරයකට ඇතුළු වූ විට ඔබට ලියාපදිංචි විය හැකිය (සමහර විට, ප්‍රහාරකයා මෘදු සපත්තු පැළඳ සිටී නම් හෝ බිම ඝන කාපට් තිබේ නම්, HDD හට කම්පන ලියාපදිංචි කිරීමට නොහැකි වනු ඇත - මෙය පරීක්ෂා කිරීම වටී). ශක්තිමත් ශබ්ද තීව්රතාවයකින් කැඩුණු වීදුරු හෝ වෙනත් සිදුවීම් ලියාපදිංචි කිරීමට පරිගණකය සමත් වේ. එනම්, දෘඪ තැටිය යම් ආකාරයක අනවසර ඇතුල්වීම් හඳුනාගැනීමේ පද්ධතියක් ලෙස සේවය කළ හැකිය.

HDD ඝාතකයා

මාර්ගය වන විට, දෘඪ තැටි අක්රිය කිරීමට සමාන තාක්ෂණයක් භාවිතා කළ හැකිය. මෙහිදී පමණක් අපි HDD වෙතින් දෝලනයන් ඉවත් නොකරමු, නමුත් ඊට ප්රතිවිරුද්ධව, අපි HDD වෙත පෝෂණය වන දෝලනයන් උත්පාදනය කරමු. ඔබ HDD සංඛ්‍යාතය සමඟ අනුනාද වන සංඛ්‍යාතයකින් ස්පීකරයකින් ශබ්දය වාදනය කරන්නේ නම්, පද්ධතිය ඉක්මනින් I/O දෝෂයක් සමඟ උපාංගය ක්‍රියා විරහිත කරයි (ලිනක්ස් කර්නලය තත්පර 120 කට පසු HDD සම්පූර්ණයෙන්ම අක්‍රිය කරයි). දෘඪ තැටියට ආපසු හැරවිය නොහැකි හානියක් සිදුවිය හැකිය.

ඇයි ඔයා ඔයාගේ HDD එකට කෑගහන්න එපා
Linux කර්නලය Edifier r120u USB ස්පීකරයේ ස්පීකරය හරහා අනුනාද සංඛ්‍යාතයකින් ශබ්දය ලබා දීමෙන් තත්පර 19 කට පසු දෘඪ තැටිය අක්‍රිය කරන ලදී. ස්පීකරය බලයෙන් හතරෙන් පංගුවකින් (mW 100 ට අඩු) සක්‍රිය කර ඇති අතර, කම්පන වැඩි දියුණු කිරීම සඳහා මේසය වෙත ඉලක්ක කර HDD සිට 20 cm දුරින් පිහිටා ඇත. සිට රාමුව වීඩියෝ පටය HDD ඝාතකයාගේ ආදර්ශනයක් සමඟ

HDD වලට එවැනි "ප්රහාර" සමහර විට එදිනෙදා ජීවිතයේදී සම්පූර්ණයෙන්ම අහම්බෙන් සිදු වීම කුතුහලයට කරුණකි. උදාහරණයක් ලෙස, 2016 සැප්තැම්බර් මාසයේදී, ගිනි සරඹයකින් පසු පැය 10 ක මෙහෙයුම් අත්හිටුවීමට ING බැංකු දත්ත මධ්යස්ථානයට බල කෙරුනි. දෘඪ තැටි දුසිම් ගණනක් අසාර්ථක වී ඇත අධික පීඩනයක් යටතේ සිලින්ඩර වලින් නිකුත් වන නිෂ්ක්‍රීය වායුවේ අධික ශබ්දය හේතුවෙන්. ශබ්දය ඉතා ඝෝෂාකාරී විය (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

අදහස් එක් කරන්න