Skip to main content

Apakah Kernel Linux?

5 Alasan Kenapa Hacker Memilih Linux daripada Windows (April 2025)

5 Alasan Kenapa Hacker Memilih Linux daripada Windows (April 2025)
Anonim

Untuk pengguna kasual dan peminat kurang daripada-tegar, Linux adalah sistem pengendalian. Namun, untuk pemurni, tajuk "Linux" dikhaskan untuk kernel yang menguasai sistem operasi. Jika anda ingin tahu tentang kernel Linux, mari jawab soalan itu dengan mata kepada pengguna baru.

Mod

Sebelum kita menjelaskan apa jenis kernel, penting untuk memahami istilah "mod pengguna" dan "mod kernel". Mod pengguna adalah apabila melaksanakan kod tidak mempunyai keupayaan untuk mengakses secara langsung perkakasan atau memori rujukan. Untuk mendapatkan akses kepada perkakasan dan memori, kod yang berjalan dalam mod pengguna mesti mewakilkan arahan ke Sistem Antarmuka Pemrograman Aplikasi (API). Mod Kernel adalah apabila melaksanakan kod mempunyai akses tidak terhad kepada semua perkakasan dan dikhaskan untuk fungsi yang paling dipercayai dari sistem pengendalian.

Apa itu Kernel?

Setiap sistem operasi mempunyai kernel. Windows, macOS, iOS, Android, Chrome OS, dan Linux masing-masing mempunyai sistem peringkat rendah yang bertanggungjawab untuk mengawal semua aplikasi dengan perkakasan fizikal komputer. Tanpa kernel, tiada aplikasi anda boleh menggunakan komputer fizikal; aplikasi seperti Firefox, Chrome, LibreOffice, MS Office, atau Outlook tidak akan berfungsi. Kernel juga bertanggungjawab untuk membenarkan proses untuk bertukar maklumat menggunakan apa yang disebut Inter-Process Communication (IPC).

Terdapat (secara umum) tiga jenis biji:

  • Biji monolitik: biji ini merangkumi CPU, memori, IPC, pemacu peranti, pengurusan sistem fail, dan panggilan pelayan sistem. Ia juga bertanggungjawab untuk menyerahkan memori sistem percuma kepada aplikasi. Jenis biji ini biasanya lebih baik pada mengakses perkakasan dan multitasking.
  • Microkernels: Microkernels mengambil pendekatan minimalis dan hanya menguruskan CPU, memori, dan IPC.
  • Kernel hibrid: Kernels Hybrid mempunyai keupayaan untuk memutuskan apa yang mereka mahu larian dalam Mod Pengguna atau Kernel. Walaupun ini memberikan yang terbaik dari kedua-dua dunia, ia memerlukan lebih banyak lagi dari pengilang perkakasan untuk membuat pemacu yang berfungsi sebagai antara antaramuka kod dan perkakasan.

Linux menggunakan sumber terbuka, Kernel Monolitik, manakala macOS dan Windows menggunakan Kernels Hybrid. Kernel Linux disusun pada tahun 1991 oleh Linus Torvalds. Sehingga hari ini, Encik Torvalds terus menjadi pemaju utama pada kernel Linux, sementara pemaju dari seluruh dunia menyumbang kepada kernel Linux. Malah, dianggarkan hampir 10,000 pemaju, daripada lebih daripada 1,000 syarikat, telah menyumbang kepada kernel Linux (sejak pengesanan bermula pada tahun 2005).

Di manakah kernel?

Jika anda membuka tetingkap terminal dan mengeluarkan arahan ls / boot, anda akan melihat fail yang dipanggil vmlinuz-VERSION (Di mana VERSION adalah nama atau nombor pelepas). Fail vmlinuz adalah kernel Linux boot yang sebenarnya, dan "z" adalah untuk menunjukkan kernel dimampatkan; jadi bukan vmlinux kita ada vmlinuz.

Dalam direktori / boot tersebut adalah fail kernel penting lain, seperti initrd.img-VERSION, system.map-VERSION, dan config-VERSION (Di mana VERSION sama ada nama atau nombor pelepas). Fail-fail lain ini memberi maksud berikut:

  • initrd: digunakan sebagai RAMdisk kecil yang mengekstrak dan melaksanakan fail kernel sebenar.
  • system.map: digunakan untuk pengurusan memori, sebelum memuatkan kernel.
  • config: mengarahkan kernel apa pilihan dan modul untuk dimuatkan.

Modul

Tanpa modul, kernel tidak akan banyak digunakan. Modul berkesan menghidupkan pemandu yang diperlukan untuk berkomunikasi dengan perkakasan tanpa memakan semua memori sistem anda. Modul juga menambah fungsi kepada kernel, seperti berkomunikasi dengan peranti, mengurus sistem fail, keselamatan, dan lain-lain. Kemungkinan untuk menyenaraikan, menambah, dan mengeluarkan modul ke kernel dengan arahan berikut:

  • lsmod akan menyenaraikan semua modul kernel yang dimuatkan sekarang.
  • insmod akan memuatkan modul kernel ke dalam kernel yang sedang dijalankan.
  • rmmod akan memunggah modul dari kernel yang sedang dijalankan.

Jadi anda lihat, dengan bantuan beberapa arahan yang mudah, kernel Linux boleh menjadi sangat fleksibel.

Kernel semasa

Sebagai penulisan ini, kernel Linux yang stabil ialah 4.18.5, tetapi tidak semua pengagihan Linux akan memasukkan kernel terkini. Malah, pengedaran desktop Elementary OS yang dikemas kini berjalan pada kernel 4.15.0-30. Apakah maksud nombor itu? Dalam kes kernel terkini di Elementary OS, ini bermakna:

  • 4 ialah versi Utama
  • 15 adalah versi Minor
  • 0-30 adalah semakan

Ia juga mungkin untuk memuat turun pelbagai versi kernel Linux dari kernel.org dan menyusunnya sendiri. Penyusunan kernel Linux adalah tugas terbaik yang tersisa untuk mereka yang benar-benar tahu apa yang mereka lakukan. Kernel yang tidak disusun boleh menyebabkan sistem tidak dapat diprapuskan. Oleh itu, melainkan jika anda bersedia menyelam ke dalam tugas yang mencabar untuk menyusun kod di peringkat ini, gunakan kernel lalai yang menghantar dan mengemas kini pilihan pengedaran anda.