Mengapa tidak disarankan mematikan komputer "secara brutal" (saklar daya)? [duplikat]

13

Sekarang dalam pengetahuan umum bahwa seseorang seharusnya tidak mematikan komputer menggunakan saklar daya. Tetapi mengapa demikian? Apakah ini mitos yang melekat pada arsitektur masa lalu?

Apakah ini semata-mata untuk mencegah korupsi data yang sedang ditulis pada saat ditutup (bonus: bagaimana tepatnya bisa rusak?)? Saya cukup yakin tips membaca hard drive tidak lagi crash pada disk saat dimatikan (atau saya akan keluar dari HDD sekarang).

Lebih tepatnya, apakah daya memutar komputer dengan sakelar daya membuatnya lebih cepat aus atau bahkan menjadi rusak dengan cara apa pun, dan mengapa (hanya perangkat keras)?

Tuan Mystère
sumber
2
Untuk perangkat konsumen, sebenarnya sebaliknya: dengan MS-DOS Anda bisa menarik steker; ketika Windows mengambil alih, Anda harus belajar mematikan dengan benar.
SSD mungkin merupakan masalah yang mirip dengan HDD. Mereka menulis dengan menghapus data dalam blok besar dan menulis ulang data baru, jadi jika operasi itu tidak selesai untuk blok akan ada korupsi data. O / S mungkin cukup pintar untuk pulih dari itu, tetapi itu tidak 'baik', dan akhirnya Anda mungkin memiliki kesalahan yang tidak dapat dipulihkan.
Spehro Pefhany
3
Biarkan saya tunjukkan bahwa efek samping potensial dari "cabut colokan", sementara secara teknis benar, biasanya sangat berlebihan. Saya telah "secara brutal" mematikan komputer saya berkali-kali. Saya tidak pernah memiliki file yang rusak, atau masalah perangkat keras. Bahkan tidak sekali. Dalam lebih dari 15 tahun.
Thomas Bonini
5
@AndreasBonini "Saya tidak pernah memiliki file yang rusak, atau masalah perangkat keras." Hanya untuk menjadi pedant, Anda tidak pernah memiliki file rusak yang Anda perhatikan atau yang berdampak besar (misalnya, apakah Anda yakin tidak ada file log yang terus menerus ditulis atau file sementara rusak?), Atau itu tidak bisa diperbaiki ketika sistem melakukan boot terhadap ("sistem itu tidak ditutup dengan benar, memeriksa pesan kesalahan ...") atau perangkat keras yang benar - benar berhenti berfungsi (misalnya, banyak perangkat keras, dan terutama penyimpanan, telah membangun mekanisme untuk mendeteksi dan bekerja di sekitar bagian yang rusak).
Joshua Taylor
1
Sebenarnya, untuk komputer modern, saya akan meringkasnya seperti ini: dengan asumsi Anda telah menyimpan semua file Anda, kegagalan daya kemungkinan besar dapat diterima dalam kebanyakan kasus, meskipun mungkin sedikit mempersingkat kehidupan catu daya Anda. Itu masih tidak pernah merupakan ide yang baik untuk mencabut komputer Anda ketika itu memberitahu Anda untuk tidak melakukannya. Pembaruan Windows, misalnya, atau menginstal BIOS. Mengganggu proses-proses itu dapat membuat OS Anda atau bahkan perangkat keras Anda tidak dapat dioperasikan. Itu mungkin risiko terbesar yang dapat Anda ambil, dengan sengaja menginterupsi pembaruan inti.
phyrfox

Jawaban:

18

Ini murni hal perangkat lunak.

Saat Anda menulis ke disk, ia tidak langsung masuk ke disk, tetapi sebaliknya masuk ke cache, dan kemudian di beberapa waktu kemudian cache disalin ke disk yang sebenarnya. Entah ketika cache penuh dan beberapa ruang tambahan perlu dibuat di dalamnya, atau hanya ketika komputer tidak melakukan hal lain yang penting, atau itu secara khusus diperintahkan untuk.

Salah satu operasi terakhir selama shutdown adalah mem-flush cache ke disk.

Jika Anda hanya mematikan, data dalam cache itu akan hilang. Akibatnya, data Anda mungkin rusak.

Hal penting lain yang terjadi selama shutdown adalah bahwa semua proses yang berjalan diperintahkan untuk keluar, di mana titik menutup semua file yang terbuka dan membersihkan diri.

Majenko
sumber
3
Mungkin ada beberapa masalah hardware juga. Jika daya terputus, kepala baca / tulis dapat "mencelupkan" dan menggaruk permukaan disk. Juga jika komputer dipindahkan atau mengalami guncangan, kepala yang tersesat dapat merusak permukaan. Saat dimatikan dengan benar di sisi lain, kepala diparkir di tempat yang tidak dapat merusak atau rusak.
Baard Kopperud
6
@ BaardKopperud Mungkin dengan disk berusia 40 tahun, tetapi tidak yang modern. "Parkir" kepala disk tidak lagi diperlukan.
Majenko
2
@Majenko, 40 tahun sedikit berlebihan ... beberapa disk dan CD-ROM tahun 1990-an juga cenderung mengalami crash jika daya terputus juga, mungkin karena getaran / masalah redaman - Saya mengalaminya sendiri dengan 13 GB drive, dan itu tidak cantik apa yang saya lihat melihat cakram sesudahnya. Juga, saya punya masalah serupa dengan pemutar audio CD yang menghancurkan CD. Meskipun saya tidak memiliki masalah sejak itu, peralatan berusia 20 tahun tidak terlalu langka di lingkungan server atau akademi, jadi saya setuju dengan Baard untuk yang satu ini; itu tidak harus menjadi murni software hal.
8
@Majenko Kebanyakan orang.
pengasuh
2
Kembali ketika motor stepper memerintah, seseorang akan (idealnya) memarkir hard drive (menempatkan kepala di atas silinder yang tidak dapat ditulisi) sebelum mematikan (dengan saklar daya fisik). Perangkat lunak Park juga akan menghapus cache tulis. Drive servo menghilangkan kebutuhan parkir karena mereka menambahkan mekanisme tarik ketika daya hilang, sehingga Anda berhenti beberapa detik sebelum mematikan. Kepala akan menarik kembali ke silinder parkir sebelum bantalan udara memungkinkan kepala untuk mengendap ke permukaan. Itu bertahun-tahun setelah itu ketika kami benar-benar mendapat tombol power off. Secara historis itu selalu mematikan keras.
Brian Knoblauch
5

Selama boot, filesystem komputer Anda akan ditandai sebagai 'kotor'. Selama shutdown semua buffer dibersihkan ke disk dan data pada disk identik dengan apa yang seharusnya dilihat oleh Sistem Operasi. Disk kemudian ditandai 'bersih'.

Pada boot berikutnya bendera diperiksa. Ketika 'bersih', sistem Anda melakukan boot, ketika 'kotor' sistem file dipindai untuk mencari kewarasan. Memindai filesystem bisa memakan waktu lama dan itu cukup banyak mengapa Anda tidak ingin melakukan hard power off. Masalah sebenarnya muncul ketika pemindaian filesystem melempar kesalahan yang tidak dapat diperbaiki, itu berarti Anda kehilangan / merusak data. Sistem file modern menggunakan teknik yang disebut 'journalling', untuk meminimalkan kemungkinan kesalahan yang tidak dapat dipulihkan.

Menurut pendapat saya, perangkat keras tidak terlalu peduli dengan mematikan daya keras.

jippie
sumber
3

Komputer modern memiliki banyak tingkat penyimpanan data caching. Ini karena sebagian besar perangkat penyimpanan lebih cepat dengan paket yang lebih besar untuk membaca dan menulis. OS akan menahan menulis dalam RAM untuk sementara waktu. Kemudian mereka dikirim ke mungkin hard drive. Di sini mereka berada dalam penyimpanan sementara, sambil menunggu kepala hard drive untuk sampai ke sektor yang tepat. Kemudian mereka ditulis. Data dapat hilang di sepanjang rantai itu, jika suatu sistem tidak dimatikan secara bersih.


sumber
2

Ini sebenarnya masalah perangkat lunak dan perangkat keras.

Seperti yang dinyatakan sebelumnya dalam jawaban lain, arsitektur saat ini menggunakan banyak mekanisme caching, untuk mempercepat proses. Pada kehilangan daya, Anda kehilangan konten yang belum ditulis pada memori non-volatil, bahkan jika Anda pikir Anda telah menulisnya ke dalam file. Ini adalah kehilangan data. Ini juga dapat menyebabkan korupsi data, karena beberapa sistem file tidak menulis pada disk dalam urutan yang sama seperti yang dilakukan oleh program di atas , untuk meningkatkan tingkat I / O. Saya telah mendengar beberapa orang menonaktifkan out-of-order menulis dalam ext4 untuk membuat beberapa mekanisme pencegahan korupsi file perangkat lunak masih berfungsi, sementara pengembang ext4 mengatakan bahwa program tersebut harus menggunakan fsync untuk memastikan perilaku sistem file .

Ada juga masalah perangkat keras. Penurunan daya secara brutal dapat menyebabkan tegangan berlebih atau arus berlebih, sebagian besar disebabkan oleh perilaku induktif beberapa komponen listrik, sebagian besar motor. Namun demikian, perangkat keras yang dirancang dengan baik harus dapat mencegah kerusakan selanjutnya. Ini sedikit lebih mahal, tetapi, jika Anda membeli komputer dengan garansi satu tahun (bahkan opsional), atau, paling tidak, menangani pengembalian pelanggan, lebih murah bagi produsen untuk menambahkan dioda flyback daripada menangani pengembalian pelanggan. Karena itu, saya tidak khawatir di sini, kecuali dengan catu daya yang sangat murah.

Perlu dicatat bahwa alasan hari ini untuk menghindari shutdown brutal berbeda dari 30 tahun yang lalu. 30 tahun yang lalu, filesystem sangat masuk akal untuk kegagalan daya, dan Anda dapat merusak sistem file itu sendiri. Hari ini, Anda dapat merusak file, tetapi tidak seluruh sistem file, secara teori. Praktis, jika Anda menginginkan kinerja canggih, Anda akan beralih ke SSD. Solid State Drive menggunakan flash yang dikelola, biasanya Multi Level Cells NAND flash (ini berarti sel level ganda), kadang-kadang Triple Level Cells. Dengan teknologi tersebut, saat daya terputus saat menulis, Anda dapat merusak halaman yang sedang ditulis, tetapi juga satu atau dua halaman lain di blok yang sama. Pada level filesystem, modifikasi satu file dapat merusak file lain, atau bahkan data filesystem. Karena keausan, pengumpulan sampah, dan mekanisme koreksi-dan-relokasi lainnya, penulisan dapat terjadi bahkan ketika filesystem tidak memerlukan aktivitas apa pun dari SSD (ini disebut operasi latar belakang), dan karenanya korupsi tidak dapat diprediksi dari sudut pandang filesystem. Untuk menghindari kerusakan seperti itu, beberapa produsen SSD menambahkan kapasitor ke SSD mereka untuk memungkinkan untuk mengakhiri operasi yang sedang berlangsung pada flash ketika powerloss terdeteksi (ini membutuhkan sekitar 10 ms catu daya). Kartu SD dan USB flash drive memiliki kendala yang sama, tetapi tidak dapat memiliki kapasitor tersebut. beberapa produsen SSD menambahkan kapasitor ke SSD mereka untuk memungkinkan untuk mengakhiri operasi yang sedang berlangsung pada flash ketika powerloss terdeteksi (ini membutuhkan sekitar 10 ms catu daya). Kartu SD dan USB flash drive memiliki kendala yang sama, tetapi tidak dapat memiliki kapasitor tersebut. beberapa produsen SSD menambahkan kapasitor ke SSD mereka untuk memungkinkan untuk mengakhiri operasi yang sedang berlangsung pada flash ketika powerloss terdeteksi (ini membutuhkan sekitar 10 ms catu daya). Kartu SD dan USB flash drive memiliki kendala yang sama, tetapi tidak dapat memiliki kapasitor tersebut.

Singkatnya, perangkat keras yang dirancang dengan baik umumnya merupakan bukti kehilangan daya, tetapi lebih mahal. Perangkat lunak sebagian besar merupakan bukti hilangnya daya, tetapi kadang-kadang asumsi dapat dilanggar oleh evolusi perangkat lunak lain. Setiap upaya untuk membuat desain yang lebih murah, atau untuk membuat desain menjadi miniatur dapat mengurangi kemampuan untuk membuat bukti kehilangan daya desain. Sulit juga untuk mengetahui apakah komputer Anda akan selalu menolak untuk kehilangan daya secara brutal.

Jacen
sumber
Mengapa flash drive tidak dapat memiliki kapasitor seperti itu? Biaya?
Reinstate Monica - ζ--
Fitur ini perlu mempertahankan catu daya selama 10 ms untuk chip NAND dan pengontrol internal. Kapasitas muatan yang lebih tinggi membutuhkan ruang fisik yang lebih tinggi. Ini tidak cocok dengan kartu SD, ini pasti tidak cocok dengan kartu microSD. Pada USB flash drive, itu tergantung pada bentuk sebenarnya dari flash drive.
Jacen
2

Sakelar listrik menempatkan transien ke catu daya. (Transien adalah tegangan sangat tinggi, lebar sangat sempit. Bahkan, mereka didefinisikan dari empat tahun kuliah di perguruan tinggi elektronik saya sebagai tegangan tak terbatas dengan lebar tak terhingga sempit.) Jika tidak ada cukup pemfilteran, lonjakan ini dapat merusak elektronik. Sakelar mekanis juga rentan terhadap dering. Dering adalah osilasi pada saluran listrik yang dapat menyebabkan masalah serupa.

Meskipun banyak dari jawaban di atas benar tentang perangkat lunak, perangkat keras elektronik juga harus dipertimbangkan.

Richard Howes
sumber
4
Sakelar daya pada persediaan PC modern tidak secara langsung beralih daya, itu hanya mengontrol pasokan. 'Mematikan Daya Secara Paksa' (dengan menahan saklar daya cukup lama) seharusnya tidak berbeda dengan daya yang diinstruksikan CPU, mengenai transien dan sebagainya. Dan, persediaan modern yang dirancang dengan baik seharusnya tidak menghasilkan transien DC yang berbahaya bahkan jika Anda menarik steker.
greggo
@greggo Benar. Dalam hal catu daya modern (standar ATX-24), menarik steker sama persis dengan motherboard komputer yang mematikan catu daya.
AStopher
Saya kira perlu ada klarifikasi antara sakelar sakelar di PS itu sendiri dan sakelar siaga di bagian depan pc. Ya, sakelar siaga tidak memengaruhi daya secara langsung tetapi sakelar sakelar sama dengan mencabut kabel kord daya, (mungkin dengan penyaringan perangkat keras yang lebih baik di bagian mekanis kontak / pegas.) Terima kasih, Greggo, karena telah menunjukkan perbedaan itu. !
Richard Howes
0

Bukan hanya komputer! Mencabut perangkat USB seperti flash drive tanpa melakukan urutan "Safely Remove" dapat memiliki efek yang sama seperti pada beberapa PC, yaitu, bagian penulisan urutan mungkin tidak selesai dan konten flash mungkin rusak.

JJ Joseph
sumber
perangkat USB dapat (bila biasanya digunakan dan tidak menerima daya tambahan dari tempat lain selain port data) TIDAK rusak dengan menariknya dari sistem (ini adalah port yang dirancang untuk 'hot-plugable' namun Anda dapat kehilangan data jika Anda lakukan karena cache tidak ditulis ke disk
LvB
0

Jawaban yang kurang, tetapi masih terkini adalah ini: Sebuah komputer ketika pematian paksa (seperti dalam 'kabel listrik yang dilepas atau sama-sama') dapat KERUSAKAN elektronik. (ini tidak berlaku untuk saklar daya karena melakukan siklus daya 'aman' yang tidak membahayakan elektronik, hanya saja tidak bagus untuk keadaan HDD yang stabil, atau dan dapat menyebabkan kehilangan data seperti yang sudah dijawab di atas).

Lonjakan daya yang tiba-tiba yang dapat terjadi ketika daya dilepas dengan paksa (bayangkan 'spike') dapat dalam kasus yang jarang melebihi batas filter / tegangan gangguan IC. Jika ini terjadi di dalam CMOS atau Memori lain, itu dapat secara permanen merusak 'sel' atau data korup pada 'sel'. Sekarang ini adalah hal yang langka dan sebagian besar sistem memiliki tindakan balasan untuk itu (yang dapat gagal).

Situasi ini terutama benar jika motor digunakan (seperti untuk Disk Drive). Karena spin-down kadang-kadang dapat menyebabkan lonjakan pada salah satu garisnya (+ 12, + 5, -5,0). Ini tidak harus menjadi saluran listrik motor itu sendiri (karena 'berbayang').

Sinyal yang lebih rendah dari 5 volt jarang melakukan hal ini karena kebanyakan IC dirancang untuk beroperasi dengan sinyal 5 volt, meskipun ada prosesor yang menggunakan 3.3V sebagai tegangan maksnya yang paling sering masih terlindung sama dengan 5 V.

@samuel, Ya saya. tetapi tegangan operasional menunjukkan lonjakan induktif macam apa yang dapat Anda 'harapkan' (baik isolator / proteksi untuknya, atau jumlah lonjakannya)

LvB
sumber
2
merekomendasikan menggunakan "." pada keyboard Anda, sangat kecil untuk menggunakannya dan kiriman Anda sangat lucu tanpanya
peterh - Reinstate Monica
1
Tegangan operasi tidak masalah, Anda berbicara tentang lonjakan induktif, arus tinggi menjadi perhatian di sana.
Samuel
Di komputer modern tidak mungkin merusak elektronik dari 'menarik steker'.
AStopher
@cybermonkey Apa yang Anda maksud dengan modern? Adik ipar saya membunuh baik psu atau mobo dengan menekan saklar pada soket ekstensi. Komputer ini dibangun pada tahun 2005.
287352
@cybermonkey Saya khawatir itu tidak benar, Anda bisa dan itu memang terjadi. ini tidak biasa seperti 'di masa lalu' tapi itu karena desain dan perlindungan yang lebih baik. ini tidak menghilangkan masalah namun dan ada faktor lingkungan serta perangkat keras yang murah (murah) yang menyebabkan masalah ini. atau ketika suatu sistem ditarik ke batas masalah ini terjadi. Sudah dikenal di pusat data dan oleh operator server bahwa hal-hal ini penting. hanya untuk perangkat keras 'konsumen' yang kurang dimanfaatkan yang akan saya sebut 'aman' untuk dicabut. Dan itu dengan peringatan bahwa kerusakan masih bisa terjadi!
LvB