Wawasan mendalam tentang sistem ubuntu linux - apakah kita melihat ini?

Wawasan mendalam tentang sistem ubuntu linux - apakah kita melihat ini?

Linux Seperti yang kita ketahui adalah kernel dan bukan sistem operasi, mengirim dengan beberapa distribusi seperti: Debian, Fedora, Ubuntu dll. dan masih banyak lagi. Ubuntu os dikembangkan oleh Mark Shuttleworth diketahui populer dan banyak digunakan oleh banyak orang. Juga, bebas dan open source versi barunya dirilis setiap tahun yang disumbangkan oleh ribuan pengembang yang berkontribusi pada pengembangannya. Tapi, bagaimana fungsinya? Apa semua proses, daftar acara membuatnya berhasil dan apa pentingnya proses ini?

Wawasan proses boot ubuntu

Artikel ini akan membawa Anda sedikit jauh ke dalam internal Ubuntu OS yang sangat menarik dan akan membantu seorang pemula memiliki pemahaman lengkap tentang fungsinya.

Letakkan sistem

Linux memiliki proses untuk fungsinya, masing -masing dan setiap layanan sistem termasuk manajemen daya, boot up, penanganan sistem crash adalah proses yang memiliki file konfigurasi di “/etc/initItu menggambarkan peristiwa yang akan dijalankan dan peristiwa yang sesuai di mana ia akan menghentikan eksekusi, bersama dengan itu juga mempertahankan file konfigurasi lainnya yang menggambarkan perilaku run-time di sistem "/dll/Direktori, dengan demikian menjadikan sistem sebagai acara yang didorong oleh acara.

Jika ada peristiwa yang dihasilkan maka seseorang harus ada di sana untuk menangkapnya dan melaksanakannya?? Jelas sekali, pengontrol adalah proses utama kami yang ada sebagai induk dari semua proses dengan ID proses 1 Saya.e. init. Ini adalah proses yang dimulai dengan sistem dimulai dan tidak pernah berhenti. Proses ini hanya mati begitu sistem ditenagai karena tidak ada proses siapa induk init.

Versi sebelumnya dari Ubuntu sebelum 6.10 Termasuk gaya lama Sysvinit Itu digunakan untuk menjalankan skrip di "/etc/rcx.DDirektori di setiap startup dan shutdown sistem. Tapi, setelah itu pemula Sistem menggantikan gaya lama Sysvinit sistem, tetapi masih memberikan kompatibilitas ke belakang.

Versi ubuntu terbaru memiliki sistem pemula ini, tetapi sejak evolusinya dari Ubuntu 6.10 itu telah menjadi beberapa revisi versi saat ini 1.13.2 Pada 4 September 2014. Sistem pemula terbaru memiliki 2 init proses, satu untuk proses sistem dan lainnya yang mengelola sesi pengguna yang masuk saat ini dan hanya ada sampai pengguna masuk, juga disebut X-Sesi init.

Seluruh sistem telah diletakkan sebagai hirarkis, yang terdiri dari hubungan leluhur-anak di seluruh kekuatan hingga menundukkan sistem.

Misalnya: Hubungan hierarkis kecil antara kedua proses init adalah: sistem init (1) -> Display Manager (ruang kernel) -> Tampilan Manajer (Ruang Pengguna) -> Pengguna Init (atau X-Sesi Init).

File konfigurasi untuk proses yang dikelola oleh sistem init berada di “/etc/init”Dan bagi mereka yang dikelola oleh sesi init berada di“/usr/share/pemula”(Sesuai versi pemula saat ini di atas 1.12) dan file konfigurasi ini adalah kunci dari banyak rahasia yang digali tentang proses seperti yang dijelaskan dalam artikel ini.

Masuk lebih dalam ke dalam hierarki

Ubuntu mengenali dua jenis proses:

  1. Pekerjaan berumur pendek (atau pekerjaan kerja-dan-die).
  2. Pekerjaan lama (atau pekerjaan tinggal-dan-bekerja).

Hirarki yang dibuat pada sistem adalah karena hubungan ketergantungan antara proses yang dapat kita pahami dengan melihat file konfigurasi mereka. Pertama -tama mari kita mulai dari hubungan hierarkis sederhana antara proses yang membuat sistem boot dan memahami pentingnya masing -masing.

Hirarki boot

Init adalah proses pertama yang mulai menghidupkan sistem dan diklasifikasikan di bawah kerja-dan-tinggal Pekerjaan karena tidak pernah terbunuh dan hanya waktu init yang terbunuh adalah saat menghidupkan saya.e. init hanya mati dan itu juga satu kali per sesi dan itu sedang mematikan. Saat menyala, init menghasilkan acara pertama di sistem i.e. Acara Startup. Setiap file konfigurasi di “/etc/init”Memiliki dua baris yang menentukan peristiwa yang menyebabkan proses memulai dan berhenti. Garis -garis tersebut seperti yang disorot pada gambar di bawah ini:

Hierarki Boot Linux

Ini adalah file konfigurasi suatu proses failsafe-x Dan ini dimulai dan berhenti pada kondisi menggambarkan peristiwa di mana proses akan dimulai. Pada generasi acara startup dengan proses init proses yang memiliki startup sebagai awal kondisi mereka dieksekusi secara paralel dan ini hanya mendefinisikan hierarki, dan semua proses yang dijalankan pada startup adalah anak -anak init.

Proses yang dimulai saat startup terdaftar di bawah dan ini semua adalah pekerjaan kerja-dan-die:

1. nama host - Ini adalah proses yang hanya memberi tahu sistem nama host yang didefinisikan dalam /etc /hostname file.

2. kmod - Memuat modul kernel i.e. Semua driver dari /etc /modules file.

3. Mountall - Proses ini menghasilkan banyak acara dan terutama bertanggung jawab untuk membuat semua sistem file pada boot termasuk sistem file lokal dan sistem file jarak jauh.

Itu /Proc File juga dipasang oleh proses ini dan setelah semua pekerjaan pemasangan, acara terakhir yang dihasilkan olehnya adalah acara sistem file yang selanjutnya membuat hierarki dilanjutkan lebih lanjut.

4. Plymouth - Proses ini dijalankan pada awal Mountall dan bertanggung jawab untuk menunjukkan layar hitam yang terlihat pada startup sistem yang menunjukkan sesuatu seperti di bawah ini:

Proses startup Linux

5. Siap Plymouth - Menunjukkan bahwa Plymouth sudah habis.

Berikut ini adalah proses utama, yang lain yang juga dijalankan pada startup termasuk, seperti Udev-Fallback-Graphics, dll. Singkatnya kembali ke hierarki boot, kejadian dan proses yang mengikuti adalah seperti secara berurutan:

1. init Seiring dengan Generasi Acara Startup.

2. Mountall Sistem file pemasangan, Plymouth (bersama dengan pemula Mountall) menampilkan layar splash, dan KMOD memuat modul kernel.

3. Sistem Film Lokal acara yang dihasilkan oleh Mountall menyebabkan DBUS. (DBUS adalah bus pesan lebar sistem yang membuat soket membiarkan proses lain berkomunikasi satu sama lain melalui mengirim pesan ke soket ini dan penerima mendengarkan pesan di soket ini dan menyaring yang dimaksudkan untuk itu).

4. Sistem Film Lokal Seiring dengan awal DBUS dan acara statis-network-up yang disebabkan oleh jaringan proses yang juga berjalan pada acara sistem-file lokal menyebabkan manajer jaringan berjalan.

5. Sistem Virtual-File acara yang dihasilkan oleh Mountall menyebabkan Udev berjalan. (Udev adalah manajer perangkat untuk Linux yang mengelola hot-plugging perangkat dan bertanggung jawab untuk membuat file di /dev direktori dan mengelolanya juga.) Udev membuat file untuk RAM, rom dll di /dev direktori yang telah selesai dipasang sistem-sistem virtual dan telah menghasilkan sistem virtual-file virtual yang menandakan pemasangan /dev direktori.

6. Udev menyebabkan jembatan pemula-udev yang dijalankan yang menandakan bahwa jaringan lokal sudah habis. Kemudian setelah Mountall selesai memasang sistem file terakhir dan telah menghasilkan acara sistem file.

7. berkas sistem Acara bersama dengan acara statis-jaringan yang menyebabkan pekerjaan RC-Sysinit berjalan. Di sini, datang kompatibilitas mundur antara Sysvinit yang lebih tua dan pemula ..

9. RC-SYSINIT menjalankan perintah telinit yang memberi tahu sistem runlevel.

10. Setelah mendapatkan runlevel, init mengeksekusi skrip yang dimulai dengan 'S' atau 'K'(Memulai pekerjaan yang dimiliki'S'Di awal nama mereka dan membunuh mereka yang memiliki'K'Di awal nama mereka) di direktori /etc /rcx.D (di mana 'X'adalah runlevel saat ini).

Set kecil acara ini menyebabkan sistem mulai setiap kali Anda menyalakannya. Dan, peristiwa ini memicu proses adalah satu -satunya hal yang bertanggung jawab untuk menciptakan hierarki.

Sekarang, add-on lain untuk di atas adalah penyebab acara. Proses mana yang menyebabkan peristiwa mana yang juga ditentukan dalam file konfigurasi yang sama dari proses seperti yang ditunjukkan di bawah ini dalam baris ini:

Acara Proses Linux

Di atas adalah bagian dari file konfigurasi proses mountall. Ini menunjukkan peristiwa yang dipancarkan. Nama Acara adalah salah satu yang berhasil kata 'peristiwa'. Acara dapat berupa yang ditentukan dalam file konfigurasi seperti di atas atau dapat menjadi nama proses bersama dengan awalan 'mulai', 'dimulai', 'berhenti' atau 'berhenti'.

Jadi, di sini kita mendefinisikan dua istilah:

  1. Generator acara: Yang memiliki baris 'memancarkan xxx' dalam file konfigurasinya di mana xxx adalah nama acara yang dimiliki atau dihasilkan.
  2. Event Catcher: Yang memiliki kondisi awal atau berhenti sebagai xxx atau yang dimulai atau berhenti pada acara yang dihasilkan salah satu generator acara.

Dengan demikian, hierarki mengikuti dan ketergantungan antara proses:

Event Generator (Parent) -> Event Catcher (Child) 

Menambahkan kompleksitas pada hierarki

Sampai sekarang, Anda pasti mengerti bagaimana hierarki orang tua-anak ketergantungan antara proses diletakkan oleh memicu acara mekanisme melalui mekanisme boot up sederhana.

Sekarang, hierarki ini tidak pernah menjadi hubungan satu-ke-satu yang hanya memiliki satu orang tua untuk satu anak. Dalam hierarki ini kita mungkin memiliki satu atau lebih orang tua untuk satu anak atau satu proses menjadi orang tua lebih dari satu anak. Bagaimana ini dicapai?? Jawabannya terletak pada file konfigurasi itu sendiri.

Proses linux

Garis -garis ini diambil dari proses - jaringan dan di sini awal kondisi tampaknya terlalu kompleks terdiri dari banyak acara yaitu - Sistem Film Lokal, udevtrigger, wadah, runlevel, Jaringan.

Sistem Lokal-Filman dipancarkan oleh Mountall, Udevtrigger adalah nama pekerjaan, acara kontainer dipancarkan oleh deteksi kontainer, acara runlevel yang dipancarkan oleh RC-SySinit, dan jaringan sekali lagi merupakan pekerjaan adalah pekerjaan.

Dengan demikian, dalam hierarki jejaring proses adalah anak dari Mountall, Udevtrigger dan Deteksi Kontainer karena tidak dapat melanjutkan fungsinya (berfungsi dari proses adalah semua baris yang didefinisikan dalam skrip atau bagian eksekutif dalam file konfigurasi proses) Sampai proses di atas menghasilkan acara mereka.
Demikian juga, kita dapat memiliki satu proses menjadi orang tua dari banyak orang jika peristiwa yang dihasilkan oleh satu proses di -cache oleh banyak orang.

Jenis pekerjaan yang membedakan

Seperti yang didefinisikan sebelumnya, kita dapat memiliki berumur pendek (atau kerja-dan-die pekerjaan) atau berumur panjang (atau tinggal dan bekerja) pekerjaan tetapi bagaimana membedakan di antara mereka??

Pekerjaan yang memiliki keduanya 'mulai dari' Dan 'berhenti'Kondisi yang ditentukan dalam file konfigurasinya dan memiliki kata'tugas'Di file konfigurasi mereka kerja-dan-die pekerjaan yang dimulai pada acara yang dihasilkan, menjalankan skrip atau bagian mereka (saat mengeksekusi, mereka memblokir peristiwa yang menyebabkannya) dan mati setelah itu merilis peristiwa yang mereka blokir.

Pekerjaan yang tidak dimiliki 'berhentiKondisi dalam file konfigurasi mereka sudah lama berumur tinggal dan bekerja pekerjaan dan mereka tidak pernah mati. Sekarang pekerjaan tinggal-dan-kerja dapat diklasifikasikan lebih lanjut sebagai:

  1. Mereka yang tidak memiliki kondisi respawn dan dapat dibunuh oleh pengguna root.
  2. Mereka yang memiliki kondisi respawn dalam file konfigurasi mereka dan karenanya mereka restart setelah dibunuh kecuali pekerjaan mereka telah selesai.

Kesimpulan

Dengan demikian, setiap proses masuk Linux tergantung pada beberapa dan memiliki beberapa proses yang bergantung padanya dan hubungan ini banyak pada banyak dan ditentukan dengan sistem pemula bersama dengan detail proses lainnya.