Pertanyaan Bagaimana cara komputer restart sendiri?


Bagaimana komputer dapat memulai ulang sendiri? Setelah itu mati, bagaimana ia mengatakan dirinya untuk kembali lagi? Jenis perangkat lunak apa yang dapat melakukan ini?


482
2018-06-08 19:04


asal


@ jer.salamon: Mereka sebenarnya jalan yang benar-benar berbeda. Mematikan memanggil rutin ACPI yang mengirim sinyal ke catu daya ATX yang mematikan rel tegangan utama. - Ignacio Vazquez-Abrams
Ini dikontrol melalui BIOS - jika memori berfungsi, kata kunci yang menarik adalah APM dan APIC - pst
Tidak pernah benar-benar berubah menjadi "mati" saat restart. - Moab
Tidak ada pertanyaan bodoh. Tidak, mungkin ada - tapi saya pikir yang ini sebenarnya sangat menarik. Diunggulkan sebagai pertanyaan dari kandidat minggu. - slhck
Saya pernah melakukan telework pada server jauh yang pada dasarnya hanya PC tanpa layar atau keyboard di pusat data perusahaan. Server saya tidak pernah dimatikan sama sekali, tetapi terkadang saya akan merebootnya dari akhir menggunakan WinXP Start-> TurnOffComputer-> Restart, untuk menyelesaikan ketidakstabilan yang disebabkan oleh pengujian kode saya sendiri. Saya sering bekerja pada waktu saya memilih sendiri, ketika pusat data itu tidak berawak. Dulu sangat melelahkan apa yang secara tidak sengaja saya pilih Matikan sebagai opsi terakhir, dan harus menunggu hingga dua hari kemudian bagi operator untuk pergi dan tekan di ganti untuk saya! - FumbleFingers


Jawaban:


tl; dr: status daya di komputer Anda dikendalikan oleh implementasi ACPI (konfigurasi canggih dan antarmuka daya). Pada akhir proses shutdown, sistem operasi Anda menetapkan perintah ACPI yang menunjukkan bahwa komputer harus reboot. Sebagai tanggapan, motherboard mereset semua komponen menggunakan perintah atau garis reset masing-masing, dan kemudian mengikuti proses bootstrap. Motherboard tidak pernah benar-benar mati, hanya me-reset berbagai komponen dan kemudian berperilaku seolah-olah tombol power baru saja ditekan.

Jawaban yang panjang dan bertele-tele tapi (menurut saya) lebih menarik:

Kekuatan Lunak dan cara kerjanya

Di masa lalu (baik, oke, untuk mahasiswa seperti saya tahun 90-an sudah lama), kami memiliki motherboard AT (Advanced Technology) dengan Kekuatan AT pengelolaan. Sistem daya AT sangat, sangat sederhana. Tombol power di komputer Anda adalah tombol perangkat keras (mungkin di bagian belakang casing) dan input 120vac Anda melewatinya. Secara fisik mengubah daya ke catu daya Anda dan mematikan, dan ketika saklar ini dalam posisi Off semuanya di komputer Anda benar-benar mati (ini membuat baterai CMOS sangat penting, karena tanpa itu tidak ada catu daya untuk menjaga perangkat keras jam berdetik). Karena saklar daya adalah mekanisme fisik, tidak ada perangkat lunak untuk menghidupkan dan mematikan. Windows akan menampilkan pesan "Sekarang aman untuk mematikan komputer" yang terkenal karena, meskipun semuanya diparkir dan siap untuk dimatikan, tidak mungkin bagi OS untuk benar-benar membalik tombol daya. Konfigurasi ini terkadang disebut sebagai kekuatan keras, karena itu semua perangkat keras.

Saat ini hal-hal berbeda, karena keajaiban motherboard ATX dan Daya ATX (Itu Teknologi Canggih didukung jika Anda melacak). Seiring dengan sejumlah kemajuan lainnya (mini-DIN PS / 2, siapa?), ATX dibawa kekuatan lembut. Kekuatan lunak berarti daya ke komputer dapat dikontrol oleh perangkat lunak. Ini membawa beberapa perubahan impor:

  • Daya siaga: Anda mungkin telah melihat konektor "5v SB" atau "5v standby" berlabel di pinout catu daya. Itu power supply siaga adalah garis 5v ke motherboard Anda yang selalu menyala, bahkan ketika komputer dimatikan. Inilah sebabnya mengapa penting untuk mencabut atau mematikan sakelar keras PSU (jika ada) saat memperbaiki komputer modern, karena meskipun tidak berfungsi, Anda dapat menekan SB 5V dan merusak motherboard. Ini juga mengapa baterai CMOS tidak begitu penting lagi - 5V SB digunakan untuk mengganti baterai CMOS setiap kali catu daya memiliki daya listrik, sehingga baterai CMOS hanya digunakan ketika Anda mencabut komputer sepenuhnya. Garis 5v SB penting untuk memungkinkan komponen komputer Anda (terutama BIOS dan adapter jaringan) untuk tetap menjalankan beberapa perangkat lunak sederhana bahkan ketika komputer dimatikan.
  • Kontrol catu daya cerdas. Jika Anda melihat pin untuk konektor power supply motherboard (P1), Anda akan melihat dua pin yang biasanya berlabel PS_ON dan PS_RDY. Ini berarti "power supply on" dan "power supply ready". Jika Anda suka bereksperimen, ambillah power supply tidak di komputer, pasang, dan dengan hati-hati pendekkan garis tanah (salah satu kabel hitam) ke garis PS_ON (kabel hijau). Catu daya akan tampak hidup, dengan kipas berputar. Komponen motherboard yang berjalan dari + 5v SB benar-benar menghidupkan power supply Anda dan mematikan dengan menghubungkan kekuatan ke pin PS_ON. Karena ada beberapa kapasitor dan komponen lain dalam catu daya yang memerlukan waktu untuk mengisi daya, tegangan dari output utama catu daya mungkin tidak stabil segera setelah PSU menyala. Ini adalah untuk apa pin PS_RDY digunakan, ketika logika internal power supply menentukan bahwa catu daya "siap" dan akan menyediakan daya yang stabil. Motherboard menunggu hingga PS_RDY menyala untuk melanjutkan boot.

Jadi, saklar daya Anda tidak lagi "menyala" komputer. Sebaliknya, itu terhubung ke pengendali dasar motherboard Anda, yang mendeteksi bahwa tombol telah ditekan dan menjalankan sejumlah langkah untuk menyiapkan sistem, termasuk menyalakan PS_ON sehingga daya akan tersedia. Tombol power bukan satu-satunya cara untuk memicu proses startup, perangkat di bus ekspansi Anda juga bisa melakukannya. Ini penting karena adapter jaringan ethernet Anda benar-benar tetap aktif ketika komputer Anda mati dan mencari paket yang sangat spesifik yang sering disebut sebagai "Paket ajaib." Jika mereka mendeteksi paket ini dialamatkan ke alamat MAC mereka, mereka akan memicu proses startup. Ini adalah cara kerja "Wake-on-LAN" (WoL). Jam juga dapat memulai boot (sebagian besar BIOS memungkinkan Anda untuk mengatur waktu agar komputer dapat boot setiap hari), dan perangkat USB dan FireWire dapat memicu boot, meskipun saya tidak mengetahui implementasi ini.

Memahami Kontrol Daya

Yah, saya menjelaskan hal Soft Power baik karena saya pikir itu menarik (selalu alasan utama yang saya jelaskan) dan karena itu memungkinkan Anda untuk memahami bagaimana kekuatan dan menjalankan / menonaktifkan keadaan komputer Anda semuanya dikendalikan oleh perangkat lunak. Dalam kebanyakan komputer saat ini, sistem perangkat lunak ini merupakan implementasi dari Konfigurasi Lanjut dan Antarmuka Daya, atau ACPI. ACPI adalah sistem yang terstandarisasi dan terpadu yang memungkinkan perangkat lunak untuk mengontrol sistem daya komputer Anda. Anda mungkin pernah mendengar tentang Status daya ACPI. Mekanisme dasar kontrol daya adalah "status daya" ini, sistem operasi Anda beralih melalui mode daya dengan mempersiapkan sakelar (proses mematikan / hibernasi yang terjadi sebelum daya benar-benar menyala), dan kemudian memerintahkan motherboard untuk mengubah status daya . Negara-negara kekuatan terlihat seperti ini:

  • G0: Bekerja (status "aktif" komputer Anda)
  • G1: Tidur (keadaan siaga komputer Anda, terbagi menjadi substrat S)
    • S1: daya ke CPU dan RAM tetap menyala, tetapi CPU tidak menjalankan instruksi. Perangkat periferal dimatikan.
    • S2: CPU dimatikan, RAM dipertahankan
    • S3: Semua komponen dimatikan kecuali RAM dan perangkat yang akan memicu resume (keyboard). Ketika Anda memberi tahu OS Anda untuk "Tidur", itu akan menghentikan proses dan kemudian masuk ke mode ini.
    • S4: Hibernasi. Benar-benar semuanya dimatikan. Ketika Anda memberi tahu sistem operasi Anda ke Hibernate, itu berhenti proses, menyimpan isi RAM ke disk, dan kemudian memasuki mode ini.
  • G2: Soft Off. ini adalah kondisi "off" komputer Anda. Daya dimatikan untuk semua kecuali perangkat yang dapat memicu boot.
  • G3: Matikan mekanik.

Bagaimana reset sebenarnya terjadi

Anda akan melihat bahwa reboot bukan salah satu dari status ini. Jadi apa yang sebenarnya terjadi ketika komputer Anda saat reboot? Jawabannya mungkin mengejutkan, karena dari perspektif manajemen kekuasaan itu hampir tidak ada. Ada perintah reset ACPI. Saat Anda memberi tahu sistem operasi untuk melakukan reboot, ia akan mengikuti proses normal shutdown-nya (menghentikan semua proses Anda, melakukan sedikit perawatan, turun dari sistem file Anda, dll), dan kemudian sebagai langkah terakhir, daripada mengirim mesin ke status daya G2 (seperti jika Anda hanya mengatakannya ke Shut Down) itu mengatur perintah Reset. Ini biasanya disebut sebagai "Register ulang", karena seperti kebanyakan antarmuka ACPI, itu hanya alamat yang harus ditulis nilai tertentu agar dapat meminta pengaturan ulang. Saya akan mengutip spesifikasi 2.0 tentang apa yang dilakukannya:

Mekanisme reset ACPI opsional menentukan mekanisme standar yang menyediakan reset sistem lengkap. Ketika diimplementasikan, mekanisme ini harus mengatur ulang seluruh sistem. Ini termasuk prosesor, logika inti, semua bus, dan semua periferal. Dari perspektif OSPM, menegaskan mekanisme reset adalah ekuivalen logis dengan tenaga yang menggerakkan mesin. Setelah mendapatkan kontrol setelah reset, OSPM akan melakukan tindakan dengan cara seperti booting dingin.

Jadi, ketika register ulang diatur, beberapa hal terjadi secara berurutan.

  • Semua logika diatur ulang. Ini berarti mengirim perintah reset ke berbagai bit perangkat keras termasuk CPU, pengendali memori, pengendali perangkat, dll. Dalam banyak kasus, ini berarti menerangi kawat RST fisik, seperti yang ditunjukkan AndrejaKo di atas.
  • Komputer kemudian bootstrapped. Ini adalah bagian "melakukan tindakan dengan cara seperti ke boot dingin". Motherboard melakukan langkah yang sama seperti jika power supply baru saja siap setelah tombol daya ditekan.

Efek akhir dari dua langkah ini (yang benar-benar terurai menjadi lebih banyak langkah) adalah bahwa ia melihat ke segala sesuatu seperti komputer yang baru saja di-boot, tetapi kekuatannya benar-benar ada sepanjang waktu. Ini berarti lebih sedikit waktu yang diperlukan untuk mematikan dan memulai (karena Anda tidak harus menunggu catu daya menjadi siap), dan yang lebih penting memungkinkan bootup yang akan dimulai oleh sistem operasi shutdown. Ini berarti bahwa pemicu startup lain tidak perlu digunakan (WoL dll), dan memungkinkan Anda untuk menggunakan Reboot sebagai cara yang efektif untuk mengatur ulang sistem dari jarak jauh, ketika Anda tidak memiliki cara untuk memicu boot.


Itu jawaban yang panjang. Tapi, hei, semoga Anda tahu lebih banyak tentang manajemen daya komputer sekarang. Saya tentu belajar beberapa hal yang meneliti hal ini.


595
2018-06-08 21:06



+1. Jawaban yang sangat informatif & berguna. Hanya satu poin - PS_ON aktif rendah yaitu beralih ke 0V daripada + 5VSB untuk mengaktifkan output utama. - MikeJ-UK
Untuk perangkat USB yang memicu boot, beberapa BIOS memiliki opsi untuk membangunkan komputer dengan mengklik dua kali atau menekan tombol. Juga, beberapa keyboard Mac memiliki tombol Power (tradisi yang terus berjalan sampai ke aslinya). - Stuart P. Bentley
Jawaban yang bagus, saya tentu belajar banyak. Satu pertanyaan tetap, meskipun: dari sudut pandang motherboard, apa perbedaan antara negara-negara S4 dan G2? Menyimpan RAM ke disk dilakukan oleh OS, sehingga S4 terdengar seperti "soft off" untuk perangkat keras. - EMP
Saya percaya S4 secara fungsional setara dengan G2, tetapi perbedaannya disimpan. Beberapa BIOS muncul untuk melakukan "POST cepat" ketika memulai dari S4 tetapi POST penuh ketika memulai dari G2. Saya tidak berpikir ada alasan untuk ini, meskipun, selain itu orang ingin resume S4 ​​menjadi cepat. - jcrawfordor
Itu sebenarnya agak sederhana; ada banyak cara non-ACPI untuk mereboot komputer, dan terkadang ACPI saja tidak berfungsi: superuser.com/questions/294681/… - Tobu


Inilah titik awal:

Keripik biasanya tidak mati dan kemudian hidupkan. Sebaliknya, ada garis reset yang akan membawa prosesor dalam keadaan yang disebut ulang ketika biasanya semua memori dibersihkan dan prosesor terlihat seperti baru saja dihidupkan. Sementara pin itu dipegang tinggi (atau rendah, tergantung pada prosesor), prosesor di reset. Setelah pin dilepaskan, pin akan terus boot secara normal, sama seperti ketika dinyalakan untuk pertama kalinya. Intinya adalah tidak ada pemadaman listrik.

Jadi bagaimana skala ini ke sistem yang lebih besar seperti PC modern? Yah komputer modern terbuat dari komputer yang kadang-kadang terbuat dari komputer itu sendiri. Jadi ketika Anda mengatur komputer untuk mereset, "komputer" yang membuat komputer akan mulai menyimpan statusnya (jika reset diatur), atau hanya pin reset mereka ditarik.

Beberapa prosesor dan mikrokontroler (yang merupakan komputer mandiri miniatur, biasanya 20 tahun di belakang komputer desktop modern) dapat mereset sendiri menggunakan switch internal. Seperti yang saya katakan, setelah sinyal yang menghasilkan reset hilang, komputer akan mulai bekerja. Jadi premis dalam pertanyaan itu tidak sepenuhnya benar. Komputer tidak tahu kapan harus menyalakan. Tahu kapan perlu "off" atau di reset dan ketika sinyal yang menyimpannya di sana hilang, itu akan menyala.

Perilaku ini mungkin terlihat aneh pada komputer modern yang dapat diatur untuk menyala pada waktu tertentu atau melalui jaringan dan seterusnya. Seperti yang saya katakan komputer terbuat dari komputer. Jadi sementara prosesor utama mungkin mati, mungkin ada banyak chip dan mikrokontroler lain di dalamnya. Kasus yang paling jelas adalah jam real-time yang sering bertenaga baterai. Ini kemudian dapat menyalakan chip lain yang akan menyalakan chip lain dan reaksi berantai berjalan sampai seluruh komputer menyala. Pada komputer hari ini, ada garis PSU yang disebut +5 VDC Standby Voltage. Ini menyediakan sekitar 50 mW daya ke berbagai perangkat yang aktif ketika komputer "mati".

Sedikit hal sepele: Setel ulang pin pada prosesor Intel 386 EX adalah pin nomor 110.

386EX datasheet figure 2

Pada Intel i7-900 adalah nomor telepon AL39.

Saya berharap bahwa seseorang akan dapat memberikan jawaban yang akan menjelaskan bagaimana hal-hal bekerja dari sudut pandang tingkat tinggi, karena itu sistem yang cukup rumit.


79
2018-06-08 19:39



Wow, jawaban yang menyeluruh. - Seth Carnegie
@Seth Carnegie Tidak begitu hebat. Saya baru saja menyentuh hal-hal tingkat rendah yang benar untuk sebagian besar komputer, dari yang ada di kulkas ke PC. Saya bahkan tidak menyebutkan ACPI, APM dan sistem daya modern lainnya atau bagaimana pada PC lama Intel 8042 mikrokontroler yang mengendalikan keyboard dapat mengatur ulang prosesor, bagaimana POST bekerja, mereset vektor dan banyak hal lainnya. - AndrejaKo
@netvope Terlalu banyak membayangkan, menurutku. Anda mungkin memiliki setidaknya satu di mouse Anda, satu di keyboard, lebih dari 10 untuk bagian paling dasar dari motherboard (bahkan jika kita memperhitungkan sangat terintegrasi "chipset"), mungkin satu di unit catu daya, Setidaknya satu di setiap drive (lebih mungkin 2-3), beberapa di setiap kartu ekspansi ... Monitor adalah bisnis yang serius juga dan printer saya sekarang memiliki lebih banyak RAM daripada komputer desktop pertama saya. - AndrejaKo
Berbicara tentang memori, cache beberapa HDD dan CPU baru sekarang lebih besar dari RAM komputer pertama yang saya gunakan. Kami sekarang dapat menjalankan Windows 95 sepenuhnya dalam cache L2 dan menjaga seluruh partisi sistem dalam cache drive! - netvope


Entri blog ini menjelaskan bagaimana Linux memicu reboot.

Kutipan:

Linux memiliki banyak cara berbeda untuk me-reset x86. Beberapa dari mereka hanya 32-bit dan jadi saya hanya akan mengabaikannya karena jujur ​​saja apa yang Anda lakukan dengan hidup Anda. Juga, mereka mengerikan. Jadi, itu memberi kita lima dari mereka.

  • kbd - reboot melalui pengontrol keyboard. PC IBM asli memiliki garis reset CPU yang diikat ke keyboard controller. Menulis nilai ajaib yang sesuai akan merusak saluran dan me-reset mesin. Ini semua sangat mudah, kecuali fakta bahwa mesin modern tidak memiliki pengendali keyboard (sebenarnya bagian dari pengontrol tertanam) dan bahkan mesin yang lebih modern bahkan tidak berpura-pura memiliki pengontrol keyboard. Sekarang, pengendali yang tertanam menjalankan perangkat lunak. Dan, seperti yang kita semua tahu, perangkat lunak itu mengerikan. Tapi, lebih buruk lagi, perangkat lunak pada kontroler tertanam telah ditulis oleh penulis BIOS. Jadi jelas saja kepura-puraan bahwa ini pernah berhasil adalah semacam fiksi yang rumit. Beberapa mesin sangat pemilih tentang perangkat keras berada dalam keadaan yang tepat bahwa Windows akan memprogram. Beberapa mesin bekerja 9 kali dari 10 dan kemudian mengunci karena masalah waktu aneh. Dan yang lainnya sama sekali tidak berfungsi. Hore!

  • tripel - mencoba menghasilkan kesalahan tripel. Ini dilakukan dengan memuat tabel deskriptor interupsi kosong dan kemudian memanggil int (3). Interupsi gagal (tidak ada IDT), kesalahan pengendali gagal (tidak ada IDT) dan CPU memasuki kondisi yang seharusnya, secara teori, kemudian memicu reset. Kecuali sepertinya tidak ada persyaratan bahwa ini terjadi dan itu tidak berfungsi pada banyak mesin.

  • pci - tidak benar-benar pci. Akses ruang konfigurasi PCI tradisional dicapai dengan menulis nilai 32 bit ke io port 0xcf8 untuk mengidentifikasi bus, perangkat, fungsi dan konfigurasi register. Port 0xcfc kemudian berisi daftar yang dimaksud. Tetapi jika Anda menulis sepasang nilai ajaib yang sesuai ke 0xcf9, mesin akan reboot. Spektakuler! Dan tidak terstandardisasi dengan cara apa pun (tentu saja bukan bagian dari spesifikasi PCI), sehingga chipset yang berbeda mungkin memiliki persyaratan yang berbeda. Booo.

  • efi - Layanan runtime EFI menyediakan titik masuk untuk me-reboot mesin. Itu biasanya bahkan berhasil! Selama layanan runtime EFI bekerja sama sekali, yang mungkin peregangan.

  • acpi - Versi terbaru dari spesifikasi ACPI memungkinkan Anda memberikan alamat (biasanya memori atau ruang sistem IO) dan nilai untuk ditulis di sana. Idenya adalah menulis nilai ke alamat mereset sistem. Ternyata melakukannya sering gagal. Juga tidak mungkin untuk merepresentasikan metode reboot PCI melalui ACPI, karena metode reboot PCI membutuhkan sepasang nilai dan ACPI hanya memberi Anda satu.


27
2018-06-08 23:11



Ini relevan, tetapi jawabannya akan lebih berguna jika Anda memasukkan kutipan dari info halaman lain di sini. - calvinf
tl; dr ada banyak cara untuk reboot; beberapa papan rusak cukup parah pura-pura menjadi jendela, heuristik yang melibatkan beberapa upaya dan tidur sedikit, adalah satu-satunya cara. - Tobu


Ini mengulangi lokasi I / O yang menarik garis data rendah yang memberitahu CPU bahwa ia harus menghentikan apa pun yang dilakukannya dan mulai menjalankan kode dari lokasi tertentu di BIOS.


10
2017-07-28 20:19



... dan lokasi itu ditentukan dalam kode yang dilewatkan ke panggilan sistem reboot? - Knight Samar
@Knight Samar: Tidak; Lokasi I / O umumnya merupakan konstanta arsitektur, yang diketahui oleh kernel. Anda dapat melihat ini mis. dalam kode reboot Linux, seperti arch / x86 / kernel / reboot.c. - sleske
apakah ada yang memiliki sumber daya yang baik untuk membaca lebih lanjut tentang hal itu? - matthias krull
@ mugen.kenichi dan semuanya, seorang teman memberi saya ini untuk merujuk howstuffworks.com/bios.htm/printable - Knight Samar
saya menyarankan superuser.com/a/347115/38062 . - JdeBP


Kembali di masa lalu sebelum manajemen daya, komputer masih bisa restart sendiri, tentu saja. (Ada yang ingat ketika program yang dibekukan berarti Anda harus menggunakan Ctrl + Alt + Delete untuk mem-boot ulang komputer?)

Pada 486 saya yang lama, perintah bahasa assembly JMP FFFF:0000 (Yaitu, atur Pointer Instruksi CPU ke alamat tersebut) akan menyebabkan seluruh komputer untuk me-restart. Dengan kata lain, FFFF: 0000 alamat lokasi di BIOS yang memiliki instruksi untuk apa yang harus dilakukan komputer saat pertama kali dijalankan. Saya menduga Reset Pin yang dijelaskan oleh jawaban AndrejaKo, atau tombol reset pada hari-hari pra-kuasa-manajemen, juga akan memaksa Instruction Pointer ke alamat yang sama.

SEBUAH Pencarian Google untuk JMP FFFF: 0000 mengungkapkan banyak halaman menarik tentang ini.


10
2018-06-12 14:38



Anda juga perlu menulis nilai tertentu ke 0040: 0072 untuk menentukan apakah itu sebuah boot dingin (0x0000) atau hangat (0x1234). - Synetech


Ada juga yang bernama pengawas. Perangkat ini berfungsi sebagai saklar mati-manusia. Komputer harus memberi sinyal ke pengawas setiap satu menit bahwa itu masih hidup. Ketika komputer macet, mis. dengan berlari ke loop tanpa akhir, itu akan gagal sinyal ke pengawas itu masih berjalan sebagaimana dimaksud, pada saat mana pengawas akan melakukan penyetelan ulang perangkat keras. Ini ditunjukkan dalam serial tv populer dari terminator, di mana robot tersingkir oleh gelombang listrik tegangan tinggi. itu akan mereset sendiri dalam 2 menit.


9
2018-06-09 14:24



Ini benar, tetapi tidak benar-benar menjawab pertanyaan itu. - sleske
Apakah ada pengawas yang benar-benar akan me-restart seluruh komputer? Saya tahu bahwa mereka kadang-kadang digunakan untuk berbagai mikrokontroler di dalam komputer, tetapi apakah ada satu di seluruh tingkat komputer? Pengalaman pribadi saya membuat saya mengatakan tidak, tetapi beberapa bukti untuk atau melawan akan diterima. - AndrejaKo
@AndrejaKo: Saya dulu bekerja untuk perusahaan yang membuat server komunikasi (pada dasarnya server blade dengan modem yang terhubung dengan mereka). Mereka memiliki pengawas waktu yang terhubung ke pin reset pada motherboard. Penghitung waktu itu terbentur secara berkala oleh utilitas latar belakang yang berjalan di motherboard, jadi jika prosesor digantung, pengawas akan menekan tombol reset. Itu diikat ke sirkuit yang membuat saluran telepon sibuk ketika motherboard reboot. - Robert Harvey


Kembali pada PC-1 IBM lama pengendali keyboard, anehnya, ditangani reboot. IBM menanam mikroprosesor kecil untuk menangani keyboard, dan memiliki beberapa jalur I / O cadangan, sehingga mereka menggunakan salah satu jalur untuk menggerakkan garis reset dari CPU utama. Perintah yang dikirim ke pengontrol keyboard akan menyebabkan CPU direset seolah-olah daya baru saja dinyalakan.

Saya menduga tradisi ini terus berlanjut ke era "AT", dan mungkin ada sisa-sisa yang tersisa di ACPI hari ini.

Ditambahkan: Ada detail menarik tentang skema ulang di atas. Selama urutan boot awal kode mencari pola tertentu dalam RAM yang mungkin telah diatur oleh kode mengeksekusi sebelumnya. Jika kode ini ada, beberapa diagnostik POST (power-on self-test) dilewatkan. Pola itu hanya akan ada pada boot "hangat".


4
2017-12-03 04:47