แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถแžขแŸ’แž“แž€แž˜แžทแž“แž‚แžฝแžšแžŸแŸ’แžšแŸ‚แž€แžŠแžถแž€แŸ‹ HDD แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถแžขแŸ’แž“แž€แž˜แžทแž“แž‚แžฝแžšแžŸแŸ’แžšแŸ‚แž€แžŠแžถแž€แŸ‹ HDD แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แžŸแž“แŸ’แž“แžทแžŸแžทแž‘แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžš Ekoparty 2017 แž“แŸ…แž‘แžธแž€แŸ’แžšแžปแž„ Buenos Aires แž แŸแž€แžƒแŸแžšแžขแžถแž แŸ’แžŸแž„แŸ‹แž‘แžธแž“ Alfredo Ortega แž”แžถแž“แž”แž„แŸ’แž แžถแž‰แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž‚แžฝแžšแžฑแŸ’แž™แž…แžถแž”แŸ‹แžขแžถแžšแž˜แŸ’แž˜แžŽแŸแž˜แžฝแž™ แžŠแŸ‚แž›แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž›แžฝแž…แž”แž“แŸ’แž›แŸ†แž“แŸƒแž”แžšแžทแžœแŸแžŽแžŠแŸ„แž™แž˜แžทแž“แž”แŸ’แžšแžพแž˜แžธแž€แŸ’แžšแžผแž แŸ’แžœแžผแž“แŸ” แžŸแŸ†แžกแŸแž„ แžแžแžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž‘แŸ…แžแžถแžŸแžšแžนแž„!

HDD แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž‡แžถแž…แž˜แŸ’แž”แž„แž“แžผแžœแžŸแŸ†แžกแŸแž„แžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแŸแž€แž„แŸ‹แž‘แžถแž” แž€แž˜แŸ’แžšแžทแžแžŸแŸ†แžกแŸแž„แžแŸ’แž–แžŸแŸ‹ แž‡แŸ†แž แžถแž“ แž“แžทแž„แžšแŸ†แž‰แŸแžšแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แž€แžถแžšแž“แžทแž™แžถแž™แžšแž”แžŸแŸ‹แž˜แž“แžปแžŸแŸ’แžŸแž˜แžทแž“แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แŸแž‘แž‘แžฝแž›แžŸแŸ’แž‚แžถแž›แŸ‹แž“แŸ…แžกแžพแž™แž‘แŸ แž‘แŸ„แŸ‡แž”แžธแž‡แžถแžขแŸ’แž“แž€แžœแžทแž‘แŸ’แž™แžถแžŸแžถแžŸแŸ’แžแŸ’แžšแž€แŸแžŠแŸ„แž™แŸ” แž€แŸ†แž–แžปแž„แž’แŸ’แžœแžพแž€แžถแžšแžŸแŸ’แžšแžถแžœแž‡แŸ’แžšแžถแžœแž€แŸ’แž“แžปแž„แž‘แžทแžŸแžŠแŸ…แž“แŸแŸ‡แŸ” (แž€แžถแžšโ€‹แž‘แž‘แžฝแž›โ€‹แžŸแŸ’แž‚แžถแž›แŸ‹โ€‹แž€แžถแžšโ€‹แž“แžทแž™แžถแž™โ€‹แžŠแŸ„แž™โ€‹แžšแŸ†แž‰แŸแžšโ€‹แž”แŸ’แžšแŸแž€แž„แŸ‹โ€‹แž‘แžถแž”โ€‹แžŠแŸ‚แž›โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แžแžโ€‹แž‘แžปแž€โ€‹แž‡แžถโ€‹แžงแž‘แžถแž แžšแžŽแŸโ€‹แž–แžธ gyroscope แžฌ HDD)แŸ”

แžŸแŸ†แžกแŸแž„แž‚แžบแž‡แžถแž€แžถแžšแžšแŸ†แž‰แŸแžšแž“แŸƒแžแŸ’แž™แž›แŸ‹ แžฌแžงแž”แž€แžšแžŽแŸแž•แŸ’แž‘แžปแž€แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แž˜แž“แžปแžŸแŸ’แžŸแž˜แŸ’แž“แžถแž€แŸ‹แž™แž›แŸ‹แžƒแžพแž‰แž–แžฝแž€แž‚แŸแžแžถแž˜แžšแž™แŸˆแž€แŸ’แžšแžŠแžถแžŸแžแŸ’แžšแž…แŸ€แž€ แžŠแŸ‚แž›แž”แž‰แŸ’แž‡แžผแž“แžšแŸ†แž‰แŸแžšแž‘แŸ…แžแŸ’แžšแž…แŸ€แž€แžแžถแž„แž€แŸ’แž“แžปแž„แŸ” แž˜แžธแž€แŸ’แžšแžผแž แŸ’แžœแžผแž“แžแŸ’แžšแžผแžœแž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แž”แŸ’แžšแž แžถแž€แŸ‹แž”แŸ’แžšแž แŸ‚แž›แž“แžนแž„แžแŸ’แžšแž…แŸ€แž€ - แž“แŸ…แž‘แžธแž“แŸแŸ‡แž•แž„แžŠแŸ‚แžš แž€แžถแžšแžšแŸ†แž‰แŸแžšแžแŸ’แžšแžผแžœแž”แžถแž“แž€แžแŸ‹แžแŸ’แžšแžถแžŠแŸ„แž™แž—แŸ’แž“แžถแžŸแžŸแŸ’แžแžพแž„ แžŠแŸ‚แž›แž’แŸ’แžœแžพแžขแŸ„แž™แžšแŸ†แž‰แŸแžšแžขแž‚แŸ’แž‚แžทแžŸแž“แžธแŸ” แž‡แžถแž€แžถแžšแž–แžทแžแžŽแžถแžŸแŸ‹ แžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„แž€แŸแž‘แž‘แžฝแž›แžšแž„แž€แžถแžšแžšแŸ†แž‰แŸแžšแž˜แžธแž€แŸ’แžšแžผแž‘แžŸแŸ’แžŸแž“แŸแž•แž„แžŠแŸ‚แžš แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚แž€แžถแžšแž”แŸ’แžšแŸ‚แž”แŸ’แžšแžฝแž›แž“แŸƒแžแŸ’แž™แž›แŸ‹แž‡แžปแŸ†แžœแžทแž‰แŸ” แž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แŸแžŸแŸ’แž‚แžถแž›แŸ‹แžŸแžผแž˜แŸ’แž”แžธแžแŸ‚แž–แžธแž›แž€แŸ’แžแžŽแŸˆแž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸแžšแž”แžŸแŸ‹ HDDs แž€แŸแžŠแŸ„แž™แŸ– แž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แž•แž›แžทแžแž‡แžถแž’แž˜แŸ’แž˜แžแžถแž”แž„แŸ’แž แžถแž‰แž–แžธแž€แž˜แŸ’แžšแžทแžแžšแŸ†แž‰แŸแžšแžŠแŸ‚แž›แžขแžถแž…แžขแž“แžปแž‰แŸ’แž‰แžถแžแž”แžถแž“แžขแžแžทแž”แžšแž˜แžถ แž แžพแž™แžแžถแžŸแžšแžนแž„แžแŸ’แž›แžฝแž“แžฏแž„แž‡แžถแžšแžฟแž™แŸ—แž–แŸ’แž™แžถแž™แžถแž˜แžŠแžถแž€แŸ‹แžœแžถแž“แŸ…แž€แŸ’แž“แžปแž„แž’แžปแž„แž’แž“แŸ‹แž“แžนแž„แžšแŸ†แž‰แŸแžšแžŠแŸ‚แž›แž’แŸ’แžœแžพแž–แžธแž€แŸ…แžŸแŸŠแžผ แžฌแžŸแž˜แŸ’แž—แžถแžšแŸˆแžขแŸŠแžธแžŸแžผแžกแž„แŸ‹แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แž–แžธแž“แŸแŸ‡แžœแžถแž„แžถแž™แžŸแŸ’แžšแžฝแž›แž€แŸ’แž“แžปแž„แž€แžถแžšแžŸแž“แŸ’แž“แžทแžŠแŸ’แž‹แžถแž“แžแžถแžŸแŸ†แžกแŸแž„แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แžแžแžŠแŸ„แž™แž”แŸ’แžšแžพ HDD แŸ” แžขแŸ’แžœแžธแžŠแŸ‚แž›แž“แŸ…แžŸแž›แŸ‹แž‚แžบแžแŸ’แžšแžผแžœแžŸแŸ’แžœแŸ‚แž„แž™แž›แŸ‹แž–แžธแžšแž”แŸ€แž”แŸ”

Alfredo Ortega แž”แžถแž“แžŸแŸ’แž“แžพแž€แŸ†แžŽแŸ‚แžแŸ‚แž˜แžฝแž™แž‚แžแŸ‹แž“แŸƒแž€แžถแžšแžœแžถแž™แž”แŸ’แžšแž แžถแžšแžแžถแž˜แž†แžถแž“แŸ‚แž›แž˜แžฝแž™แž‚แžบแž€แžถแžšแžœแžถแž™แž”แŸ’แžšแž แžถแžšแž–แŸแž›แžœแŸแž›แžถแŸ” แž€แžถแžšแžœแžถแž™แž”แŸ’แžšแž แžถแžšแž“แŸแŸ‡แž‚แžบแž•แŸ’แžขแŸ‚แž€แž›แžพแž€แžถแžšแžŸแž“แŸ’แž˜แžแŸ‹แžแžถแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž•แŸ’แžŸแŸแž„แž‚แŸ’แž“แžถแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž“แŸ…แž›แžพแžงแž”แž€แžšแžŽแŸแž“แŸ…แž–แŸแž›แž•แŸ’แžŸแŸแž„แž‚แŸ’แž“แžถ แžขแžถแžŸแŸ’แžšแŸแž™แž›แžพแž‘แžทแž“แŸ’แž“แž“แŸแž™แž”แž‰แŸ’แž…แžผแž›แžŠแŸ‚แž›แž”แžถแž“แž•แŸ’แžแž›แŸ‹แžฑแŸ’แž™แŸ” แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž“แŸแŸ‡ "แž‘แžทแž“แŸ’แž“แž“แŸแž™แž”แž‰แŸ’แž…แžผแž›" แž‚แžบแž‡แžถแž€แžถแžšแžšแŸ†แž‰แŸแžšแž“แŸƒแž€แŸ’แž”แžถแž›แžขแžถแž“ แž“แžทแž„แž”แž“แŸ’แž‘แŸ‡ HDD แžŠแŸ‚แž›แž‘แžถแž€แŸ‹แž‘แž„แž‡แžถแž˜แžฝแž™แžšแŸ†แž‰แŸแžšแž“แŸƒแž”แžšแžทแžŸแŸ’แžแžถแž“ แž–แŸ„แž›แž‚แžบแž‡แžถแž˜แžฝแž™แž“แžนแž„แžŸแŸ†แžกแŸแž„แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŠแŸ„แž™แž€แžถแžšแžœแžถแžŸแŸ‹แžŸแŸ’แž‘แž„แŸ‹แž–แŸแž›แžœแŸแž›แžถแž‚แžŽแž“แžถ แž“แžทแž„แž’แŸ’แžœแžพแž€แžถแžšแžœแžทแž—แžถแž‚แžŸแŸ’แžแžทแžแžทแž“แŸƒแž‘แžทแž“แŸ’แž“แž“แŸแž™ แžœแžถแžขแžถแž…แžœแžถแžŸแŸ‹แžŸแŸ’แž‘แž„แŸ‹แžšแŸ†แž‰แŸแžšแž“แŸƒแž€แŸ’แž”แžถแž›/แž…แžถแž“ แž แžพแž™แž แŸแžแžปแžŠแžผแž…แŸ’แž“แŸแŸ‡แž แžพแž™แž€แžถแžšแžšแŸ†แž‰แŸแžšแžšแž”แžŸแŸ‹แžงแž”แž€แžšแžŽแŸแž•แŸ’แž‘แžปแž€แŸ” แž€แžถแžšแž–แž“แŸ’แž™แžถแž–แŸแž›แž€แŸ’แž“แžปแž„แž€แžถแžšแžขแžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž€แžถแž“แŸ‹แžแŸ‚แž™แžผแžš แž€แžถแžšแžšแŸ†แž‰แŸแžš HDD แž€แžถแž“แŸ‹แžแŸ‚แžแŸ’แž›แžถแŸ†แž„ แž แžพแž™แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŸแŸ†แžกแŸแž„แž€แžถแž“แŸ‹แžแŸ‚แžแŸ’แž›แžถแŸ†แž„แŸ”

แžแžพแž’แŸ’แžœแžพแžŠแžผแž…แž˜แŸ’แžแŸแž…แžŠแžพแž˜แŸ’แž”แžธแžœแžถแžŸแŸ‹แžšแŸ†แž‰แŸแžšแž“แŸƒแžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„? แžŸแžถแž˜แž‰แŸ’แž‰แžŽแžถแžŸแŸ‹แŸ– แž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžถแžšแž แŸ…แžแžถแž˜แž”แŸ’แžšแž–แŸแž“แŸ’แž’ read () - แž“แžทแž„แž€แžแŸ‹แžแŸ’แžšแžถแž–แŸแž›แžœแŸแž›แžถแžŠแŸ‚แž›แžœแžถแžแŸ’แžšแžผแžœแž€แžถแžšแžŠแžพแž˜แŸ’แž”แžธแž”แž‰แŸ’แž…แž”แŸ‹แŸ” แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‘แŸ†แž“แžพแž”แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžขแžถแž“แž–แŸแž›แžœแŸแž›แžถแž“แŸƒแž€แžถแžšแž แŸ…แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‡แžถแž˜แžฝแž™แž“แžนแž„แž—แžถแž–แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœ nanosecond แŸ”

แž›แŸ’แž”แžฟแž“แž“แŸƒแž€แžถแžšแžขแžถแž“แž–แŸแžแŸŒแž˜แžถแž“แž–แžธแžœแžทแžŸแŸแž™แž˜แžฝแž™แžขแžถแžŸแŸ’แžšแŸแž™แž‘แŸ…แž›แžพแž‘แžธแžแžถแŸ†แž„แžšแž”แžŸแŸ‹แž€แŸ’แž”แžถแž› แž“แžทแž„แž…แžถแž“แžšแžถแž„แžŸแŸ†แž”แŸ‰แŸ‚แž แžŠแŸ‚แž›แž‘แžถแž€แŸ‹แž‘แž„แž‡แžถแž˜แžฝแž™แžšแŸ†แž‰แŸแžšแž“แŸƒแž€แžšแžŽแžธ HDD แŸ” แžขแžŸแŸ‹แž แžพแž™แŸ”

แž€แžถแžšแžœแžทแž—แžถแž‚แžŸแŸ’แžแžทแžแžทแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž”แŸ’แžšแžพแžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Kscope แžŸแžถแž˜แž‰แŸ’แž‰แŸ” แžŠแžผแž…แžŠแŸ‚แž›แž–แžฝแž€แž‚แŸแž“แžทแž™แžถแž™ แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžŠแŸ‚แž›แž”แŸ‰แžทแž“แž”แŸ’แžšแžŸแž”แŸ‹แž‚แžบแžŸแžถแž˜แž‰แŸ’แž‰แŸ”

แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถแžขแŸ’แž“แž€แž˜แžทแž“แž‚แžฝแžšแžŸแŸ’แžšแŸ‚แž€แžŠแžถแž€แŸ‹ HDD แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”
แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Kscope (stat() syscall)

Kscope แž‚แžบโ€‹แž‡แžถโ€‹แžงแž”แž€แžšแžŽแŸโ€‹แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹โ€‹แžแžผแž…โ€‹แž˜แžฝแž™โ€‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹โ€‹แž˜แžพแž›โ€‹แžƒแžพแž‰โ€‹แž–แžธโ€‹แž—แžถแž–โ€‹แžแžปแžŸโ€‹แž‚แŸ’แž“แžถโ€‹แžแžผแž…โ€‹แŸ—โ€‹แž“แŸ…โ€‹แž€แŸ’แž“แžปแž„โ€‹แž–แŸแž›โ€‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทโ€‹แž€แžถแžšโ€‹แž แŸ…โ€‹แž‘แžผแžšแžŸแž–แŸ’แž‘โ€‹แžšแž”แžŸแŸ‹โ€‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’แŸ” แž”แŸ’แžšแž—แž–แž…แŸแž‰แž•แŸ’แžŸแžถแž™แž“แŸ…แž›แžพ GitHub.

แž“แŸ…แž€แŸ’แž“แžปแž„แžƒแŸ’แž›แžถแŸ†แž„แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€ แž–แŸแž›แžœแŸแž›แžถ HDD แž˜แžถแž“แž€แŸ†แžŽแŸ‚แž“แŸƒแžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแŸ‚แž›แž”แžถแž“แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžœแžถแž™แž”แŸ’แžšแž แžถแžšแž–แŸแž›แž˜แžฝแž™แž“แŸ…แž›แžพ hard drive แž“แŸ„แŸ‡แž‚แžบแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŠแžพแž˜แŸ’แž”แžธแžœแžทแž—แžถแž‚แž€แžถแžšแž แŸ…แž”แŸ’แžšแž–แŸแž“แŸ’แž’แŸ” read ().

แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แž–แžธแž€แžถแžšแžแžแžŸแŸ†แžกแŸแž„แžŠแŸ„แž™แž”แŸ’แžšแžพ HDD แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžšแž”แžŸแŸ‹แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Kscope

แž›แŸแž„แžœแžธแžŠแŸแžขแžผ

แž‡แžถแž€แžถแžšแž–แžทแžแžŽแžถแžŸแŸ‹ แž€แžถแžšแž“แžทแž™แžถแž™แž˜แžทแž“แžขแžถแž…แž™แž›แŸ‹แž”แžถแž“แžแžถแž˜แžœแžทแž’แžธแž“แŸแŸ‡ แž”แŸ‰แžปแž“แŸ’แžแŸ‚ HDD แž‚แžบแž–แžทแžแž‡แžถแžŸแž˜แžšแž˜แŸ’แž™แž‡แžถแžงแž”แž€แžšแžŽแŸแž…แžถแž”แŸ‹แžŸแž‰แŸ’แž‰แžถแžšแŸ†แž‰แŸแžšแŸ” แžงแž‘แžถแž แžšแžŽแŸ แžขแŸ’แž“แž€แžขแžถแž…แž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡ แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž–แžถแž€แŸ‹แžŸแŸ’แž”แŸ‚แž€แž‡แžพแž„แžšแžนแž„ แžฌแž‡แžพแž„แž‘แž‘แŸแžšแž…แžผแž›แž”แž“แŸ’แž‘แž”แŸ‹แž‡แžถแž˜แžฝแž™แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžš (แž”แŸ’แžšแž แŸ‚แž›แž‡แžถแž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แžœแžถแž™แž”แŸ’แžšแž แžถแžšแž–แžถแž€แŸ‹แžŸแŸ’แž”แŸ‚แž€แž‡แžพแž„แž”แŸ‰แžถแžแžถแž‘แž“แŸ‹ แžฌแž˜แžถแž“แž€แŸ†แžšแžถแž›แž–แŸ’แžšแŸ†แž€แŸ’แžšแžถแžŸแŸ‹แž“แŸ…แž›แžพแžฅแžŠแŸ’แž‹ HDD แž“แžนแž„แž˜แžทแž“แžขแžถแž…แž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡แžšแŸ†แž‰แŸแžšแž”แžถแž“แž‘แŸ - แž“แŸแŸ‡แž˜แžถแž“แžแž˜แŸ’แž›แŸƒแž–แžทแž“แžทแžแŸ’แž™) แŸ” แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแžขแžถแž…แž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡แž€แž‰แŸ’แž…แž€แŸ‹แžแžผแž… แžฌแžงแž”แž‘แŸ’แž‘แžœแž แŸแžแžปแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แž˜แŸ’แžšแžทแžแžŸแŸ†แžกแŸแž„แžแŸ’แž›แžถแŸ†แž„แŸ” แž“แŸ„แŸ‡แž‚แžบแžแžถ แžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„แžขแžถแž…แž”แž˜แŸ’แžšแžพแž‡แžถแž”แŸ’แžšแž—แŸแž‘แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแž€แžƒแžพแž‰แž€แžถแžšแžˆแŸ’แž›แžถแž“แž–แžถแž“แžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแžขแž“แžปแž‰แŸ’แž‰แžถแžแŸ”

แžƒแžถแžแž€แžš HDD

แžŠแŸ„แž™แž…แŸƒแžŠแž“แŸ’แž™ แž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸแžŸแŸ’แžšแžŠแŸ€แž„แž‚แŸ’แž“แžถแž“แŸแŸ‡แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแž”แžทแž‘แžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„แŸ” แž‘แŸ„แŸ‡แž™แŸ‰แžถแž„แžŽแžถแž€แŸแžŠแŸ„แž™ แž“แŸ…แž‘แžธแž“แŸแŸ‡แž™แžพแž„แž˜แžทแž“แž…แžถแž”แŸ‹แž™แž€แžšแŸ†แž‰แŸแžšแž–แžธ HDD แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž”แž„แŸ’แž€แžพแžแžšแŸ†แž‰แŸแžšแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž‡แžผแž“แž‘แŸ… HDDแŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž…แžถแž€แŸ‹แžŸแŸ†แžกแŸแž„แž–แžธแžงแž”แž€แžšแžŽแŸแž”แŸ†แž–แž„แžŸแž˜แŸ’แž›แŸแž„แž“แŸ…แž”แŸ’แžšแŸแž€แž„แŸ‹แžŠแŸ‚แž›แž”แž“แŸ’แž›แžบแžกแžพแž„แž‡แžถแž˜แžฝแž™แž”แŸ’แžšแŸแž€แž„แŸ‹แžšแž”แžŸแŸ‹ HDD แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž“แžนแž„แž”แžทแž‘แžงแž”แž€แžšแžŽแŸแž€แŸ’แž“แžปแž„แž–แŸแž›แž†แžถแž”แŸ‹แŸ—แž“แŸแŸ‡แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แŸ†แž แžปแžŸ I/O (แžแžบแžŽแŸ‚แž›)แŸ” Linux (แžœแžถแž“แžนแž„แž”แžทแž‘ HDD แž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธ 120 แžœแžทแž“แžถแž‘แžธแŸ”) แžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„แžแŸ’แž›แžฝแž“แžฏแž„แžขแžถแž…แž“แžนแž„แžแžผแž…แžแžถแžแžŠแŸ‚แž›แž˜แžทแž“แžขแžถแž…แžแŸ’แžšแžกแž”แŸ‹แžœแžทแž‰แž”แžถแž“แŸ”

แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถแžขแŸ’แž“แž€แž˜แžทแž“แž‚แžฝแžšแžŸแŸ’แžšแŸ‚แž€แžŠแžถแž€แŸ‹ HDD แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”
แžŸแŸ’แž“แžผแž› Linux แžแžถแžŸแžšแžนแž„แž”แžถแž“แž”แžทแž‘แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž…แžถแž€แŸ‹แžŸแŸ†แžกแŸแž„แžšแž™แŸˆแž–แŸแž› 120 แžœแžทแž“แžถแž‘แžธแž€แŸ’แž“แžปแž„แž”แŸ’แžšแŸแž€แž„แŸ‹แžšแŸ†แž‰แŸแžšแžแžถแž˜แžšแž™แŸˆแžงแž”แž€แžšแžŽแŸแž”แŸ†แž–แž„แžŸแž˜แŸ’แž›แŸแž„ USB Edifier r19uแŸ” แžงแž”แž€แžšแžŽแŸแž”แŸ†แž–แž„แžŸแž˜แŸ’แž›แŸแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แž“แŸ…แž”แŸ’แžšแž แŸ‚แž›แž˜แžฝแž™แž—แžถแž‚แž”แžฝแž“แž“แŸƒแžแžถแž˜แž–แž›แžšแž”แžŸแŸ‹แžœแžถ (แžแžทแž…แž‡แžถแž„ 100 mW) แž แžพแž™แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแžถแž€แŸ‹แž…แž˜แŸ’แž„แžถแž™ 20 แžŸแž„แŸ‹แž‘แžธแž˜แŸ‰แŸ‚แžแŸ’แžšแž–แžธ HDD แžŠแŸ„แž™แž…แž„แŸ’แžขแžปแž›แž‘แŸ…แžแžปแžŠแžพแž˜แŸ’แž”แžธแž–แž„แŸ’แžšแžธแž€แžšแŸ†แž‰แŸแžšแŸ” แž“แŸ…แžแŸ‚แž˜แž€แž–แžธ แžœแžธแžŠแŸแžขแžผ แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แžขแŸ†แž–แžธ HDD killer

แžœแžถแž‚แžฝแžšแžฑแŸ’แž™แž…แž„แŸ‹แžŠแžนแž„แžŠแŸ‚แž›แžแžถ "แž€แžถแžšแžœแžถแž™แž”แŸ’แžšแž แžถแžš" แž”แŸ‚แž”แž“แŸแŸ‡แž›แžพ HDDs แž‡แžฝแž“แž€แžถแž›แž€แžพแžแžกแžพแž„แž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แžŠแŸ„แž™แž…แŸƒแžŠแž“แŸ’แž™แž“แŸ…แž€แŸ’แž“แžปแž„แž‡แžธแžœแžทแžแž”แŸ’แžšแž…แžถแŸ†แžแŸ’แž„แŸƒแŸ” แž‡แžถแžงแž‘แžถแž แžšแžŽแŸ แž€แŸ’แž“แžปแž„แžแŸ‚แž€แž‰แŸ’แž‰แžถ แž†แŸ’แž“แžถแŸ† 2016 แž˜แž‡แŸ’แžˆแž˜แžŽแŸ’แžŒแž›แž‘แžทแž“แŸ’แž“แž“แŸแž™แžšแž”แžŸแŸ‹แž’แž“แžถแž‚แžถแžš ING แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แžแŸ†แžฑแŸ’แž™แž•แŸ’แžขแžถแž€แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžšแž™แŸˆแž–แŸแž› 10 แž˜แŸ‰แŸ„แž„แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž€แžถแžšแž แŸ’แžœแžนแž€แž แžถแžแŸ‹แž—แŸ’แž›แžพแž„แŸ” แžŠแŸ’แžšแžถแž™แžœแŸแžšแžนแž„แžšแžถแž”แŸ‹แžŸแžทแž”แž”แžถแž“แž”แžšแžถแž‡แŸแž™ แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚แžŸแŸ†แžกแŸแž„แžแŸ’แž›แžถแŸ†แž„แž“แŸƒแžงแžŸแŸ’แž˜แŸแž“แžขแžŸแž€แž˜แŸ’แž˜แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž…แŸแž‰แž…แŸแž‰แž–แžธแžŸแŸŠแžธแžกแžถแŸ†แž„แž€แŸ’แžšแŸ„แž˜แžŸแž˜แŸ’แž–แžถแž’แžแŸ’แž–แžŸแŸ‹แŸ” แžŸแŸ†แžกแŸแž„แž‚แžบแžแŸ’แž›แžถแŸ†แž„ (แž…แŸ’แžšแžพแž“แž‡แžถแž„ 130 dB) แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ’แž“แž€แž˜แžทแž“แžขแžถแž…แžŸแžผแž˜แŸ’แž”แžธแžแŸ‚แžŸแŸ’แžšแŸ‚แž€แžŠแžถแž€แŸ‹แžแžถแžŸแžšแžนแž„ - แž“แŸแŸ‡แž”แž„แŸ’แž€แžพแž“แž€แžถแžšแž–แž“แŸ’แž™แžถแžšแž–แŸแž›แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพ HDD แŸ”

แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แž–แžธแž€แžถแžšแžŸแŸ’แžšแŸ‚แž€แžšแž”แžŸแŸ‹แž˜แž“แžปแžŸแŸ’แžŸแž“แŸ…แž›แžพ hard drive แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แž‡แŸ’แžˆแž˜แžŽแŸ’แžŒแž›แž‘แžทแž“แŸ’แž“แž“แŸแž™แŸ” แž€แžถแžšแžœแžถแžŸแŸ‹แžœแŸ‚แž„แž—แžถแž–แž™แžบแžแž™แŸ‰แžถแžœ

แž›แŸแž„แžœแžธแžŠแŸแžขแžผ

แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแžแžŸแŸ†แžกแŸแž„แžšแŸ„แž‘แŸ Alfredo Ortega แž”แžถแž“แžŸแžšแžŸแŸแžšแžขแž€แŸ’แžŸแžš Python แž แŸ…แžแžถ hdd-แžƒแžถแžแž€แžš (แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แžœแžธแžŠแŸแžขแžผ).

แžŸแŸ’แž‚แŸ’แžšแžธแž” HDD killer แžœแžถแžแžผแž…แžŽแžถแžŸแŸ‹ แžŠแžผแž…แŸ’แž“แŸแŸ‡แžขแŸ’แž“แž€แžขแžถแž…แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แžœแžถแž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž“แŸ…แž‘แžธแž“แŸแŸ‡แŸ”

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

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster