Saya terus melihat "bootstrap" yang disebutkan dalam diskusi pengembangan aplikasi. Tampaknya tersebar luas dan penting, tetapi saya belum menemukan penjelasan yang buruk tentang apa sebenarnya bootstrap itu; melainkan, seolah-olah semua orang seharusnya tahu apa artinya. Tapi saya tidak. Sedekat yang saya bisa pikirkan, ini ada hubungannya dengan tugas inisialisasi yang diperlukan suatu aplikasi pada saat peluncuran, tetapi saya bisa sepenuhnya salah tentang hal itu. Adakah yang bisa membantu saya untuk memahami ide ini?
bootstrapping
Alex Basson
sumber
sumber
Jawaban:
"Bootstrapping" berasal dari istilah "menarik diri Anda dengan bootstraps Anda sendiri." Itu bisa Anda dapatkan dari Wikipedia .
Dalam komputasi, bootstrap loader adalah bagian pertama dari kode yang berjalan ketika mesin mulai, dan bertanggung jawab untuk memuat sisa sistem operasi. Di komputer modern itu disimpan dalam ROM, tapi saya ingat proses bootstrap pada PDP-11, di mana Anda akan menyodok bit melalui switch panel depan untuk memuat segmen disk tertentu ke dalam memori, dan kemudian menjalankannya. Tidak perlu dikatakan, bootstrap loader biasanya cukup kecil.
"Bootstrapping" juga digunakan sebagai istilah untuk membangun sistem menggunakan dirinya sendiri - atau lebih tepatnya, versi pendahulunya. Misalnya, ANTLR versi 3 ditulis menggunakan parser yang dikembangkan dalam ANTLR versi 2.
sumber
Contoh bootstrap ada di beberapa kerangka kerja web. Anda memanggil index.php (bootstrapper), dan kemudian memuat kerangka kerja pembantu, model, konfigurasi, dan kemudian memuat controller dan memberikan kendali padanya.
Seperti yang Anda lihat, ini adalah file sederhana yang memulai proses besar.
sumber
Lihat di artikel Wikipedia tentang bootstrap .
Ada bagian dan tautan yang menjelaskan apa artinya dalam Komputasi . Ini memiliki empat kegunaan yang berbeda di lapangan.
Berikut adalah beberapa kutipan, tetapi untuk penjelasan yang lebih mendalam, dan makna alternatif, lihat tautan di atas.
sumber
Istilah "bootstrap" biasanya berlaku untuk situasi di mana sistem bergantung pada dirinya sendiri untuk memulai, semacam masalah ayam dan telur.
Contohnya:
Dalam hal itu, bootstrap mengacu pada cara memecahkan ketergantungan melingkar, biasanya dengan bantuan entitas eksternal, misalnya
dll.
sumber
Dalam konteks pengembangan aplikasi, "bootstrap" biasanya muncul ketika berbicara tentang perangkat lunak modular dan / atau auto-updatable.
Daripada pengguna mengunduh seluruh aplikasi, termasuk fitur yang tidak diperlukan, dan mengunduh ulang dan memperbaruinya secara manual setiap kali ada pembaruan, pengguna hanya mengunduh dan memulai executable "bootstrap" kecil, yang pada gilirannya mengunduh dan menginstalnya bagian dari aplikasi yang dibutuhkan pengguna. Selain itu, komponen bootstrap dapat mencari pembaruan dan menginstalnya setiap kali dimulai.
sumber
Alex, cukup banyak apa yang komputer Anda lakukan ketika boot. ('Booting' komputer sebenarnya berasal dari kata bootstrap)
Awalnya, program kecil di BIOS Anda berjalan. Itu berisi kode mesin yang cukup untuk memuat dan menjalankan program yang lebih besar, lebih kompleks.
Program kedua itu mungkin sesuatu seperti NTLDR (di Windows) atau LILO (di Linux), yang kemudian mengeksekusi dan dapat memuat, lalu menjalankan, sisa dari sistem operasi.
sumber
Untuk kelengkapan, ini juga merupakan metode yang agak penting (dan relatif baru) dalam statistik yang menggunakan resampling / simulasi untuk menyimpulkan properti populasi dari sampel. Ini memiliki artikel Wikipedia panjangnya tentang bootstrap (statistik) .
sumber
Boot tegap arti kamus untuk memulai dengan sumber daya minimum. Dalam Konteks OS, OS harus dapat memuat dengan cepat begitu Power On Self Test (POST) menentukan bahwa aman untuk membangunkan CPU. Kode tali booting akan dijalankan dari BIOS. BIOS adalah ROM berukuran kecil. Umumnya ini adalah instruksi lompat ke set instruksi yang akan memuat sistem operasi ke RAM. Tujuan Jump adalah sektor Boot di Hard Disk. Setelah program bios memeriksa, itu adalah sektor Boot yang valid yang berisi alamat awal dari OS yang disimpan, yaitu apakah itu adalah MBR (Master Boot Record) yang valid atau tidak. Jika MBR yang valid, OS akan disalin ke memori (RAM) dari sana pada OS yang menangani Manajemen Memori dan Proses.
sumber
IMHO tidak ada penjelasan yang lebih baik daripada fakta tentang Bagaimana kompiler pertama ditulis?
Saat ini pemuatan Sistem Operasi adalah proses paling umum yang disebut Bootstrapping
sumber
Bootstrapping memiliki arti lain dalam konteks penguatan pembelajaran yang mungkin berguna untuk diketahui oleh pengembang, selain penggunaannya dalam pengembangan perangkat lunak (sebagian besar jawaban di sini, misalnya oleh kdgregory ) dan penggunaannya dalam statistik seperti yang dibahas oleh Dirk Eddelbuettel .
Dari Sutton dan Barto :
Buku ini menjelaskan berbagai algoritma penguatan di mana nilai target didasarkan pada perkiraan sebelumnya sebagai metode bootstrap:
Perhatikan bahwa ini berbeda dari agregasi bootstrap dan ledakan intelijen yang disebutkan di halaman wikipedia saat bootstrap.
sumber
Dalam hal itu sehubungan dengan menggunakan Bootstrap Twitter populer saya merasa seperti ini jenis bootstrap adalah tindakan mengintegrasikan komponen modular ke dalam aplikasi Web tanpa aplikasi Web bahkan harus mengakui komponen modular ada sampai dibutuhkan atau referensi itu .
Pengembang dapat dengan mulus mengintegrasikan salinan default tema CSS Twitter Bootstrap hanya dengan memuat (referensi) ke dalam aplikasi Web. Vuola! Maka Anda mungkin perlu menimpa beberapa perubahan ini, tetapi Anda dapat melakukannya sedemikian rupa sehingga sumber daya / komponen tidak tersentuh dan sepenuhnya dapat digunakan kembali.
Konsep yang sama ini adalah bagaimana Web Devs mengimplementasikan jQuery APIs dan sebagainya, tetapi tidak benar-benar diungkapkan oleh Devs sebagai bootstrap per se. Apa yang dilakukannya adalah meningkatkan fleksibilitas dan penggunaan kembali sementara memungkinkan isolasi berbagai komponen / sumber daya aplikasi untuk berada secara bebas baik di server yang sama atau mungkin di CDN.
CATATAN: Dalam menghitung kesepakatan bootstrap dengan MBR dan dalam UNIX, dibutuhkan bootloader atau manajer khusus yang merupakan program kecil dalam ROM yang memuat OS ke dalam RAM. Jika Anda memikirkannya, konsep yang sama terjadi pada aksi bootstrap loader memeriksa MBR dan memuat OS berdasarkan tabel ini yang terjadi tanpa OS memiliki gagasan bahwa ini terjadi.
sumber
Saya milik generasi yang membalik sakelar untuk memasuki program boot. Pada awal 1980-an, saya bekerja pada komputer mikro bernama Micro-78, yang dikembangkan oleh Electronics Corporation of India Ltd (ECIL). Itu adalah semacam tiruan dari Altair 8800. Saya ingat dengan jelas apa yang terjadi ketika sebuah program boot kecil dimasukkan menggunakan toggle switches dan dieksekusi dengan menekan sebuah tombol. Program membaca program boot kedua yang terkandung dalam trek pertama floppy disk dan menimpanya dengan sendirinya sedemikian rupa sehingga program boot kedua mulai dijalankan untuk memuat sistem operasi disk. Saya pikir istilah "bootstrap" mengacu pada proses membaca program boot pertama dan menimpa program boot kedua dengan sendirinya, dengan cara "menarik diri" dengan fungsionalitas tambahan dari program boot kedua.
sumber
Sebagai seorang pemula yang rendah hati di dunia pemrograman, dan membolak-balik semua jawaban di sini setelah melihat kata ini banyak digunakan dalam cara yang agak berbeda di tempat yang berbeda, saya menemukan membaca halaman Wikipedia tentang Bootstrapping (ya! Saya tidak memikirkan itu baik pada awalnya) sangat informatif untuk memahami perbedaan dalam penggunaan kata ini. Mungkinkah ...... pada kesempatan yang sangat langka ...... Wikipedia bahkan mungkin memiliki penjelasan yang lebih baik tentang istilah-istilah tertentu daripada .... (dihapus)? Akankah mereka membawa poin perwakilan di Wikipedia?
Bagi saya, sepertinya semua artinya ada hubungannya: mulai dengan sesuatu yang sesederhana mungkin1, membuat sesuatu yang sedikit lebih kompleks dengan Thing2 itu, dan sekarang Anda dapat menggunakan Thing2 untuk melakukan beberapa jenis tugas lebih efisien dan lebih cepat daripada yang Anda bisa awalnya dengan Thing1. Kemudian ulangi dari Thing2 ke Thing 3 ad infinitum ...
Saya melihatnya terkait erat dengan evolusi biologis dan 'Layers of Abstraction' (pemula seperti saya lihat, ahem, Wikipedia, batuk) - evolusi dari komputer tahun 1940 dengan sakelar, kode mesin, Majelis, C, Python, AI yang dapat Anda berikan semua jenis instruksi kompleks seperti "buat% 4 ^% makan malam ke default saya & ^ $% persyaratan dan bersihkan lantai Anda% $ £" @: ~ "dalam bahasa gaul mabuk dialek Inggris atau suku Amazon tanpa mereka mengeluarkan pengecualian '(untuk pemula lagi ... Anda dapat menebaknya) - melewatkan banyak tautan di sana karena ketidaktahuan yang sederhana.
Kemudian dalam arti perangkat lunak tertentu: Meaning1: Thing1 digunakan untuk memuat Thing2 versi terbaru (karena tentu saja Thing2 akan lebih besar dari Thing1, sama seperti Thing3 akan lebih besar dari Thing2).
Meaning2: Thing1 adalah bahasa tingkat yang lebih rendah (lebih dekat ke 1001011100 .... 011001 daripada cetak ("Hello,", user.name)) digunakan untuk menulis sedikit bahasa yang lebih tinggi dari Thing2, maka sedikit Thing2 ini adalah digunakan untuk memperluas Thing2 sendiri dari tingkat kosakata bayi ke tingkat kosakata orang dewasa (Thing2 mulai diproses, atau menggunakan istilah teknis yang benar 'dikompilasi', oleh versi bayi itu sendiri (itu adalah bayi yang pintar!), sedangkan versi bayi dari Thing2 itu sendiri tentu saja hanya dapat dikompilasi oleh Thing1, karena itu tidak dapat ada sebelum itu ada, kan!), maka versi anak dari Thing2 mengkompilasi versi Remaja Surly dari Thing2, di mana komunitas pemrograman saat memutuskan apakah 'masalah' Surly Teenager ( istilah perangkat lunak dan istilah metafora!) layak menghabiskan cukup waktu penyelesaian untuk diterima jangka panjang,atau untuk membiarkan mereka (tidak yakin ke mana harus mengambil analogi di sini).
Jika ya, maka Thing2 memiliki 'Bootstrapped' sendiri (mungkin beberapa kali) dari masa kanak-kanak hingga dewasa: "anak adalah ayah dari pria" (Wordsworth, sarankan jangan mencoba mencari kutipan atau penulis di Stack Overflow) .
sumber