Ini akan menjadi agak lebih cepat di C, tetapi pilihan bahasa bukan yang paling mempengaruhi kinerja. Biasanya lebih efektif untuk melakukan berbagai tugas secara paralel, daripada menunggu masing-masing untuk menyelesaikan secara berurutan seperti yang dilakukan oleh sistem init yang lebih sederhana. Sebagai contoh, sshd dan httpd dapat dimulai pada saat yang bersamaan, karena keduanya tidak membutuhkan yang lain untuk sudah berjalan.
Tidak ada "urutan boot Linux" tunggal. Setiap distribusi memiliki sendiri; bahkan tidak ada satu pun kesamaan yang mereka miliki. Itu bisa dalam C, Perl, Haskell, apa pun; satu-satunya persyaratan adalah bahwa executable name /init
harus ada di initramfs, atau /sbin/init
di sistem file root.
The /etc/rc?.d
Skema hanyalah perpanjangan dari proses boot Unix dari 20 tahun yang lalu, bahkan mungkin 30 tahun. Sistem Unix yang paling awal jarang di-boot-ulang, sehingga mereka akan memiliki skrip sederhana, /etc/rc
atau serupa, yang akan diluncurkan oleh init dan memulai berbagai daemon secara berurutan.
Bahkan saat ini SysV init sedang digunakan untuk memulai semua skrip tersebut, meskipun metode yang tepat dapat bervariasi. Awalnya, sebuah sistem akan memulai semua skrip /etc/rc?.d
secara berurutan; saat ini Debian menggunakan dependensi gaya Makefile.
Beberapa distribusi - Ubuntu, Chrome OS, Fedora hingga v14 - telah beralih ke Upstart , yang ditulis dalam C dan "berbasis-event", memungkinkan daemon dimulai secara paralel. Sistem init lain, systemd , tampaknya meningkat dengan cepat dalam popularitas - digunakan secara default di Fedora dan OpenSuSE. Itu juga ditulis dalam C. (Kedua sistem masih membaca file konfigurasi tekstual untuk memutuskan daemon mana yang akan dijalankan.)
Distribusi yang masih melekat dengan SysVinit biasanya melakukannya untuk "kesederhanaan"; argumen [rujukan?] yang paling sering terdengar tampaknya tentang skrip shell lebih mudah dipelihara daripada kode C yang setara (meskipun skrip shell tersebut terdiri dari 90% copypasta), serta ketakutan fana untuk memperkenalkan dependensi perpustakaan tambahan [subjektif] . Anda dapat melihat sendiri di utas ini , ini , ini dan ini di milis Debian mulai Mei 2012.
(Penafian: Saya sendiri pengguna systemd .)