Me ya sa bai kamata ku yi ihu a HDD ɗinku ba

Me ya sa bai kamata ku yi ihu a HDD ɗinku ba

A taron tsaro na kwamfuta na Ekoparty 2017 da aka yi a Buenos Aires, dan wasan dan kasar Argentina Alfredo Ortega ya nuna ci gaba mai ban sha'awa - tsarin boye bayanan wuraren ba tare da amfani da makirufo ba. Sauti rubuta kai tsaye zuwa rumbun kwamfutarka!

HDD galibi yana ɗaukar ƙaramar ƙaramar sauti mai ƙarfi, takalmi da sauran rawar jiki. Har yanzu ba a iya gane maganganun ɗan adam, kodayake masana kimiyya suna gudanar da bincike ta wannan hanya (Ganewar magana ta ƙananan girgizar ƙasa, waɗanda aka yi rikodin, misali, daga gyroscope ko HDD).

Sauti shine girgizar iska ko wani matsakaici. Mutum yana tsinkayar su ta cikin kunnen kunne, wanda ke watsa rawar jiki zuwa kunnen ciki. An ƙirƙira makirufo kusan kamar kunne - a nan ma, ana yin rikodin rawar jiki ta wani siraren membrane, wanda ke motsa ƙarfin lantarki. Hard Drive, ba shakka, yana ƙarƙashin girgizar da ba a iya gani ba saboda sauye-sauye a cikin iskar da ke kewaye. An san wannan ko da daga halayen fasaha na HDDs: masana'antun yawanci suna nuna matsakaicin matsakaicin matakin girgiza, kuma rumbun kwamfutarka da kanta sau da yawa tana ƙoƙarin sanya shi a cikin akwati mai tabbatar da girgizar da aka yi da roba ko sauran kayan rufewa. Daga wannan yana da sauƙi a yanke cewa ana iya yin rikodin sauti ta amfani da HDD. Abin da ya rage shi ne gano yadda.

Alfredo Ortega ya ba da shawarar sigar musamman ta harin tashoshi na gefe, wato harin lokaci. Wannan harin ya ta'allaka ne akan zaton cewa ana gudanar da ayyuka daban-daban akan na'urar a lokuta daban-daban, dangane da bayanan shigar da aka bayar. A wannan yanayin, "bayanan shigarwa" shine girgizawar shugaban karatu da platter HDD, wanda ya dace da girgizar yanayi, wato, tare da sauti. Don haka, ta hanyar auna lokacin ƙididdigewa da yin ƙididdigar ƙididdiga na bayanai, ana iya auna girgiza kai / farantin kuma don haka ana iya auna girgizar matsakaici. Da tsayin jinkirin karanta bayanai, yana da ƙarfi da girgiza HDD kuma, don haka, ƙarar sautin.

Yadda za a auna hard drive vibration? Mai sauqi qwarai: kawai gudanar da kiran tsarin read () - da kuma rikodin lokacin da ake ɗauka don kammalawa. Tsarin aiki na zamani yana ba ku damar karanta lokacin kiran tsarin tare da daidaiton nanosecond.

Gudun karanta bayanai daga wani yanki ya dogara da matsayin kai da faranti, wanda ke da alaƙa da girgizar harka na HDD. Shi ke nan.

Ana gudanar da ƙididdigar ƙididdiga ta amfani da kayan aikin Kscope mai sauƙi. Kamar yadda suke faɗa, duk abin da ke da hankali yana da sauƙi.

Me ya sa bai kamata ku yi ihu a HDD ɗinku ba
Kscope utility (stat() syscall)

Kscope ƙaramin kayan aiki ne don ganin ƙananan bambance-bambance a lokutan aiwatar da kiran tsarin. SourceAn buga a GitHub.

A cikin wurin ajiya daban HDD lokaci akwai sigar kayan aiki da aka saita don harin lokaci akan rumbun kwamfutarka, wato, wanda aka saita don nazarin kiran tsarin. read ().

Nuna rikodin sauti ta amfani da HDD, aiki na kayan aikin Kscope


Tabbas, ba za a iya fahimtar magana ta wannan hanyar ba, amma HDD ya dace sosai azaman firikwensin girgiza. Misali, zaku iya yin rajista idan mutumin da yake sanye da takalmi ko takalmi mara takalmi ya shiga daki da kwamfuta (watakila, idan maharin yana sanye da sneakers masu laushi ko kuma akwai kafet mai kauri a ƙasa, HDD ba zai iya yin rijistar girgiza ba - wannan ya cancanci dubawa). Kwamfuta na iya yin rijistar gilashin da aka karye ko wasu abubuwan da suka faru tare da ƙarfin sauti mai ƙarfi. Wato, rumbun kwamfutarka na iya zama nau'in tsarin gano kutse mara izini.

HDD kisa

Af, ana iya amfani da irin wannan dabarar don kashe rumbun kwamfyuta. A nan ne kawai ba mu cire oscillations daga HDD ba, amma akasin haka, muna haifar da oscillations waɗanda ake ciyar da su zuwa HDD. Idan kun kunna sauti daga lasifika a mitar da ta dace da mitar HDD, ba da daɗewa ba tsarin yana kashe na'urar tare da kuskuren I/O (Kwayar Linux gaba ɗaya tana kashe HDD bayan daƙiƙa 120). Ita kanta rumbun kwamfutarka na iya samun lalacewa mara jurewa.

Me ya sa bai kamata ku yi ihu a HDD ɗinku ba
Kernel na Linux ya kashe rumbun kwamfutarka bayan daƙiƙa 120 na isar da sauti a mitar sauti ta hanyar lasifikar Edifier r19u USB. Ana kunna mai magana a kusan kashi ɗaya cikin huɗu na ƙarfin (kasa da 100 mW) kuma yana cikin nisan 20 cm daga HDD, yana nufin tebur don haɓaka rawar jiki. Frame daga bidiyo tare da nunin mai kashe HDD

Yana da ban sha'awa cewa irin waɗannan "hare-hare" akan HDDs wani lokaci suna faruwa gaba ɗaya ta hanyar haɗari a rayuwar yau da kullun. Misali, a cikin watan Satumbar 2016, cibiyar bayanan bankin ING ta tilasta dakatar da aiki na tsawon sa’o’i 10 bayan wani aikin gobara. Yawancin rumbun kwamfyuta sun gaza saboda ƙarar ƙarar iskar iskar gas da ake fitarwa daga silinda a ƙarƙashin matsin lamba. Sautin ya kasance mai ƙarfi sosai (fiye da 130 dB), amma ba za ku iya ma yi ihu da rumbun kwamfyuta ba - wannan yana ƙara jinkirin samun damar HDD.

Nuna ihun ɗan adam a rumbun kwamfutarka a cibiyar bayanai. Ma'aunin latency


Don samar da sautin ƙararrawa, Alfredo Ortega ya rubuta rubutun Python da ake kira hdd-kisa (zanga-zangar bidiyo).

Rubutun kisa HDD Yana da ƙanƙanta, don haka za ku iya buga shi gaba ɗaya a nan.

"""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()

source: www.habr.com

Add a comment