Rumah  >  Artikel  >  Tutorial sistem  >  Apakah proses yang ringan? Artikel ini akan memberi anda pemahaman yang lebih mendalam

Apakah proses yang ringan? Artikel ini akan memberi anda pemahaman yang lebih mendalam

王林
王林asal
2024-07-24 09:38:191112semak imbas

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.

内核进程和内核线程_linux内核多线程_linux进程与线程 内核

linux内核多线程_内核进程和内核线程_linux进程与线程 内核

2. Id proses dan id proses yang ringan

linux内核多线程_linux进程与线程 内核_内核进程和内核线程

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.

内核进程和内核线程_linux内核多线程_linux进程与线程 内核

3 Hubungan antara LWP dan benang yang dicipta oleh pthread_create

linux进程与线程 内核_内核进程和内核线程_linux内核多线程

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!

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