But (komputer)

Dalam komputer, but adalah proses memulakan sistem pengendalian apabila pengguna memulakan sistem komputer. Urutan but ialah satu set operasi yang dilaksanakan komputer apabila dimulakan dan melancarkan sistem pengendalian.

Proses but 
Kebanyakan sistem komputer hanya boleh menjalankan kod yang dijumpai dalam ingatan (ROM atau RAM). Sistem operasi atau sistem pengendalian moden disimpan dalam cakera keras, kadang-kadang LiveCD, pemacu kilat USB, atau peranti simpanan tidak-meruap lain. Apabila komputer dimulakan, ia tidak mempunyai sistem pengendalian di dalam ingatan. Perkakasan komputer sendiri tidak dapat melaksanakan tindakan kompleks seperti melancarkan program dari cakera, kelihatan seperti satu paradoks: untuk melancarkan sistem operasi ke dalam ingatan, sistem operasi perlu sedia ada dalam ingatan. Penyelesaiannya ialah menggunakan program komputer kecil, yang dipanggil pelancar but. Tugasnya ialah melancarkan program lain ke dalam sistem operasi. Selalunya, pelancar but berperingkat digunakan hinggalah pelancar but terakhir yang paling kompleks melancarkan sistem operasi.

Komputer boleh atur cara pada peringkat awal mempunyai baris-baris suis togol di panel depan untuk membenarkan operator memasukkan secara manual arahan but binari ke dalam ingatan sebelum memberi kawalan kepada CPU. Pelancar but kemudiannya membaca sistem operasi dari medium luaran seperti pita tebuk, kad tebuk atau pemacu cakera lama tetap.

Kod himpunan-pseudo untuk pelancar but boleh semudah lapan arahan berikut:

 0: set daftar P kepada 8
 1: semak kesediaan pembaca pita tebuk
 2: jika tidak sedia, lompat ke 1
 3: baca satu bait dari pita tebuk dan hantar ke penumpuk
 4: jika akhir pita, lompat ke 8
 5: simpan penumpuk ke alamat daftar P
 6: naikkan daftar p
 7: lompat ke 1

Satu contoh yang berkaitan berasaskan kepada pelancar untuk minikomputer Nicolet Instrument Corporation pada tahun 1970. Perhatikan bait dari pelancar peringkat kedua dibaca dari pita tebuk dalam susunan terbalik.

 0: set daftar P kepada 106
 1: semak kesediaan pembaca pita tebuk
 2: jika tidak sedia, lempat ke 1
 3: baca satu bait dari pita tebuk dan hantar ke penumpuk
 4: simpan pengumpul ke alamat daftar P
 5: turunkan daftar p
 6: lompat ke 1

Jangka masa pelancar peringkat kedua dalam keadaan bait terakhir ditulis atas lokasi 6. Setelah arahan 5 dilaksanakan, arahan 6 memulakan pelaksanaan but peringkat kedua. Pelancar peringkat kedua kemudiannya menunggu cakera yang lebih panjang memuatkan sistem operasi untuk dimasukkan ke dalam pembaca cakera.
Perbezaan antara keduanya ialah penambahan kod untuk memerangkap ralat pembaca pita kertas yang selalu berlaku kepada perkakas pada masa itu, iaitu dalam kes ini mesin teletaip ASR-33.

Dalam komputer moden, proses but bermula apabila CPU melaksanakan perisian yang terkandung di dalam ROM (contohnya BIOS dalam komputer IBM) pada alamat yang dinyatakan (CPU direka untuk menjalankan proses ini secara automatik selepas diset semula). Perisian ini berfungsi untuk mencari pemacu yang terlibat dalam proses but dan melancarkan satu program kecil yang biasanya dari sektor but pemacu. BIOS biasanya boleh diset untuk melancarkan sistem operasi dari pemacu-pemacu yang tertentu. Keutamaan bagi melancarkan sistem operasi biasanya dimulakan dengan pemacu CD-ROM.

Ralat 
Dalam Windows, apabila ralat berlaku dalam proses but, Blue Screen of Death atau Black Screen of Death mungkin muncul.

Lihat juga 
 I/O
 Sistem komputer
 Sistem pengendalian

Bacaan tambahan 
 Bagaimana GRUB diimplementasi dalam pekakas komputer.
 But melalui GRUB  di komuniti OSDEV.

Sistem pengendalian