Apa yang berlaku dalam penjadualan proses di Linux: 1. Pada saat peralihan keadaan proses, penamatan proses, tidur proses, proses itu perlu memanggil fungsi seperti "sleep()" atau "exit()" ke melaksanakan peralihan keadaan pemacu peranti melaksanakan tugas yang panjang dan berulang , hubungi terus penjadual 4. Apabila proses kembali ke mod pengguna daripada gangguan, pengecualian dan panggilan sistem.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Penjadual Linux ialah fungsi yang dipanggil Jadual(), yang menentukan sama ada untuk menukar proses. Apa yang dipanggil pemasaan penjadualan merujuk kepada keadaan di mana penjadual dilaksanakan.
Penjadualan proses Linux menggunakan multitasking preemptive, jadi penggantungan dan proses yang berterusan tidak memerlukan kerjasama antara satu sama lain.
Terdapat terutamanya situasi berikut:
Detik peralihan keadaan proses: penamatan proses, proses tidur;
Proses perlu memanggil fungsi seperti sleep() atau exit() untuk peralihan keadaan. Fungsi ini akan secara aktif memanggil penjadual untuk penjadualan proses; >Proses semasa Apabila hirisan masa tamat (semasa->counter=0); situasi dan masa 4 adalah sama.Apabila pemandu peranti melakukan tugas yang panjang dan berulang, penjadual dipanggil terus. Dalam setiap gelung berulang, pemandu menyemak nilai need_resched dan, jika perlu, memanggil jadual penjadual() untuk melepaskan CPU secara aktif.
Pengetahuan lanjutan
Mengapa penjadual dipanggil apabila kembali daripada panggilan sistem?
Sudah tentu ini adalah atas sebab kecekapan. Kembali daripada panggilan sistem bermakna meninggalkan keadaan kernel dan kembali ke keadaan pengguna, dan peralihan keadaan mengambil masa tertentu Oleh itu, sebelum kembali ke keadaan pengguna, sistem telah menyelesaikan semua perkara yang perlu diproses dalam keadaan kernel.jadual(): Fungsi penjadualan proses, yang melengkapkan pemilihan proses (penjadualan); ialah komponen utama rutin perkhidmatan gangguan jam Kekerapan di mana fungsi ini dipanggil ialah kekerapan gangguan jam, iaitu 100 kali sesaat (dirujuk sebagai 100 Hz atau 100Hz); (): panggilan sistem Fungsi kembali.
Apabila panggilan sistem atau gangguan selesai, fungsi ini dipanggil untuk mengendalikan beberapa kerja penamat, seperti pemprosesan isyarat, tugas teras, dsb.
Pembelajaran yang disyorkan:
Tutorial video LinuxAtas ialah kandungan terperinci Dalam keadaan apakah penjadualan proses Linux berlaku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!