Apa yang dilakukan init di Ubuntu?

13

Saya sudah tahu bahwa itu initadalah program ajaib yang diperlukan untuk mem-boot komputer Anda dan mengelola runlevel, tetapi apa tujuan sebenarnya?

Mengapa kita bahkan perlu initdi tempat pertama? Mengapa bootloader tidak memberi tahu Pemula program apa yang harus dijalankan dan tidak dijalankan?

Pertanyaan ini dalam (terlambat) menanggapi saya. Apa yang akan terjadi jika initdihapus? pertanyaan.

Kaz Wolfe
sumber
initadalah ibu dari semua proses.
ctrl-alt-delor
Lebih mudah untuk menulis fungsionalitas initsebagai proses pengguna daripada menulisnya di kernel. Jika itu ditulis di kernel, maka seseorang akan menambahkan proses starteryang akan berjalan di ruang pengguna, yang lebih fleksibel. Dengan demikian menduplikasi fungsi. Karena itu yang terbaik adalah menjaga bagian kernel sesederhana mungkin.
ctrl-alt-delor
man init > "What does init on Ubuntu do"dan membacanya di folder rumah
αғsнιη

Jawaban:

6

Lihat manual untuk initpada sistem Unix .

Ini adalah pos dari entri Wikipedia padainit :

Dalam sistem operasi komputer berbasis Unix, init (kependekan dari inisialisasi) adalah proses pertama yang dimulai saat mem-boot sistem komputer. Init adalah proses daemon yang terus berjalan hingga sistem dimatikan. Ini adalah leluhur langsung atau tidak langsung dari semua proses lain dan secara otomatis mengadopsi semua proses yatim. Init dimulai oleh kernel menggunakan nama file yang dikodekan, dan jika kernel tidak dapat memulainya, panik kernel akan muncul. Init biasanya ditugaskan pengidentifikasi proses 1.

Desain init telah menyimpang dalam sistem Unix seperti Sistem III dan Sistem V, dari fungsi yang disediakan oleh init di Research Unix dan turunannya BSD. Penggunaan pada sebagian besar distribusi Linux agak kompatibel dengan Sistem V, tetapi beberapa distribusi, seperti Slackware, menggunakan gaya BSD dan lainnya, seperti Gentoo, memiliki versi khusus mereka sendiri.

Beberapa implementasi init pengganti telah ditulis dengan upaya untuk mengatasi keterbatasan desain dalam versi standar. Ini termasuk launchd, Fasilitas Manajemen Layanan, systemd dan Pemula, yang terakhir digunakan oleh Ubuntu dan beberapa distribusi Linux lainnya.

Semoga ini bisa membantu menjelaskannya kepada Anda; banyak membaca.

Mark Kirby
sumber
3

upstartdan systemdmerupakan initsistem. Dengan konvensi (dan mungkin kendala lainnya), program ini masih disebut init, terlepas dari apakah systemdatau upstartatau sesuatu yang lain adalah bermain. Jangan biarkan nama proses menipu Anda. PID1 bukan initlagi SysV . Belum cukup lama di Ubuntu.

muru
sumber