Mengapa sistem operasi memiliki opsi untuk mematikan? [duplikat]

10

Layar shutdown Windows 98
(sumber: ytimg.com )

Saya ingin tahu mengapa sistem operasi mengharuskan kami untuk mematikan menggunakan opsi. Mengapa saya tidak bisa hanya mematikan dengan sakelar mekanis?

Apakah saya akan merusak perangkat keras atau merusak data saya jika saya terus-menerus mematikan komputer tanpa menggunakan opsi OS?

Untuk memperjelas: Saya ingin menggunakan Intel Compute Stick sebagai media player yang terhubung ke proyektor, sehingga akan dikendalikan oleh sakelar listrik. Komputer hanya akan menjalankan video dan tidak akan menginstal program. Komputer tidak akan memiliki akses internet.

IAmJulianAcosta
sumber
30
Apa yang dikatakan penelitian Anda? Pencarian Google cepat untuk "mengapa saya perlu mematikan komputer saya alih-alih menarik daya" akan menemukan banyak jawaban ... Dan ya, Anda dapat merusak perangkat keras Anda, tetapi risikonya rendah, tetapi pasti ada peluang merusak atau kehilangan data.
acejavelin
1
Jika perangkat keras Anda mendukung ini dan sistem yang Anda gunakan benar - benar mengakses penyimpanan apa pun dalam mode hanya baca dan sistem tidak mengoperasikan perangkat keras yang harus dimatikan dengan beberapa prosedur (mis. Beberapa kartu TV tuner, modem, ...) , maka tidak ada masalah hanya memotong daya. Sistem seperti itu ... agak sulit ditemukan.
Daniel Jour
1
Perangkat keras yang lebih lama kurang toleran terhadap kehilangan daya secara tiba-tiba. Tetapi perangkat keras modern toleran terhadap kehilangan daya secara tiba-tiba. Sistem desktop cenderung membutuhkan pematian yang tertib. Sistem tertanam dapat toleran terhadap kehilangan daya secara tiba-tiba. Linux Tertanam sering menggunakan sistem file JFFS2 dan UBIFS; "Baik UBI (lihat di sini ) dan UBIFS toleran terhadap pemadaman listrik, dan mereka dirancang dengan mempertimbangkan properti ini." . Perhatikan bahwa ini adalah sistem file read / writeable.
serbuk gergaji
1
@ Deboo itu (masih) identik di XP jika Anda menjalankannya pada sistem tanpa catu daya ATX. Saya dulu menggunakan beberapa test kit dengan PC pro XP standar bawaan.
Chris H

Jawaban:

41

Itu tergantung pada apa yang terjadi dengan sistem pada saat Anda memilih untuk tiba-tiba memotong daya. Jika sistem sibuk menulis data penting dan Anda mematikan daya, Anda berpotensi merusak data, atau merusak OS. Banyak hal terjadi yang sebenarnya tidak Anda lihat. Anda sebagian besar harus khawatir tentang sesuatu yang berhubungan dengan kerusakan perangkat lunak ketika Anda melakukan hard reset. Sejauh perangkat kerasnya, Anda seharusnya tidak mengalami masalah. Amit-amit

Anda tidak ingin membiasakan diri dengan melewati metode mematikan dan memotong daya. Ini hanya masalah waktu sampai sesuatu menjadi rusak dan menyebabkan Anda harus menginstal ulang OS.

Dalam beberapa kasus, hard reset adalah satu-satunya pilihan yang Anda miliki. Jika komputer Anda terkunci dan Anda tidak dapat melakukannya untuk melakukan apa saja pilihan lain apa yang ada?

Asal layar ini adalah dari Windows 9X Systems, di mana pesan ditampilkan ketika Windows telah berhasil dimatikan untuk MS-DOS tetapi tidak dikonfigurasi untuk kembali ke prompt (COMMAND.COM) lagi. Pada sistem dengan dukungan ACPI yang tepat dan catu daya ATX, PC mungkin akan mati.

Dalam situasi apa pun di mana Anda akan melakukan reset keras, pastikan untuk berteriak " Saya adalah penguasa listrik !!! di PC Anda. Tunjukkan siapa bosnya.

DrZoo
sumber
26
Baris terakhir ... sayangnya itu tidak memiliki perasaan yang sama ketika itu adalah mesin virtual
Burgi
14
@ Burgi " Saya adalah baron listrik !!! * " - diperbaiki?
corsiKa
5
@ Burgi " Saya adalah raja bit !!! "
hBy2Py
5
Mengenai perangkat keras, pemahaman saya adalah bahwa menarik daya akan menyebabkan hard drive melakukan "taman darurat". Walaupun ini biasanya mencegah drive dari kerusakan, hard drive dinilai untuk jumlah yang lebih kecil dari taman darurat daripada taman biasa (diperintahkan), sehingga drive mungkin aus lebih cepat.
Nate Eldredge
6
Pada sistem file modern yang dijurnal, Anda tidak perlu menginstal ulang OS dalam keadaan normal. Tapi Anda bisa kehilangan banyak data aplikasi yang Anda pikir Anda simpan ke disk.
Kevin
27

Komputer dirancang untuk menjadi cepat. Itu mungkin termasuk curang. Misalnya, ketika komputer seharusnya menulis data, komputer mungkin menyimpan data dalam RAM alih-alih menulisnya ke hard drive. Ini dilakukan karena RAM jauh lebih cepat.

Mematikan memberitahu komputer untuk menyiram buffer, yang berarti berhenti menyimpan barang di RAM, dan mempersiapkan sistem untuk kehilangan daya listrik. Jika Anda benar-benar kehilangan daya listrik sebelum memastikan bahwa semua data tersebut ditulis dengan benar, Anda dapat kehilangan data.

Sebagian detail struktur volume sistem berkas ditangani oleh kode penanganan sistem berkas sistem operasi (kadang-kadang disebut driver sistem berkas). Seringkali, sistem file menggunakan tabel. (Secara visual, Anda dapat memikirkan grafik seperti ini.) Bayangkan jika Anda menulis tabel perkalian, dan bunyinya:
2 4 6 8 10 12 14 1

Pertama-tama, setiap kolom hanya memiliki satu baris. Masalah penggandaan seharusnya memiliki tiga bagian (dua angka yang dikalikan (multiplicand dan multiplier) dan sebuah jawaban (produk)). Di sini yang kita lihat hanyalah sekelompok angka tunggal, jadi kita bahkan tidak memiliki satu contoh lengkap dari produk multiplikasi. Apa yang kita miliki tidak berguna.

Kedua, apa yang kita miliki sebenarnya lebih buruk daripada tidak berguna. Kadang-kadang, satu-satunya hal yang lebih buruk daripada kehilangan informasi (menyebabkan Anda tidak membuat kemajuan saat Anda mengetahui informasi yang Anda butuhkan) adalah informasi menyesatkan yang menyebabkan Anda menghabiskan sumber daya untuk melanjutkan ke arah yang tidak berguna dan buruk. Dalam hal ini, Anda memiliki data yang tidak valid menjelang akhir: satu bukan 16. (Idenya di sini adalah bahwa bagan berhenti diperbarui tiba-tiba, sebelum seluruh angka "16" dicatat dengan benar.) Jika Anda tidak membiarkan komputer menyelesaikan grafiknya dengan benar, maka itu dapat menyebabkan kebingungan. (Jika komputer diberitahu untuk memperbarui beberapa data, dan itu harus menulis ke posisi nomor enam belas ... Anda tidak ingin itu menulis ke posisi nomor satu!) Komputer bergantung pada tabel yang sangat mirip dengan ini.

Contoh lain adalah memori virtual. Jika komputer kehabisan RAM, ia dapat menggunakan ruang pada hard drive untuk melacak detail. Misalnya, mungkin Anda memiliki dokumen lima puluh halaman dalam pengolah kata. Komputer melacak fakta bahwa pengolah kata terbuka, dan melacak 12 halaman pertama, tetapi 38 halaman sisanya disimpan pada hard drive, dalam apa yang disebut "memori virtual". Saat Anda mematikan, komputer akan melalui seluruh proses mematikan program, yang akan membebaskan beberapa RAM, dan akhirnya menggunakan "memori virtual" untuk menangani pengolah kata dengan benar. Jika Anda kehilangan daya listrik, maka pengolah kata berhenti berjalan (karena semuanya berhenti). Kemudian, saat komputer dinyalakan, itu melihat memori virtual memiliki data dari 38 halaman dokumen yang dibuka di pengolah kata. Komputer bahkan tidak tahu bahwa data itu digunakan oleh pengolah kata. Mematikan memungkinkan hal-hal seperti itu diatasi sementara komputer dapat melacak detail ini.

Dibandingkan dengan Windows 95, MS-DOS lebih tangguh (kurang rentan terhadap masalah) ketika tiba-tiba terjadi pemadaman listrik. (Beberapa peningkatan kerentanan itu adalah karena kemampuan Windows 95 untuk melakukan banyak tugas dan menangani memori virtual.) Jadi kerentanan komputer terhadap shutdown yang tidak valid, atau bahkan jika prosedur shutdown resmi diperlukan sama sekali, didasarkan pada sistem operasi mana yang sedang digunakan. Sebagian besar sistem operasi modern dirancang untuk bergantung pada kebutuhan penutupan yang tepat, karena sistem operasi lebih mudah untuk dirancang dengan persyaratan seperti itu. Tidak ada alasan yang harus menjadi kasus, dan pada kenyataannya, beberapa sistem operasi nanobsd memungkinkan seseorang untuk mematikannya. Sebagai salah satu contoh, sebuah halaman di nanobsd mengatakan "Semuanya hanya-baca saat run-time - Aman untuk menarik steker listrik."Halaman muka resflash memiliki poin utama yang mengatakan "Daya dapat hilang dengan aman kapan saja." Jadi tidak ada alasan mengapa shutdown mutlak harus menjadi persyaratan yang diberlakukan oleh perancang sistem operasi ketika mereka membuat desain sistem operasi. Mematikan hanyalah persyaratan yang cukup umum.

TOOGAM
sumber
1
"Lalu, ketika komputer dinyalakan, ia melihat memori virtual memiliki data dari 38 halaman dokumen yang dibuka di pengolah kata." - tidak akan peduli, itu akan memperlakukan ini sebagai data sampah dan tidak menggunakannya sampai ditimpa. (Karena apa yang Anda harapkan ada di sana? Tidak akan pernah ada sesuatu yang berguna)
user253751
1
"Tidak akan peduli, itu akan memperlakukan ini sebagai sampah" - benar. Itulah sebabnya kalimat saya berikutnya (setelah yang Anda kutip) mengatakan, "Komputer bahkan tidak tahu bahwa data sedang digunakan oleh pengolah kata." Itu kehilangan jejak fakta itu.
TOOGAM
Maksud saya adalah bahwa itu tidak menyebabkan masalah.
user253751
" Sebagian besar sistem operasi modern dirancang ... lebih mudah dirancang dengan persyaratan seperti itu ". IMO ini adalah penyederhanaan yang berlebihan. Kita dapat menghindari shutdown, tetapi dengan biaya yang sangat mahal . Tidak ada caching, tidak ada cara untuk proses latar belakang (server, manajer cadangan, pembaruan) untuk diberitahu. Perangkat keras modern juga tidak lagi digunakan dengan PIO tetapi dengan DMA , Anda memberi tahu HDD dan NIC untuk membaca data dari RAM dan mereka memberi tahu Anda setelah selesai. Bagaimana jika daya hilang di antara HDD menulis dari cache ke piringnya? Biarkan OS memutuskan berapa banyak untuk menunda shutdown. Itu tahu lebih baik.
Margaret Bloom
5

Pada zaman MS-DOS, mematikan daya ke komputer umumnya akan menyebabkan hilangnya semua informasi yang disimpan dalam RAM tetapi tidak disimpan dalam disk, tetapi tidak akan memengaruhi informasi yang tersimpan dalam disk. Tindakan menyimpan informasi pada disk, bagaimanapun, akan sering membuat informasi lama tidak terbaca setidaknya sedikit sebelum versi baru dapat dibaca. Hilangnya kekuatan antara waktu versi lama dihancurkan dan versi baru yang ditulis akan meninggalkan satu tanpa versi informasi. Jika informasi yang dimaksud adalah struktur direktori, maka sebagian besar disk tidak dapat diakses.

Jika seseorang menggunakan perangkat lunak yang menulis informasi ke disk hanya ketika secara eksplisit diminta untuk melakukannya, maka asalkan seseorang tidak mematikan daya segera setelah meminta sistem untuk menulis ke disk, seseorang tidak boleh secara tidak sengaja mengacaukan informasi pada disk. Sistem modern, bagaimanapun, sering memiliki satu atau lebih tugas yang dapat mulai menulis informasi ke disk pada waktu yang tidak selalu diharapkan pengguna. Jika sistem mulai menulis beberapa informasi tepat sebelum pengguna mematikan daya, itu dapat menyebabkan kerusakan disk dan kehilangan data.

Bagian dari tujuan memilih "shutdown" adalah untuk menghilangkan kemungkinan sistem secara spontan memulai tindakan apa pun yang menulis data ke disk seperti halnya pengguna akan mematikan daya. Tindakan apa pun yang tidak dipicu sebelum pesan "Anda sekarang dapat mematikan komputer" ditampilkan tidak dapat dipicu sampai setelah sistem dimulai kembali, jadi tidak ada bahaya terjadi sesuatu seperti pengguna menarik steker.

supercat
sumber
1
Bahkan di hari-hari DOS, itu adalah ide yang sangat buruk. Jika file telah diperbarui tetapi FAT belum diperbarui, maka Anda akan mendapatkan file yang rusak.
Dewi Morgan
1
@DewiMorgan: Di hari-hari DOS ada utilitas yang tersedia untuk cache write-back, tetapi setiap versi standalone dari DOS yang saya ingat bisa menggunakan cache write-through sebagai perilaku normal. Apa yang akan dilakukan orang lain untuk memberi tahu sistem yang ingin dimatikan?
supercat
3
@DewiMorgan: Saya tahu beberapa hard drive lama memiliki utilitas head-park, tetapi itu sudah cukup usang sebelum Windows 95 menggantikan DOS.
supercat
1
supercat: Nah, MS-DOS tidak melakukan caching seperti itu kecuali Anda menjalankan peranti lunak untuk melakukannya, seperti SmartDrv yang dibundel. Cara Anda memberi tahu bahwa sistem dimatikan adalah menggunakan SmartDrv/C. (Saya percaya perilaku default, terkait dengan caching tulis, berbeda antara MS-DOS 5.0 dan 6.22 ... Saya tidak ingat lagi apakah pembaruan 5.0-> 6.0 atau pembaruan yang kemudian membuat perubahan). Jika ingatan saya benar, salah satu peningkatan yang lebih baru (mulai dari 6 atau lebih baru) menyebabkan SmartDrv melakukan itu secara otomatis sebelum membiarkan Command.Com menampilkan prompt lagi, jadi aman untuk dimatikan saat diminta
TOOGAM
1
@ Supercat Seperti yang saya pahami, cache tembusan melindungi satu blok data dari korupsi selama penulisan. Itu tidak melindungi dua blok yang berbeda (FAT dan isi file) dari tidak selaras jika daya terputus antara menulis satu dan yang lainnya.
Dewi Morgan
4

Ada dua alasan utama bahwa sistem komputer perlu shutdown tertib:

Status aplikasi

Banyak aplikasi memiliki status yang harus ditulis ke penyimpanan permanen. Contoh yang jelas adalah server basis data, tetapi bahkan aplikasi yang sebagian besar dibaca seperti server Web atau NTP dapat menulis log atau statistik yang mungkin tidak dapat dipahami jika penulisan terganggu.

Dimungkinkan untuk mengatasi masalah ini jika aplikasi yang dimaksud tidak membaca atau menulis file secara langsung, tetapi melakukan operasi ini melalui mekanisme transaksional seperti menulis ke database relasional.

Struktur sistem file

Ketika sistem operasi menulis file atas nama aplikasi, menulis dapat disangga sampai disk mengejar, yang berarti bahwa penulisan aplikasi tidak perlu selesai sampai beberapa waktu sesudahnya. Mekanisme penghematan daya cenderung meningkatkan penundaan di sini, sehingga Anda memiliki pertukaran antara konsumsi energi dan keamanan data.

Sementara data sedang ditulis ke disk, ada titik-titik di mana data sistem file tidak konsisten. Implementasi sistem file modern berhati-hati untuk meminimalkan periode, tetapi mereka tidak dapat dihilangkan seluruhnya. Misalnya, ketika sebuah blok diambil dari daftar gratis, ada jendela pendek di mana ia tidak dialokasikan maupun gratis. Masalah konsistensi ini adalah mengapa setelah shutdown yang tidak bersih, sebuah OS akan perlu melakukan pemeriksaan sistem file pada boot berikutnya, untuk memeriksa semua blok dan memastikan mereka dicatat dengan benar.

Sistem file jurnal meringankan hal ini sampai batas tertentu, dengan merekam perubahan yang dimaksudkan ke dalam log sebelum benar-benar menjalankannya. Kemudian pemeriksaan filesystem dapat berjalan lebih cepat, dengan memutar ulang semua entri log lengkap dan membuang yang tidak lengkap.

Masalah konsistensi Filesystem dapat dihindari dengan tidak memiliki disk lokal, dan NFS-mount root filesystem, tetapi hilangnya cache menulis masih menjadi masalah untuk sistem ini. Satu-satunya sistem yang saya ingin matikan dengan keras tanpa shutdown adalah mereka yang memiliki disk terpasang read-only (sebagian besar sistem tertanam seperti pemutar musik Empeg Car saya, tetapi juga beberapa terminal disk yang lebih sedikit menjelajah web yang saya miliki. sekitar untuk pengunjung).

TL; DR

Data yang ditulis ke penyimpanan permanen harus diselesaikan sebelum dimatikan. Jika Anda tidak memiliki penyimpanan yang dapat ditulisi, maka mengeluarkan daya berisiko rendah.

Toby Speight
sumber
-1

karena jika beberapa file deskriptor terbuka, itu dapat merusak file penting dan membiarkan OS mati

Ricardo Luna
sumber
15
Selamat datang di Pengguna Super. Kesalahan umum yang dilakukan pengguna baru adalah menjawab tanpa rincian tentang bagaimana sebenarnya menyelesaikan masalah. Jawaban harus rinci dan termasuk referensi, sesuai kebutuhan. Harap luangkan beberapa menit untuk mengedit jawaban Anda untuk memasukkan perincian mengapa jawaban Anda valid. Jika Anda butuh bantuan, baca Bagaimana cara saya menulis jawaban yang baik? .
CharlieRB