Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Adakah terdapat fungsi utama dalam kernel linux?

Adakah terdapat fungsi utama dalam kernel linux?

百草
百草asal
2023-07-10 10:09:041851semak imbas

Terdapat fungsi utama dalam kernel Linux, kerana fungsi utama berada di bahagian atas kod kernel Linux. Fungsi utama bertanggungjawab terutamanya untuk mendapatkan pembolehubah persekitaran sistem daripada Blok Kawalan Kernel (KCB) dan memulakan modul yang diperlukan oleh sistem. Fungsi utama ialah titik masuk program Utama ialah nama antara muka yang dipersetujui antara aplikasi dan sistem pengendalian, jadi fungsi pertama setiap aplikasi dalam Linux mestilah utama.

Adakah terdapat fungsi utama dalam kernel linux?

Persekitaran pengendalian artikel ini: sistem Linux 5.18.14, komputer DELL G3.

Inti Linux mempunyai fungsi utama Fungsi utama ialah titik masuk program Utama ialah nama antara muka yang dipersetujui antara aplikasi dan sistem pengendalian, jadi fungsi pertama setiap aplikasi dalam Linux mestilah utama.

Inti Linux ialah teras sistem pengendalian Ia bertanggungjawab untuk melaksanakan pemacu, tugasan permulaan, mengendalikan ralat, mengurus memori dan fungsi asas lain sistem pengendalian untuk sistem. Artikel ini akan memperkenalkan fungsi utama yang penting dalam kernel Linux.

Fungsi utama adalah di bahagian atas kod kernel Linux. Fungsi utama bertanggungjawab terutamanya untuk mendapatkan pembolehubah persekitaran sistem daripada Blok Kawalan Kernel (KCB) dan memulakan modul yang diperlukan oleh sistem (pengurusan memori, pemacu peranti, dll.).

Bahasa C menetapkan bahawa fungsi utama hanya boleh mempunyai dua parameter, satu argc, satu argv Dan argc hanya boleh menjadi integer, dan yang kedua mestilah array penunjuk kepada rentetan

Oleh kerana fungsi utama tidak boleh. digunakan oleh panggilan fungsi lain, jadi adalah mustahil untuk mendapatkan nilai sebenar di dalam program. Jadi, di manakah anda menetapkan nilai parameter sebenar kepada parameter formal fungsi utama Sebenarnya, nilai parameter fungsi utama diperoleh daripada baris arahan sistem pengendalian. Apabila kita ingin menjalankan fail boleh laku,

taip nama fail pada gesaan DOS, dan kemudian masukkan parameter sebenar untuk memindahkan parameter sebenar ini kepada parameter rasmi utama. Bentuk umum baris arahan dalam gesaan DOS ialah:

C:>parameter nama fail boleh laku... Walau bagaimanapun, perhatian khusus harus diberikan kepada fakta bahawa kedua-dua parameter rasmi utama tidak sama kedudukan sebagai parameter dalam baris arahan. Parameter

argc: yang sepadan mewakili bilangan parameter dalam baris arahan (perhatikan bahawa nama teks itu sendiri juga merupakan parameter

rgc secara automatik ditetapkan oleh sistem mengikut bilangan parameter sebenar apabila memasuki baris arahan

argv: Parameter ialah tatasusunan penunjuk rentetan dan nilai setiap elemen ialah alamat pertama setiap rentetan dalam baris arahan (parameter diproses sebagai rentetan) . Panjang tatasusunan penunjuk

ialah bilangan parameter. Nilai awal elemen tatasusunan ditetapkan secara automatik oleh sistem

Analisis kod sumber kernel Linux bagi fungsi utama

1. Fungsi utama ialah masuk ke dalam bahasa C hanya satu konvensyen, bukan peraturan yang kekal Undang-undang besi yang tidak boleh diubah! Berdasarkan kod pemasangan yang lebih penting bagi program, hanya dipersetujui bahawa selepas pemasangan dimulakan, ia melompat ke label bernama "utama"; implikasinya ialah label ini juga boleh dinamakan semula untuk Linux ialah start_kernel ( ); Dari alamat label ini, dunia bahasa C telah berakhir. Nama utama hanya digunakan kerana persetujuan semua orang Tidak mengapa jika anda tidak mematuhi perjanjian, sama seperti kabel pengecas Apple dan lain-lain yang lain.

2. Tiada pelbagai fungsi utama semasa penyusunan! Walaupun setiap aplikasi mempunyai fungsi utama (dari perspektif aplikasi, titik masuk aplikasi adalah fungsi utama namun, aplikasi disusun secara bebas dan tidak akan disusun bersama, dan kernel sistem pengendalian lebih kecil kemungkinannya); untuk berinteraksi dengan aplikasi Disusun bersama! Jadi tidak ada konflik antara berbilang sesalur sama sekali! ! Ia mungkin antara muka bersatu antara sistem pengendalian dan program aplikasi, atau ia mungkin kesan sampingan mengatakan bahawa utama ialah titik masuk program Utama ialah nama antara muka yang dipersetujui antara program aplikasi dan sistem pengendalian. Jadi fungsi pertama setiap aplikasi dalam Linux mestilah utama. Melainkan anda menukar antara muka penjadualan kernel.

Atas ialah kandungan terperinci Adakah terdapat fungsi utama dalam kernel linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn