Rumah > Artikel > Tutorial sistem > Apakah proses yang ringan? Artikel ini akan memberi anda pemahaman yang lebih mendalam
1. Apakah itu proses ringan
Sebelum memahami proses ringan, kami memerlukan proses dan benang terlebih dahulu. Kita semua tahu bahawa proses pada dasarnya adalah koleksi pcb, ruang alamat maya, jadual halaman dan data kod, iaitu, koleksi data kernel + data kod. Ia kelihatan seperti ini dari perspektif pengguna. Dari perspektif CPU, proses ialah unit yang memperuntukkan sumber sistem. Bagi utas, ia dilaksanakan dalam proses dan merupakan unit asas panggilan sistem pengendalian Walaupun CPU tidak mengetahui proses atau utas mana proses linux dan inti utas semasa penjadualan, ia hanya mengenali struktur pcb. Iaitu, versi Linux aliran pelaksanaan, dan perkara ini adalah benang. Sistem pengendalian yang berbeza mungkin menggunakan bentuk struktur yang berbeza untuk melaksanakan benang. Di bawah Linux, struktur benang dan struktur proses adalah konsisten sepenuhnya. Ini menyebabkan memori video PCB di bawah Linux menjadi lebih besar daripada atau sama dengan sistem pengendalian lain. Ini menyebabkan volum proses Linux lebih besar daripada sistem pengendalian lain Proses ini adalah proses yang ringan. Perbezaan utama antara proses ringan (LWP) dan proses biasa ialah LWP berkongsi ruang alamat yang sama dan sumber lain seperti fail terbuka, dsb. Oleh kerana beberapa sumber dikongsi, proses ini dianggap ringan berbanding proses biasa lain dan oleh itu dinamakan proses ringan.
2. Id proses dan id proses yang ringan
Pertama sekali, adalah pasti bahawa ID proses pastinya bukan ID proses ringan Hanya apabila proses hanya mempunyai satu aliran pelaksanaan tunggal, dan pada masa ini proses hanya mempunyai satu utas utama, ID proses dan ringan. ID proses pada masa ini juga Ia hanya lwp yang sama. Dalam kes lain, benang mempunyai proses lwplinux dan kernel benang, dan CPU juga menjadualkan lwp semasa menjadualkan.
3 Hubungan antara LWP dan benang yang dicipta oleh pthread_create
Apabila program memanggil fungsi pthread_create(), ia mencipta LWP baharu. LWP baharu ini digunakan untuk melaksanakan utas yang baru dibuat dan berkongsi sumber proses yang sama dengan utas lain. Oleh itu, kita boleh menganggap thread yang dicipta oleh pthread_create sebagai sejenis LWP yang dicipta dalam program.
Dalam erti kata lain, LWP sepadan dengan utas yang dicipta oleh pthread_create, dan utas yang dicipta oleh pthread_create adalah bersamaan dengan LWP dalam sistem.
Atas ialah kandungan terperinci Apakah proses yang ringan? Artikel ini akan memberi anda pemahaman yang lebih mendalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!